Software defined … [insert technical term here] is the latest marketing phrase headlining every newsletter and event invite in your inbox. For example in recent keynotes VMware have coined the term software defined data centre, and I have to confess I am working on a software defined network demo for an event this week. However defining things with software is all very well but what does it give you and that you didn’t have before:
- A consistent way of working across a heterogeneous environment where you have multiple vendors for servers, storage, networking and applications. You might want to have a standard way of classifying and allocating storage, but you have old SANs new SANs, JBOD and so on.
- Consistent interfaces like Standard Management Interface for Storage (SMI-S) means you can automate processes, so if you set a standard for the response time of an application and have rules about what to do if that standard is close to being breached then your software will automatically do the remediation for you for example by spinning up more web front ends on a service or moving the storage to a higher standard.
Optionally you might also want to ensure that the software doing the defining has these other characteristics:
- You can easily audit what has been done to your infrastructure e.g. This virtual machine is now running on this server, this service is now running at this scale and so on
- While DevOps is another cool buzzword doing the rounds you don’t want to have to write all the interfaces, flow control and error trapping, your self in tools like PowerShell, you want a graphical automation tool that has deep integration with monitoring tools and your help desk system out of the box.
System Centre is how Microsoft defines its data centres and then sells this solution on so you can do the same for your server infrastructure. Starting from the bottom you can define the fabric in terms of CPU, Networks, and storage. You then define how this gets assigned to your business units or customers and they in turn define services that use these resources with the limits of what is allocated to them.
Services typically consist of a number of individual machines either to preserve the service in the event of a particular machine being of line and because the services has a number of tiers. Actually in this second case each layer of the service will often have multiple virtual machines to maintain availability.
Most of the software definition for the fabric (storage CPU Network etc.) and services in System Center takes place inside Virtual Machine Manager (VMM). However these definitions are exposed to the rest of System Center so that:
- The fabric and services (aka applications) can be monitored for health in Operations Manager
- This health is reported into Service Manager, the Helpdesk component of System Center, where SLAs incident and change requests are controlled via..
- Orchestrator which is the automation engine that glues the other parts of System Center together and allows auto remediation of alerts and audited controlled changes to be made to a data centre.
I mention all this because if you did spend some of the traditional summer break tidying up your data centre, then you’ll want these kind of definitions of fabric, services and process to keep it tidy. To find out how to do this you’ll want to understand the principles by watching Build a Private Cloud with Windows Server & System Center Jump Start on the Microsoft Virtual Academy and then have a look at the technology by downloading a trial of System Center 2012 sp1