Sunday, February 05, 2012

Google Appengine - Seriously Google, Don’t be evil!

It was good while it lasted, Google AppEngine gave developers an easy way to create web applications without worrying about scaling it or being a sysadmin. There were numerous startups that built their products on Google Appengine. Even after beta, there was a fairly large free quota that made it a reasonable choice. But, the current pricing seems a bit ridiculous for those who are looking for a free or cheap solution or for those enjoyed the initial quotas. Perhaps, we were spoiled and Google’s goal is to get rid of free-riders which is not exactly evil from Google’s perspective.

So, it is 2012 and welcome to reality since Google can’t maintain those quotas forever and the current free quotas are intended to only test your application before you go live. If for some strange reason, your application becomes popular and gets more than 1,000 users, you would end up scrambling for an alternate solution since you will find yourself paying through the nose. The quota system is complicated than is necessary from user's perspective and with constant changes to the billing policies it gets more confusing. This is even more painful since you probably have already worked around those SQL limitations in AppEngine store, quota restrictions and lack of file access, time restrictions etc. Frankly, save yourselves the trouble and gain control of your business. Stay away from Google’s AppEngine to begin with.

It is definitely useful for simple apps for your friends and small businesses with sufficient funding as long as you are not hugely successful. There are also open source alternatives to host Google Appengine code like AppScale, but then why bother? Why don’t you just start with a clean slate and pick the right technology stack that gives you the flexibility and control from day one! Obviously, don’t take this as the right answer for everyone, there is a market for the product which is probably why Google is able to raise the prices multiple times and still be successful. I had also seen similar blogs where people commented RTFM, why did you choose to stick with a locked in solution, were you stupid etc if you complained about GAE.

I am hoping this blog helps some small startups out there who is evaluating whether to use Google AppEngine stack or not for a complex web application. The startup companies usually have strong technical talent, but has limited cash. It is easy to get to 1,000 users, especially with free apps. Startups also aim to make profits by gaining millions of users, so beware of Google AppEngine. Don't lock your future to Google. Still, if you have limited users or you are willing to pay for AppEngine usage which is higher than other options available, then Google Appengine is the right choice because it offers a lot of convenience for the non-Linux savvy user. It is also good for quick prototyping as long as you are happy with the sandboxed environment.

Other options include Amazon EC2, AppScale, Windows Azure, Salesforce.com, Apache Hadoop, Joyent etc.

Finally, Google does seems to be having an evil streak nowadays with the change in privacy policy, Kenyan scandal, OpenMaps accusation, not indexing competitor content from Twitter, Facebook etc. It may be a sign of growing up, perhaps new start-ups should stay away from such mottos! , Sure, Google has done a lot of good things to developers like open sourcing everything that helps their business model (search code is still closed), Android is open sourced with a hidden whip, users got a lot of free web apps that in turn helped its search empire etc. I do have a lot of respect for Google as a technical company that gave us Pagerank, MapReduce, GFS, Maps etc. But, with AppEngine Google is squandering away the goodwill from a lot of successful developers and early adopters with regular "planned" price increases, system downtimes etc.