Montag, 7. September 2009

Cloud computing vs. traditional hosting

Over the course of the last year, I've had a few conversations with people about the difference between cloud computing and traditional hosting. I've come to realize that cloud computing can really be thought of as a natural evolution of the hosting industry, where traditional hosting was the first step. A cloud computing provider usually supports a much wider variety of services on top of traditional hosting. This article does a good job explaining some of the differences. Perhaps the following analogy is appropriate: buying the services of a traditional hosting provider is like renting a set of electricity generators, whereas a cloud computing provider provides an electric power grid. The idea is that a cloud computing provider makes it extra easy to treat computing resources like a pay-as-you-go utility service.

What then are the extra services that takes cloud computing one step beyond traditional hosting? Here are a few:


  • Load balancing: a flexible set of computing resources can all be transparently load-balanced behind a virtual router.

  • Content Delivery: the work done by a content delivery network can all be done transparently by a cloud computing provider, such as Amazon CloudFront.

  • Failover: if your data is load-balanced between multiple data centers, and one data center goes offline, a cloud computing provider should be able to failover the traffic from one to the others. (If they can't now, they should provide this service. :))

  • Scalability: the number of compute resources used should automatically scale up or down based on demand.

  • Tooling: with the advent of mainstream cloud computing providers, the tooling has improved tremendously. For example, Windows Azure tools allow developers to test everything out locally and easily deploy to the cloud, and thus enabling people to easily build scalable services.



Last, but not least, everything above is geared towards businesses. What about cloud-computing for consumers? In that space, it's the applications that drive a platform--applications such as Microsoft's Live Mesh, ubuntu one, etc.