There is an interesting thread going on in LinkedIn: How would you rank the top 5 Cloud providers ? Peoples answers are all over the map.
Far be it for me to try and add clarity to a murky situation but with everyone and their brother claiming that what they have, or previously already had before, is Cloud it is time to get some clarity on the subject. As an Architect I am always looking for a taxonomy that defines the characteristics of things and their relationship in order to simplify them
To start, pretty much everyone who is objective agrees that the National Bureau of Standards has the best vendor fud-free definition of Cloud. A lot of thought went into this definition and it is a shame to see various vendors with an axe to grind ignoring it when it is convenient.
The National Institute of Standards (NIST) Cloud Computing Model
The model defines Cloud as “Enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”
The NIST Model is composed of:
5 Essential characteristics
3 Service models
4 Deployment models
The 5 Essential Characteristics are
Broad network access
The 3 Service Models are
Software as a Service (SaaS)
Platform as a Service (PaaS)
Infrastructure as a Service (IaaS)
The 4 Deployment Models are
- Public Cloud
- Private Cloud
- Community Cloud
- Hybrid Cloud
Public Cloud is a
- Pool of computing resources
- Offered by a vendor
- Typically a “pay as you go” model
- Self provisioned
Private Cloud is a
- Pool of computing resources
- Lives in a self-managed datacenter
- Normally a measured service
- Resources may be self-provisioned
Community Cloud is a Cloud that is
- Shared by several organizations with similar requirements
- Provides a higher level of privacy, security and/or policy compliance
- Hosted on or off-premises
Hybrid Cloud is a
- Composition of two or more public/private/community Clouds
- Clouds are bound together by standardized or proprietary technology
- Distributes processing between types of clouds and on-premise data centers
A Few Comments
Every bullet point above is worthy of an exposition, however a blog post that is too long is a bad idea and may put you to sleep. Just a few comments.
My own interests
I am mainly interested in Public and Hybrid Clouds. I deal mostly with medium to large sized companies and software vendors that are just beginning to take advantage of Cloud and who are trying to determine which of their applications (or parts of applications) would be a good fit for the cloud. (See my previous blog post “You Just Might be a Cloud App”.)
Furthermore My own personal interest is also in Public Clouds that support applications developed for Windows and .NET, so that excludes a number of the public clouds that are LAMP (Linux, Apache, MySQL, PHP) or Java/Ruby only, although number of them (such as Windows Azure and Amazon Web Services) do support both.
It is too late to get things under control and get everyone to abide by common logical definitions of Cloud? Or is it too late?
What do you think?