Understanding the software-defined data center

Fast becoming a buzzword, 'software defined' may not actually mean what you think it means

The tech industry absolutely loves its buzzwords. Once a buzzword is born, it seems to take on a life of its own. Eventually it will be stretched to the point where its original meaning is almost completely lost. Look to "big data" or "cloud" for great examples of this. Sometimes it's helpful to take a step back and boil down the original phrase to its real meaning at a practical, technical level.

If VMware has its way (and it probably will), the next term in the IT lexicon to catch fire will be the software-defined data center (SDDC). SDDC has formed one of VMware's key talking points at this year's VMworld conference in San Francisco, and it is sure to lose its meaning as VMware's partners and competitors try to prove just how "software defined" they are.

How does one, er, define "software defined"? At first, you might imagine it refers to the abstraction of traditionally hardware-bound tasks into pure software solutions. That's often true, but it's too simplistic. Just because someone has implemented something in software without the aid of purpose-built hardware does not make it software defined. In fact, the use of purpose-built hardware doesn't preclude a solution from being software defined at all.

Instead, the true nature of software-defined anything -- whether it be storage, networking, or an entire data center infrastructure -- has much less to do with what hardware might be involved and much more to do with how it is managed and controlled.

To understand the next wave of data center infrastructure, it's helpful to take a look at present-day tech that seems to fit the bill. Because it's a good example of a platform that was quick to leverage the benefits of virtualization, I'll pick on the HP LeftHand P4000-series SANs.

Traced back to its beginnings, when LeftHand Networks was an independent company, the SAN/iQ software at the heart of the P4000 was a distributed, Linux-based iSCSI storage platform that was traditionally implemented on general-purpose, vendor-agnostic server hardware. Following LeftHand's acquisition by HP, you'll find SAN/iQ shipped on rebadged HP ProLiant servers, but there's no reason it couldn't run on any x86-based hardware you threw at it. Underlining this fact, the SAN/iQ platform is also marketed as a virtual appliance called the Virtual SAN Appliance (aka VSA). In a sense, you might say the P4000 is in fact software defined -- HP frequently does so in its marketing.

It's undeniable that you can derive some benefit from simply porting a traditionally hardware-based service into the virtual world. Having a virtualized abstraction layer (such as VMware's vSphere or Microsoft's Hyper-V) underneath a piece of infrastructure like the P4000 gives you the flexibility to perform hardware upgrades independently of upgrades to the P4000 software. It also allows you to leverage the general-purpose server hardware to provide both compute resources and storage services at the same time -- you might not even need dedicated storage hardware or storage networking gear. However, just because the P4000 VSA is fully virtualized and thus a purely software-based solution does not make it truly software defined.

Instead, the real promise of software definition depends upon the implementation of abstracted control and management planes -- that is, channels for control and management entirely separate from those moving or storing data. It also requires construction of open, vendor-neutral integration hooks within the control and management layers such that they can fully integrate with other parts of the data center infrastructure and vice-versa.

Because of this abstraction, in the near future, you might choose management, control, and data planes from different vendors based on your own specific flexibility and performance requirements. Simply implementing a traditionally hardware-based solution in software isn't enough. Instead, really leveraging the benefits of software definition requires a wholesale reimagining of how a solution is implemented.

In fact, one of the key potential misunderstandings about the software-defined data center is that the entire solution must be implemented in software. It is true that today's general-purpose server hardware is much better suited to handling demanding storage and networking workloads than the commodity servers of yesteryear. But general-purpose hardware will simply never be able to compete head-to-head with hardware designed from the ground up with purpose-built ASICs.

Just because you can implement the data plane on general-purpose hardware doesn't mean you have to. If you've abstracted management and control from the data plane, you have a software-defined solution. Those common management and control planes could still be used to manage physical data plane devices that are able to provide high levels of performance or functionality otherwise impossible with general-purpose gear.

One of the best immediate examples of this vision is contained in VMware's new software-defined networking platform. In the next few weeks, I'll delve into VMware NSX in detail, but suffice it to say NSX represents a full-scale replacement of almost everything that makes a network a network. Hardware such as Layer 3 switches, routers, firewalls, IDS/IPS, load balancers, and VPN endpoints can all be abstracted into hardware-independent chunks of software. These independent logical roles can be deployed on demand to satisfy varying network requirements without additional hardware.

In its initial incarnation, NSX's management plane is provided by the virtualized NSX Manager. NSX Manager bristles with APIs to support integration with VMware's vCenter, vCloud Director, and vCloud Automation Center, as well as for managing the virtualized NSX Controllers that form the control plane. However, through the use of open REST APIs, the NSX Controllers can also be managed by OpenStack, CloudStack, or any cloud management platform you might care to integrate with them.

While some traditional networking hardware still needs to exist to allow the vSphere hosts to speak to each other and to the rest of the enterprise LAN and WAN, the configuration of these devices becomes very simple and relatively static, only changing as new virtualization hosts are added or more raw bandwidth is required, not as changes are made to the virtual environment running within. You could even think of those network resources in the same way you might think of power. As long as you're plugged in and there's enough to go around, you'll hardly give it a thought. All of the really cool stuff will happen inside the hardware that's being dynamically managed and controlled.

The software-defined data center is still in its infancy, and it will see a great deal of innovation over the next few years. As it gathers steam, plenty of pretenders will climb aboard. Don't allow yourself to assume that simply because something is implemented in software it can truly be called "software defined." The true benefit of software definition can only be delivered through reimagining the way data center resources are managed and controlled that transcends simple virtualization.

This article, "Understanding the software-defined data center," originally appeared at InfoWorld.com. Read more of Matt Prigge's Information Overload blog and follow the latest developments in storage at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.

Copyright © 2013 IDG Communications, Inc.