October 15, 2010
App Engine For The Enterprise?
Low Level Infrastructure ------> High Level API
At the low level, you have to worry about how you are going to scale your application and the exact technology stack needed for your particular application. This is essentially what is being offered by various virtual machine cloud providers: Amazon EC2, Rackspace Cloud, and others. You have to figure out what VM you want to run (ie pick OS: linux flavor, windows), and what goes inside the VM (mysql/postgres/couchdb/other db, apache, lighthttpd, j2ee, IIS), how many nodes you want to have for failover and scalability, how many tiers you need to scale, etc. This gives you ultimate flexibility, but requires a LOT of extra architecture work. This comes at the expense of agility.
At the mid level of the spectrum, you have something like Windows Azure. You get to use familiar development tools and components (SQL, asp.net). But you still have to think about the architecture: how many worker/web/db nodes you want to have, some design of the schema.
At the highest level of architecture abstraction you will find Google App Engine. As a developer on this platform you don't have to worry about configuring VMs, figuring out the number and size of logical tiers. You are able to focus directly on solving your business problem. To Be Continued...