Saturday, August 21, 2010

Building a desk

I was talking with colleagues recently about the various types of cloud services and realized that it's not exactly easy to articulate the types - after all, it's all cloud, right?  During the discussion, I hit on the following analogy: let's say you want a desk.  You have three basic options:
  1.   Buy the desk pre-built, selecting basic items such as color and finish
  2.   Buy a kit to build the desk, using pre-defined options for the top, legs, and other components
  3.   Buy the raw materials and build the desk from scratch to your specifications
In the cloud, option 1 is equivalent to Software-as-a-Service, or SaaS.  What you want is basically ready to go, and you can make minor configuration changes to better suit your needs.  You will probably also pay less for use of such a standardized service.

Option 2 is analogous to Platform-as-a-Service, or PaaS.  You're given a larger range of options to develop a more customized experience within the provider's range of options.  For instance, you may have only 1-2 options for programming language, database platforms, or integration with other applications.  You'll also pay more for the service because of the necessary development effort, but it may be worth it to gain the functionality you need.

Option 3 is equivalent to Infrastructure-as-a-Service, or IaaS.  Starting with "raw materials" such as CPU, RAM, disk, and network bandwidth, you can build a complete server farm in the cloud.  You have full control over the operating system, security, data, and applications in your IaaS environment to configure and customize to your fullest advantage.  However, you'll need not only developers but systems and network administrators to manage the environment, raising the cost yet again.

Ultimately, your needs (and those of your company) should determine which cloud service type is best for any given service.  Because the cloud ecosystem is rapidly changing, what works today may be unnecessarily complex tomorrow.  As long as your data and applications remain portable (by using standard protocols and languages), you should be able to continually move to the best service for your specific (and evolving) requirements.

No comments:

Post a Comment