Wednesday, April 22, 2009

The 10 "S"es of Cloud Computing

Hello again,

In my efforts to keep up with all things virtualization, I have begun to learn about Cloud Computing. The starting point for everyone on this journey is to find out "What is Cloud Computing". You will most likely find as I did in this video that there about as many definitions of Cloud Computing as there are people.

Drawing on the The Five Pillars of Cloud Computing, Cloud Computing in Plain English, Rethinking Application Delivery and other resources, I suggest that Cloud Computing is the intersection of the following 10 "S"es:
  1. Services - Infrastructure (IaaS), Platform (Paas), Software (SaaS), Storage (DaaS)... etc.
  2. Servers - Physical or virtual servers.
  3. Storage - The footprint of storage required host the operating systems, services, and data for your service(s).
  4. Service Networking - Physical and/or virtual networking.
  5. Self Service Orchestration - The ability for end users to in an a manual or automated way signup, provision, manage, use, integrate with other services (like data stores, identity services, or any other services), populate (load data), control local and geographic load balancing participation and deprovision hardware, operating systems, or services services.
  6. Self Updating - The underlying hardware, operating systems, and software services are maintained in an automated or at the very least controlled way.
  7. Service Metering - Account for services (Iaas, Paas, and Saas) consumed in as near real time as possible. Think of Google Analytics that benefits both the user and the service provider. For the user, it provides at a granular or global level the usage of the user's service(s). For the provider, it accounts clearly what and how the services are being consumed.
  8. Service Billing - Automated chargeback mechanism for metered services.
  9. Security - Although this isn't talked about much, it needs to be an inherent component of every architectural component of Cloud Computing.
  10. Service Level Agreement (SLA) -An SLA is essentially a contract between a provider and a consumer that defines acceptable terms that the provider is willing to agree to for a certain price to deliver the service to the consumer. If the provider fails to satisfy the terms of the SLA, the provider typically pays a fine to the consumer as compensation. SLA terms are typically defined in terms of availability (e.g. 99.999% uptime), response times (e.g. no greater than 1 second), or throughput (e.g. no less than 1,000 operations per second). At the present time, the main cloud computing providers offer SLAs but they are typically very weak and not par with most enterpise computing much less service provider level expectations.
I hope you find this definition useful in your pilgrimage into the world of Cloud Computing.

Regards,
Brad

0 comments: