What System Center Can Do for Developers
Microsoft System Center 2012 is out, and Microsoft .NET Framework developers everywhere are cheering.
I kid, of course; developers likely consider System Center a bit dull and more than a bit irrelevant. That would be a mistake, though, even if System Center may at first look like little more than a datacenter operations dashboard. In reality, System Center does an immense amount for .NET and the Microsoft platform, as well as the credibility and utility of cloud computing.
System Center used to be a collection of several separate products. The 2012 version has integrated these components into a single offering (albeit in both Standard and Datacenter editions), adding significant value to the product and simplicity to its licensing. As a starter, System Center includes Configuration Manager, Data Protection Manager, Endpoint Protection, Operations Manager, Orchestrator and Service Manager.
But for developers, the most important System Center components will likely be its Virtual Machine Manager (VMM) and App Controller. VMM provides manageability for Hyper-V VMs. App Controller provides a self-service portal for deployment of services over VMM/Hyper-V private clouds or the Windows Azure public cloud. But it turns out that this isn't just about the cloud; it's about stuff that Microsoft has been looking at for a very long time.
History and Déjà Vu
VMM and App Controller both work with a template-based paradigm. Pick a template and the corresponding infrastructure is provisioned, on servers, in a private cloud or the public one. This template-based infrastructure bit is very significant. It's a good idea, and we've seen it before. Microsoft has had a dream of automating infrastructure -- in other words, providing a developer-friendly abstraction layer over infrastructure deployment -- for a long time.
Remember the enhancements to Windows Azure announced about a year ago? One of them was a facility called AppFabric Composite Applications. It was a diagram-based mechanism for defining the compute, storage and database resources required by a cloud application, which could then be used to deploy that very infrastructure. Despite being announced a year ago, this feature hasn't really shipped.
This failure to launch is more than a year old, though. Remember the 2005 release of Visual Studio Team Architect? It had a technology, code-named "Whitehorse" during its beta period, that allowed and operated on a similar principal: providing designers for architectural diagrams that could then act as declarative expressions of the hardware to be provisioned. Whitehorse diagrams were based on something called the System Definition Model (SDM).
As it turns out, the SDM was tied to a vision Microsoft laid out in 2003, called the Dynamic Systems Initiative (DSI). In the press release accompanying the DSI, Microsoft said: "Developers don't have an easy way to describe their application's characteristics and needs for the datacenter, and IT managers lack the required tools to help them drive IT requirements back into development."
More than nine years later, Microsoft is now delivering what it refers to in the System Center 2012 marketing material as "standardized application blueprints … [that] would typically include specifications for the hardware, operating system and application packages that compose the service." This time, it seems like it's going to stick.
A Vision Finally Realized?
System Center has already been selling nicely, and with the consolidation of the separate products into just two unified editions of System Center 2012, I expect its momentum to build significantly. The classic Microsoft playbook move of continually plugging away at something until finally getting it right (the euphemism for which might be "iterating") still seems to work.
Sometimes Microsoft comes up with an idea that the market isn't ready for. DSI, in 2003, might have been one of those ideas. Now the technology industry has a name for what DSI sought to address: "DevOps," defined as the intersection of software development and IT operations. The cloud has lent legitimacy to this idea, because it does deliver automated provisioning of infrastructure. The economy has lent urgency to this idea, because budgets have required versatility across infrastructure and development for many technologists.
That's why System Center should be important to you. It's a highly capable product that can get you a leg up on these especially stressful challenges. It's getting traction for itself and for the nearly decade-old DSI -- itself based on work done by Microsoft Research in the mid-1990s. The goal of that work was helping IT operations and development get in sync. System Center 2012, the cloud and you might finally attain that goal today.
About the Author
Andrew Brust is Research Director for Big Data and Analytics at Gigaom Research. Andrew is co-author of "Programming Microsoft SQL Server 2012" (Microsoft Press); an advisor to NYTECH, the New York Technology Council; co-moderator of Big On Data - New York's Data Intelligence Meetup; serves as Microsoft Regional Director and MVP; and is conference co-chair of Visual Studio Live!