It’s all about the Cloud Manager.
According to NIST the characteristics of a cloud include Elastic, Broadband Access, Measured Service (Pay as you go), Self Provisioning and Pooled Service. All of the cloud modes can meet the 5 characteristics. But what makes a virtualized environment a “Cloud”.
This is a fairly common question. After all you could slap together a hypervisor based infrastructure and have 3 to 4 of the characteristics of a cloud and be able to offer Infrastructure as a Service. However to meet NIST’s and what I think what has become the common definition of a cloud you need all 5 attributes.
This is where the Cloud Manager comes into play. All of the major Hypervisor providers will give you the tools you need to provide an Elastic, Pooled Service available via Broadband. It’s the Measured Service and Self Provisioning that introduces the challenge.
Most people think of the cloud manager as the interface to the cloud provider’s service portal. The cloud manager is actually the orchestration layer that ties the entire infrastructure together to enable your cloud offering.
The Cloud Manager enables the accounting for measuring service as well as the ability to orchestrate the provisioning of services once a user requests resources. The orchestration of the provisioning attribute is an extremely complicated workflow to automate.
Think about everything that needs to happen in an infrastructure as a service. A user requests a VM with 80GB of disk space, 2GB of RAM, 2 CPU Cores and a public IP. All of these resources need to be provisioned in multiple systems and the accounting needs to be tracked throughout the life of the VM. The Cloud Manager needs to communicate with the Hypervisor, Storage and Network. In addition, if the environment is built on VMWare the orchestration layer needs to be aware of DRS and vMotion.
Now let’s complicate it a bit more. Let’s say you want to offer varying levels of service. You might decide to offer fast storage vs. slow, highly redundant vs. economical compute. This means the orchestration between the cloud manager and infrastructure needs to me even more capable. In IaaS environments selecting a product to fulfill all of these needs can be difficult. If you add the requirement that your solution be open to multiple Hypervisor platforms it further limits the list of available products. This is one area where an all VMWare solution may not be an option as vCloud Director has its short comings in addition to being dependent of all VMWare compute layer.
Software as a Service and Platform as a Service can be even more complex depending on how the backend of the solution is provisioned. I have yet to see a mature off the shelf solution that addresses SaaS and PaaS.
So it’s all about the Cloud Manager. When investigating a private, community of public cloud don’t underestimate the importance of the “user interface”. It’s actually the heart of your project and the area you’ll most likely spend the most time.