iconwrite About the switch to Google AppEngine

May 13, 2011, 16:46

As some of you might know, my previous server was a 19.99 € Kimsufi server from OVH. This poor server had my main website but also all associated services (seen from my apss).

It worked fine (and I would recommend OVH overall) but it brought some issues:

  • Security: having your own linux server is a constant worry. Even if you lock everthing down it'll always be a worry that I'd rather leave to others.

  • Maintenance: this is basically the same as the first issue. having to run updates, fix dependency issues and overall server administration was just eating away my precious time.

  • Scalability: With hundred of thousands of requests daily, one little server was feeling the hurt (and I wasn't saving anything to the server!). I could get more servers, more powerful servers, but in the end this would be a bigger maintenance and security hell.

  • Pay what you use: with every thing being counted (datastore access, requests, CPU) you have perfect control over your costs. You define a budget and they alert you if you're closing to reaching it. The free quota is pretty big so you can host a website with a lot of traffic for free. My website would be free if not for the recently added custom statistics. If you use memcache wisely and batch datastore accesses you can keep costs down. If you optimize your code, it will be cheap. As of today I am currently paying 0.30 $ per day for about 400'000 sessions (all my apps log sessions anonymously just so I can have stats per OS version, language, or device model).

  • Stability: Running on AppEngine doesn't dispense you from making backups but with my (small) amount of data I can just run a command line from time to time to get all the DataStore back. Having linux machines is much more worrying. The last time I had a disk crash, re-installing everything from backups was a real pain. With Google in charge of my data I don't have that worry anymore.

The downsides?

  • Complexity: Having played with Google AppEngine I had learned how to deal with it. It's not really easy when you come from a PHP/MySQL background. The reasons are mostly that it is designed for scalability, which is something that would make your LAMP system just as complicated and frankly I trust Google engineers better than myself to care about this issue.

  • Trust the Holy Google: This may be the argument I heard the most against using AppEngine or anything you don't control entirely. I know people are afraid of the cloud but honestly, I trust Google. Not in the sense that I trust them 100% with my privacy but rather that I trust they are hugely competent and their system will not go down in flames anytime. I use Taxis because I trust they drive better than I do, when it comes to managing hosting, I am pretty sure the Google guys are better than I am.

  • CPU usage: Of all the costs associated with AppEngine I think CPU (API CPU) is the most restricted resource. Saving thousands of entries in the DataStore is costly so you should avoid doing it mindlessly. But then again, as mentioned above, you're free to optimize (makes batches, use memcache). Good programming helps you save money.

0 responses to this post

E-mail (will not be published)
rss Blog RSS Feed

rss Comments RSS Feed