Private Clouds – Overview
IaaS or Infrastructure as a Service enables the provision of Infrastructure at the click of a button. When most people talk about cloud they mean public cloud, and they mean Infrastructure as a Service. However this doesn’t just need to be done by a cloud service provider like Amazon or Microsoft. You can replicate the same service on the infrastructure in your data centre by building your own private cloud.
You can get the cloud definitions in the NIST document. This is what Azure, Openstack, etc are offering with their cloud platforms
With a platform like this you can create applications that understand the infrastructure. You can use API’s to custom write applications to use the computing nodes, object storage, etc. in a way that wasn’t previously available. The decision on cloud platform is critical here because for the most part the API’s aren’t portable. (not strictly true but more or less true)
Exciting stuff. But lets take a breather and a reality check. Most enterprises aren’t doing this. Whizzy media companies or organisations on the bleeding edge of technology are trying this. Most organisations are provisioning standard VM’s in the cloud with their existing legacy software. It isn’t the new technology that gets them excited. It’s the speed of infrastructure provision and the ability to move to a pay per use model that gets people interested.
What does a Private Cloud look like?
Lets take a look at how IaaS works within the Enterprise Datacentre
You can see in the image that everything is performed using Orchestration software. There are lots of options available; HP’s Cloud Service Automation, Microsoft’s System Center 2012 Orchestrator or vCloud Director from VMWare. The Orchestration tool (also known as Automation software) will use standard API’s to run scripts that allocate physical or virtual hardware, and then provision an operating system. And part of that build will also provision the right agents into the OS for backup, monitoring, etc.
Standardisation is a must for IaaS
The key to technology delivery is not just the technology but the people as well. For automation software to be effective then your organisation will need to agree a few standard builds. If there is a different OS build for every application or system then there’s no point trying to automate it. You’ll spend more time orchestrating the different components than it would take to provision things by hand. Amazon’s AWS public cloud provides a specific set of template builds –
SSD Storage (GB)
|c3.large||2||3.75||2 x 16|
|c3.xlarge||4||7.5||2 x 40|
|c3.2xlarge||8||15||2 x 80|
|c3.4xlarge||16||30||2 x 160|
|c3.8xlarge||32||60||2 x 320|
You will need to do the same if you are trying to provide a private cloud for IaaS in your organisation.
To move from IaaS to PaaS then you’ll want to start overlaying software on top. This becomes more difficult because the server guys are asking the software admins (DBA’s, etc.) to relinquish control of their installations and decide on a standard build.
People are much harder to change than technology.
What sort of service are you offering?
The “as a Service” terms gets bandied about a lot without thought about what the description actually means.
When a customer pays for a service, they don’t care about this bits and bogs, the cogs in the machine, they are just paying for the outcome. Also consider that when you pay for any kind of service you are sacrificing choice for convenience. For example if you choose a company car instead of taking the car allowance you get free insurance, free tax, free servicing, free consumable parts (like tyres), etc. But you are constrained by the cars that are available. You usually can’t choose any kind of make / model and customise your car. You have to choose the specific cars that have been made available through the service. The same happens in IaaS – you will make some specific operating system builds and they will always be used. Choice is sacrificed for convenience.
In building a private cloud, the IT team is also changing what they do for the business. In the old model you are keeping a server up and running. When you move to an “as a Service” model, you are now offering a service. What does that mean? How quick / responsive will the service be? What does it offer – High Availability / DR/ etc? How much downtime will happen with this service? Descriptions of things are important because the infer meaning. By calling something a service, the IT department needs to have a good think about what they are actually offering.
How will people use your service?
Part of the sales pitch around Private Cloud / IaaS is the self service automation and chargeback. The idea is your “customers” (i.e. people in other departments) will log into a portal and request a new operating system
This approval then gets routed through to an IT person or a finance person for approval and once approved then the software will provision the infrastructure. Part of that build process will also have a duration on it. Development environments are notorious for never getting removed once they are provisioned. By provisioning items through a portal, the request can have a time limit on it which comes in as part of the approval. Once the environment isn’t used anymore then it will get torn down. In the mean time the project or department is getting billed appropriately for the IT resources they are using
In reality what a lot of IT departments are doing is making the portal only available to themselves. Capacity planning is typically an immature process in many organisations. So there’s a nervousness around letting anyone in the organisation request infrastructure willy nilly without IT oversight.
The second fly in the ointment is that many organisations are able to cross charge departments. So the chargeback just becomes a line item on a report where IT is able to show who is using what, even if they aren’t actually billing for it.
Private Cloud – Summary
To recap then, to build a private cloud in your data centre you need
- Orchestration Software to build your physical or virtual hardware
- Standard builds to reduce the amount of work required to automate the environment
- Define what your services are and who you’re going to offer them to.
The two biggest problems that enterprises face when trying to build a cloud is thinking it’s a technology project and trying to boil the ocean in the first go. If you don’t bring the people and the organisation with you then your project is doomed to failure. Automation and Orchestration is a tricky and complicated beast. Take baby steps and learn as you go along. That’s a tried and tested method for success
Good luck ;-P