How to build a perfect private cloud with Windows Server 2012
Microsoft's handy kit
So you want to build a Microsoft-based private cloud. While using the latest software is not always the best move (never use version 1.0 of anything) Microsoft's 2012 stack of products is mature, stable and capable of meeting all your cloudy needs.
Let's take a look at what's required for a private cloud in Microsoft's world.
It's all about the apps
In a Microsoft world, what you want to virtualise determines how you design the infrastructure that underpins it. If you need real-time, continuous high availability or fault tolerance, you need to determine if this exists at an application level, or if you will have to try to provide it at an infrastructure level.
Application-level fault tolerance – such as SQL replication, which can now include replication to Microsoft's Azure cloud – is usually preferred. It typically means far greater flexibility in your configuration options, including full hybrid-cloud and WAN deployments.
Microsoft's massive investment in making true software as a service delivery possible – IIS8, SQL server, Hyper-V 3.0 and System Center Virtual Machine Manager being one great combination – make services an easily deployable, environmentally aware option.
Think about storage
Before we even consider lighting up virtual machines, we need to think about where they will live. Knowing what degree of high availability or fault tolerance we need allows us to make educated decisions about the storage that will underpin them.
For a truly fault-tolerant infrastructure, Server 2012 ships with Cluster Shared Volumes (CSV). While thin provisioning of virtual machines on CSVs is supported, deduplication is not.
If you are using Server 2012 as the storage underpinning your private cloud this can be a critical consideration, especially in virtual desktop infrastructure scenarios.
Microsoft is aware that this is a compromise some systems administrators will not like, so offloaded data transfer (ODX) support has been baked into the operating system. If you decide you need a third-party filer to bridge the feature gap, ODX can save huge amounts of both network bandwidth and CPU time by instructing filers to carry out various operations internally.
Not only does this increase the flexibility of Server 2012 as the host hypervisor running your cloud, the availability of – and support for – these features in guest environments allows for additional redundancy configurations from within the virtual machines.
For those using thin provisioning – which I suspect is most of us – the disk defragmenter is Unmap aware, making it directly compatible with thin-provisioned VHDX files.
This is important because fragmentation of virtual disks is the only downside to thin provisioning; with a little attention, Server 2012 can be set up to minimise the issue. The full thin provisioning benefits now also apply to both virtual IDE and virtual SCSI-attached disks.
For workloads that are not so mission critical, there's Hyper-V Replica. This takes a snapshot of a virtual machine and replicates it to another host.
It then shuffles change blocks along, ensuring that the backup copy of your virtual machine takes five to 15 minutes to catch up with the prime instance, even if you are replicating over the WAN. Replica also supports versioning.
Server 2012 is increasingly virtualisation aware, with services roles such as Active Directory Domain Controller being capable of detecting if they have been rolled back to a previous version via Replica or are clones of a previous domain controller template.
This dramatically increases the utility of technologies such as Replica while decreasing the need for truly fault-tolerant virtual machines to occupy precious CSV space.
Those virtual machines for which Replica is a good fit are also likely to be a good fit for storing on systems without CSVs. This allows you to take full advantage of both thin provisioning and deduplication, while still maintaining important core functionality such as virtual machine migration via Hyper-V 3.0's shared-nothing migration.
That's right: unless you have a burning need for zero-downtime fault tolerance, you can do without shared storage to make Microsoft's 2012 stack do infrastructure-as-a-service-like cloudy things.
Server 2012 can also store virtual machines on SMB 3.0 shares, further reducing cost and complexity for various deployments. Reliability is not an issue here: SMB 3.0 has gained a number of features, including MPIO for resiliency and remote direct memory access for speed.
Underpinning the whole shebang is Storage Spaces, Microsoft's second go at storage virtualisation. While it sheds some of the features of its beloved Home Server predecessor Drive Extender, Storage Spaces is far more reliable and entirely enterprise ready. It allows you to abstract how the storage is connected to the host from how it is delivered to applications and services such as Hyper-V.
Knit your own solution
Once you have your availability and storage requirements sorted, the last piece of the puzzle is System Center 2012 SP1. This plugs into the various features of Server 2012 to do such things as push the hypervisor onto bare metal, join the newly installed system to the domain and get all the initial settings configured for use with the rest of the cloud.
Cluster-Aware Updates combine with System Center's various features to ensure that outages of the host – be they scheduled for updates or unscheduled because of a power failure – are handled smoothly and with minimal disruption to running virtual machines.
System Center orchestrates not only the flow of virtual machines across your infrastructure, but is aware of the contents of those virtual machines, enabling you to break your virtual machines down into tiers according to the features and services they need.
There's more – much more – to explore in Microsoft's 2012 stack. It all depends on your requirements. If you are comfortable living in a powershell-only environment, you can build a private cloud with Microsoft's free Hyper-V Server. To use the oft-abused car analogy, consider this the systems administration equivalent of building your own fleet of cars from parts.
If you want basic virtualisation management tools, Server 2012's Remote Server Administration Tools can provide able service. This is like maintaining a fleet of cars that came handily pre-assembled from the factory.
If the previous two options are the equivalent of maintaining a fleet of cars, System Center 2012 is like automating the management and monitoring of every train in the country. It is the difference between hypervisor-plus-management and a true private (or even hybrid) cloud. ®