Thursday, December 30, 2010

Cloud Computing

I've been reading a lot about Cloud Computing, especially regarding hosting. I am working on a personal development project that I will need to host at some point.

It seems that a lot of offerings that are branded as Cloud Hosting Solutions are really virtualization with automatic scaling of resources, as opposed to a pure cloud concept.

In my humble opinion (as someone who has just started learning about this subject), a pure cloud concept would be horizontal scaling of an application across multiple web servers and clustered database instances that automatically adapts to increased demands for resources (bandwidth, database and file I/O, etc.).

Some examples I've seen would be Rackspace's Cloud Sites and Google App Engine.

I played with Google App Engine during its infancy (when Python was the only supported language, and I found myself trying to learn Python / Django / BigTable as quickly as possible).

Most Cloud Hosting Solutions I've seen are really VPS or VM offerings, branded as Cloud Solutions. Many of these run in VMware or Xen.

Although I am a big fan of virtualization, I feel it's really a different category of hosting than a pure cloud solution for several reasons:

  1. You are still going to have to build out the server. The fact that it is virtual instead of a physical dedicated server does provide some advantages, with regards to pushing out clones for QA testing or increasing CPU / memory / HDD.
  2. Your VM will still reside in a single physical location that is subject to a single point-of-failure.
All in all, both virtualization and cloud computing are fascinating topics that I hope to learn more about.

No comments:

Post a Comment