Google App Engine: The missing piece of the Cloud Software revolution

With the announcement of Google App Engine, the final piece for the Cloud Software revolution is now in place. I’m excited to see how Cloud Software will foster innovation at large and especially around MindTouch Deki Wiki. Let me quickly explain what element of the cloud ecosystem Google App Engine is now filling.

CloudSoftware.pngThe chart on the right shows the three building blocks for Cloud Software: storage, engine, and processing.

Cloud Storage

Amazon has been the early pioneer with its Simple Storage Service (S3), which offers cheap, large scale storage in the cloud. Others have since followed suit and the cloud storage model has been evolving from binary data (S3) to messages (Amazon Simple Queue Service) to structured data (Amazon SimpleDB, Google BigTable). These services enable others to store and handle large volumes of data on demand and at incremental cost. However storage services do not provide behavior around data: information is simply retrieved, updated, and deleted. That’s it. Nonetheless, without this foundation, Cloud Software would not be happening today.

Cloud Engine

Google is the first company to provide a scalable request-driven application engine. Google App Engine (GAE) is perfect for creating web-services and application front-ends, which constitute the large majority of online destinations. However, Google App Engine has its limitations. For instance, it is not possible to create your own crawler or web-analyzer, as this class of software requires something that Google App Engine lacks: processing power. On the flip-side, with a request-driven model, the application only consumes resources when needed and therefore cost is linear to use.

Cloud Processing

Amazon Elastic Compute Cloud (EC2) fills the need that Google App Engine lacks: autonomous processing power. Since EC2 provides full-fledged servers, these can be used to crawl content, compress video, and analyze vast amounts of data. Multiple EC2 instances can be launched for distributed computing using Hadoop map-reduce algorithms to crunch through data in record time. However, with EC2, you pay for processing power even when you’re not using it, hence the need for Google App Engine.

For MindTouch customers and community, it’s probably obvious why I’m excited about this. Cloud Software is the model that we have embraced with Deki Wiki, which is a true web-oriented application integration platform. Already today, Deki Wiki provides the ability to store file attachments on Amazon S3 regardless if you host it online or behind the firewall. Furthermore, MindTouch provides an Amazon Machine Image (AMI) of Deki Wiki that launches a new instance in seconds. The image is pre-configured with all prerequisites installed and can even update itself when needed. Since Deki Wiki crawls and indexes content autonomously, it needs a full processing environment such as EC2. Finally, Deki Wiki extensions are web-services that are equally at home on an intranet or the internet. Since extensions only rely on XML and HTTP, they are completely platform agnostic (meaning, you can chose your favorite programming language). Google App Engine is the perfect environment to host Deki Wiki extensions and as the service gets rolled out to more developers, MindTouch will make sure to provide the tools to easily add new functionality to Deki Wiki using Google App Engine.

The sun is quickly rising on Cloud Software and I can’t wait to see the opportunities it will bring to our customers and our community!


  1. Excellent summary on cloud computing. You have succinctly and elegantly described the major players and what they have to offer and the benefits. I still have some associates who still feel the need to set up separate server for the application and backups because it’s what they know and they feel more secure about it and in control of it. And while there are many situations where you still need and want your own hardware, cloud computing is opening up new possibilities, because of it’s ease of use, flexibility and costs making it a very attractive option for many applications. It’s clear why you abandoned the Dekibox in favor of the VM and Amazon S3 solutions.

    Thanks and keep up the excellent work.

  2. In addition to the scalability and cost benefits, you also get global distribution capabilities. Already, Amazon has added the ability for S3 and EC2 instances to be placed on certain continents, which greatly reduces latencies for these users. I think the situations for owning/renting actual hardware will decrease very quickly, but never go away. Just like programming in assembly language is still a necessity for some tasks despite all the wonderful progress in programming tools.

Trackbacks for this post

  1. Cloud Software « Tales from a Trading Desk
  2. There a Big difference between SaaS and Cloud Software | MindTouch, Inc Blog
  3. ExtendingExtending MindTouch Deki Wiki with Google App Engine Deki Wiki with Google App Engine | MindTouch, Inc Blog
  4. Google App Engine over lunch « I was just thinking…