Reply to comment

Google AppEngine - The Poor Dev's HEMI

As I've had my nose buried in PHP and Drupal for what amounts to most of the last year, Google's announcement of AppEngine took me a bit by surprise.

A few months ago, we looked into setting up a production server using S3 + EC2. The combination works well and is a fraction of the cost in comparison to the fully managed hosting we currently use. The lack of an Amazon backed persistent storage filesystem forces you to have a solid recovery plan, but in all other regards, Amazon's scalability lets us compete at a level not possible without serious infrastructure investment. From a business perspective, Amazon is cost effective and accessible provided you have some linux sysadmin talent sitting around (or are willing to hire some).

Amazon, even with it's relatively cost effective offering, still can be cost prohibitively for independent developers. In addition, if you're a two or three person shop, one of you will need to take the time figuring out exactly how to manage your EC2 instance and it's recovery scheme should downtime occur. That's time taken away from product development.

AppEngine serves to simplify the process by removing the burden of system administration. In it's current form, AppEngine is about the code, stupid. It gives you access to some DB like storage, a healthy chunk of bandwidth, and enough cycles for startup developers to jump in with a solid no-hassle back end. There are quite a few restrictions (no sockets), but generally access is quite liberal. Only major drawback I can see skimming the surface is no direct access to file storage, but S3 is quite cost effective, and something like DreamHost even more so.

Which raises the question, why not DreamHost? Or a cheap VM somewhere? It's about the scalability. Most hosting companies don't have solid scalability options for developers. It comes down to faith alot of the time that your hosting won't just pull the plug if you experience explosive growth. Their infrastructures are set up to support customers at a certain ratio per machine. Should you push that limit, it causes trouble for the other customers on your same machine. Better to kill you and deal with one lost subscriber than four.

Some of the better hosts will pull your application to a different server should you end up getting Dugg or 'dotted, but few cheap hosts offer guarantees. AppEngine does offer an assurance that should you experience explosive growth, Google will attempt to take the hit. Considering the infrastructure backing the application you have running through AppEngine, I'd say they're in a good position to accommodate you. The equivalent EC2 response to a major spike would be to spawn an additional instance of your server, then incorporate it into the load. Awesome if you've got the planning in place, and the strategy ready to go.

Ultimately, the real strength of AppEngine is separating the developer from the sysadmin. Google simply takes care of that for you, provided you're willing to play in the sandbox they create. I wouldn't call AppEnginea direct competitor to the EC2 + S3 combination, as Amazon provides vastly more flexibility for use and presentation.AppEngine is very attractive for developers with an idea and little resources tho, and gives them the option of a better nights sleep without worrying about developing a support structure from the start.

Reply

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options