Virtualisation is the power behind all cloud services. The ability to run multiple servers that provide services to power your cloud applications is the only way to provide services without turning complete cities into datacenters. The rate of hardware development is giving you the ability to run more then 20 virtual servers on one single physical server (offcourse this does depend on the memory and cpu requirements of the virtual servers and what you have available on the physical). Altho you often lose a little bit of performance in virtualizing the servers compared to physical, but the loss does not compare to the amount of savings from running more servers on one piece of hardware as well as the high availability levels that can be reached with most hypervisors. In the end the much more effective use of the hardware, together with the savings in space, power usage and heat consumption makes it a win-win situation. The few scenario’s that remain that cannot deal with the small loss of performance can simple be put on bare-metal and because the remainder of the environment is still virtualized the total loss is minimal.

For a service provider, if you haven’t started virtualizing your environment and started offering virtualized services, be it virtual servers or applications, by 2013, you’ve missed the boat and are lagging behind. The amount of service providers offering virtual servers and applications has become so fast that the amount of money to be made is no longer in that platform, but in the value-added services. Like management of the customer platform, full application support and so on.

If you still have to virtualize your environment, your in for some difficult choices. What hypervisor suits my needs and do you want to provide a self-service portal to your customers?

You have many to choose from, like vSphere, HyperV, XenServer, KVM (to name the most popular) and if applicable, what self-service portal to provide your customers like vCloud, Cloudstack or perhaps some custom brand? Do you want to simply offer VM’s or also create much more services on the platform and consider solutions like OpenStack? These are serious questions you need to ask yourself and the answers have serious impact on the entire architecture you need to build or buy.

Much of these architectures have been thought out by people that we’re in front of the same questions, and have shared these online. But keep in mind that there is never “one answer” to your question. There is always more then one way of work, but all ways have their pro- and cons.

Now keep in mind that once the choices have been made, you’r often stuck with them. Microsoft and VMWare love telling you that migrating to their products is easy, but the reality is that it never is. Microsoft even will offer you money and engineers if you migrate to HyperV, but if you do the math you’ll find that you’re still on the short end of the bill and will be paying for the biggest part of the migration. Also your own engineers will need to go back to training to be able to manage the new hypervisor. Engineers managing one or two hypervisors are not uncommon, but to keep the knowledge of more then one hypervisor up to date is a task that most engineers are not up for.

For me, i love working with hypervisors and the underlying hardware stack. The storage, networking and compute hardware must match the hypervisor of choice and for me the most favourite hypervisor is vSphere. I’ve played around with other hypervisors and when setting up a cloudstack environment i’dd recommend XenServer or KVM. But for reasonably big environments (1000+ VM’s) i simply love the vSphere way of working. It’s simple, supported by all the big vendors in the business and the basics are easy to learn.