In this three-part series, we look at what to consider in the early phases of a private cloud project.
I’ve been working for almost a year on private cloud projects and in this job I had the opportunity to implement various cloud solutions. It’s funny to see that on each project, the same questions come back. In this list of recurrent topics, I picked out for you the top 8 subjects I consider most important to discuss before implementing anything.
Before you continue reading, I suggest you look at the “Real-world journey to your own private cloud” series from Joydipto Banerjee; it gives you a more in-depth comprehension of what a private cloud project is.
Virtualization is key to the cloud; without, it simply does not exist. In a private cloud project consider this layer as an enabler.
Virtualization solutions are many and you need to consider two questions:
- Which x86 hypervisor is best for me?
For instance, if you need to scale up without depending on the pricing policy of the hypervisor provider, you may choose alternatives such as kernel-based virtual machine (KVM). KVM is free and production-ready; IBM’s public cloud (IBM SmartCloud Enterprise) uses it.
Of course this choice needs to be challenged; you will need (internal) competencies on the hypervisor of your choice – and lacking competencies is never a good thing. Either acquire those competencies or choose the hypervisor you know best!
- Does your private cloud need to support various types of hypervisors?
A classic example is when you need to deploy your private cloud across x86 and IBM System p. Even if at first you choose to only deploy on x86, plan for the future and choose a solution that supports both.
There are three questions to consider when it comes to automation:
- How do I deploy images across the cloud?
This is the provisioning part of the process. There are two types of engines:
- Traditional engines that simply automate what you would have done manually: Most provisioning tools are in this category. For instance, Tivoli Service Automation Manager or IBM Workload Deployer use this type of engine.
- Disrupting engines that speed-up deployments: This includes IBM SmartCloud Provisioning with its High Scale, Low Touch engine. It enables you to deploy hundreds of virtual machines in a few minutes, top.
- How do I build and maintain those images?
Most certainly, when you use your IaaS cloud, your images catalog will grow fast and after some time it will simply become impossible to manage. A solution such as IBM Image Construction and Composition Tool is a must-have in this area.
- How do I customize the virtual machines I’m deploying on the cloud?
Every private cloud I know of is specific. The tasks that are run before and after a virtual server provisioning are among those specifics. For instance, if you need to install or configure additional software at the end of a provisioning task you will need to script it and add it at the end of the provisioning tasks.
Three considerations have to be watched carefully here:
- Wanting to add an automated process you will rapidly see that it’s important to make everyone talk together but you should always make sure only one person is accountable for this process.
- Automating processes means development and you should make sure the people developing have the required technical competencies.
- Decommissioning should never be forgotten. Often, destroying a virtual machine means you have to update other systems so that those systems know it’s gone.
Virtualization and automation, even if key in a private cloud, are not enough. This is why my next article (Part 2) in this series will focus on self-service and chargeback.