Google App Engine took two bold steps in the right direction for cloud computing in making its datastore distributed to ensure scalability and durability and in fixing its architecture to be stateless to ensure failover and availability. To quote Henry Ford: "Any customer can have any application that is scalable so long as he builds for this fixed architecture."
To date, it has worked very well with the social web app companies, but the enterprise application development community has mostly stayed away from Google App Engine for three reasons:
- “Newness” to Google App Engine's concepts of GQL, lack of aggregate queries, denormalized schema.
- Lack of transaction support: commit or rollback on distributed storage and read consistency within transaction scope.
- Relying only on the cloud: not being able to run the same application on standard infrastructure inside your company.
It has three main benefits:
- It provides a modeling environment to build business processes and rules, datamodel using a familiar process design and spreadsheet like interface. The application that you build on this interface can be deployed on Google App Engine in a single click.
- It enhances the persistence layer of Google App Engine to support transactions and read consistency on BigTable. It makes it so transparent that there is absolutely no difference for you to build applications on BigTable or on relational databases.
- If you are a solution provider building business applications today, you may not know if all your customers will accept running applications on the cloud. Some might expect that applications run on their data center. With OrangeScape, you can build it once and run it on both - cloud and data center.