In our last post, we compared the leading cloud vendors on technology. In this post, we would like to look at the business benefits of moving to either GAE or Amazon EC2. If you believe the recent hype in the cloud space, including the Gartner reports then you would see that the cloud is here to stay. What would make sense is to keep a close tab or use a technology partner which can help you decide the merits of moving to the cloud and the strategy for successful adoption.
As a business manager you would be interested in tangible savings both in terms of cost and time to market before you decide to move to the cloud. Let us compare the two more successful cloud vendors on business benefits
Technology Adoption – This cost is more likely to be the same for both GAE and EC2 if you are using Java or Python to power your business. If you are using .Net then GAE is not an option for you at all. The cost of moving to GAE with a Java application might appear high in the beginning due to tweaking required to make your application confirm the platform specifics but this is offset quickly with the extensive set of services and capabilities provided by the app engine. Also the high availability of Java and Python skill set available in the market makes either of GAE or EC2 a good choice for you.
Administration – This is where GAE would beat EC2 hands down. There is almost no administration required on the GAE platform. This means that you would not have to spend your dollars on hiring top-notch admin guys who would be monitoring and keeping the system up. This is taken care of behind the scenes by the GAE platform team. The administration team is almost non-existent for you thereby saving a lot in terms of cost. Setting up the environment to host an application in EC2 typically involves configuring an image and deploying an instance. You can make multiple choices for the type of the machine, CPU etc etc. GAE has a very simple deployment/setup process given that it is offering a platform. You would be able to easily deploy your application to the platform using the admin console and command line utilities to upload the application.
Availability of ready services – Again this is an area where a lot of cost is incurred in terms of deploying and managing new services. Imagine the amount of time and effort you would be taking to install a memcache server environment and then the time and effort required to monitor it and use it efficiently. With EC2, you would have to set it up and maintain it. With GAE, it is already present there for use, there by saving administration and installation costs. These are services like Blobstore, Images, Mail, Memcache, Multitenancy, Oauth, Task Queues, URL Fetch, Users, XMPP etc.
Maintenance / Support – With EC2 it is required that you plan, setup and monitor various aspects of a typical hosted environment including Load Balancing, Clustering, Data Caching among other aspects and would require server management as a key part of your application management tasks. Google App Engine abstracts most of these aspects away from the application deployment/hosting process and with upper limits defined on the CPU/memory consumption on a daily basis Amazon given its wide variety of environment support requires more upfront setup/configuration time and is more complex and if you do not need all the various options provided by Amazon you could significantly reduce your effort with a Google deployment.
Pricing – Google App Engine has a pretty straightforward pricing model based on a standard set of resource parameters. EC2 on the other hand has a large number of setup, environment and corresponding pricing options. They also have options which are either resource consumption based or based on the dedicated instances that you have set up. Till date GAE was a winner providing free basic usage upto 500 MB of space and 5 million page views a month but recently EC2 also has come up with a free micro edition which stays free for a year.
II. Time to Market
Rapid Prototyping – GAE is again a front-runner on this. Imagine GAE to be the Spring framework which has done all the wiring for you and you are all set to code your business logic, point your domain to the appspot application and you are good to go. If you are looking at rapid prototyping to test the waters and quickly evaluate the market, GAE is the bet for getting to zero to hundred quickly. With EC2, you have to set up everything on your own.
Another significant advantage is the availability of ready-made and configured services. This makes green field application development a breeze thereby leading to significantly lower time to market.
Both EC2 and GAE allow you as a business manager to focus on your core business than to deal with the intricacies of technology. The cloud brings the software services to you as a utility provider so that you can focus on your core business. As I had mentioned in one of my previous posts, if you are a cargo company, would you focus on building the truck or would you focus on getting your logistics right, on time and efficiently. The cloud platforms allow you to focus on your business.
With GAE you can focus a bit more since some of your other worries such as which OS to use, which hardware to provision and which administration guys to hire does not exist anymore.
This is one of the biggest touted reasons for keeping away from the cloud providers. This is also one of the widely used arguments against GAE. This is a big myth. If you would like to move out of the Google platform, Google provides a series of articles on dataliberation.org to pretty much get away from any of their products. Moreover, GAE gives out explicit instructions on how to move away from the App Engine platform with all the data that you own. Also applications like AppScale allow applications built on GAE to be ported with ease onto Amazon EC2 or any other cloud for that matter.
The image on this post is created with the excellent tool from SimpleDiagrams.com