Try to resist if you like, but stubbornly clinging to hardware-defined data centers will leave you at a competitive disadvantage.

Why you should embrace the software-defined data center

The writing has been on the wall for years. The evolution from virtualization to DevOps, to containers, to a microservices architecture points to the inevitability of the software-defined data center (SDDC). Try to resist if you like, but stubbornly clinging to the idea of a hardware-defined data center will leave you at a competitive disadvantage in more ways than one.

Multicloud Monitoring: How to Ensure Success the First Time

Defining the software-defined data center

To illustrate the value of SDDC as opposed to a hardware-defined data center, let's consider a glass of water. The glass is a hardware-defined vessel for the water. It can only hold the volume of water it can hold, and if your need for water exceeds the capacity of the glass, you're out of luck.

A software-defined version of the glass of water would be a vessel that can be dynamically sized as the amount of water changes. You aren't constrained by the physical dimensions of the glass.

In a traditional, on-premise, hardware-defined data center, you're limited by the physical attributes of the available resources. The routers, switches, servers, network cables, and other aspects of the data center dictate what you're capable of doing from a software perspective. If the demands placed on the network infrastructure exceed its capacity, performance will suffer or you may crash the whole network.

The Wikipedia entry for software-defined data center describes the SDDC and its core components:

The software-defined data center encompasses a variety of concepts and data center infrastructure components, and each component can be provisioned, operated, and managed through an application programming interface (API). The core architectural components that comprise the software-defined data center include the following:
  • Computer virtualization, which is a software implementation of a computer
  • Software-defined networking (SDN), which includes network virtualization, is the process of merging hardware and software resources and networking functionality into a software-based virtual network
  • Software-defined storage (SDS), which includes storage virtualization, suggests a service interface to provision capacity and SLAs (service level agreements) for storage, including performance and durability
  • Management and automation software, enabling an administrator to provision, control, and manage all software-defined data center components

Robert Wipfel claims that software already defines your data center, whether you believe it or not. "A lot has changed in the past two decades: X86 servers, Ethernet, storage networking (SAN and NAS), high-availability clusters enabled by shared (network) storage, storage and server virtualization, flash storage, software-defined networking, and now, software-defined storage."

Thanks to cloud services, virtualization, and DevOps, though, you can adopt a more agile, secure, and scalable network by embracing the software-defined data center. In an SDDC, the applications running on the network are able to create, provision, and deploy network resources in real time—adding or removing routers, switches, and servers as the need arises.

Gene Kim, coauthor of The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win and the upcoming DevOps Cookbook, shared a quote with me: Courtney Kissler, Nordstrom's VP of e-commerce and store technologies, once said: "Nordstrom went from optimizing for IT cost to optimizing for delivery speed." As Kim explains, "This means that every technology organization needs to be able to transform ideas into working functionality that creates value for customers, whether you're a Google or Amazon, or you're a retailer, manufacturer, [or] financial services. That means you need not only world-class development processes but infrastructure processes as well—and that's where software-defined data centers become absolutely relevant."

There are many advantages

For decades, IT has been viewed as a hindrance for business. With a hardware-defined data center, the business is confined to running applications and services that conform to the limitations of the available network resources. The SDDC flips that around and allows developers to design based on what's best for the business, rather than developing based on what works on the available hardware.

An SDDC also greatly simplifies data center management. When everything from routers and switches to servers and storage is virtualized, it makes it much easier to provision, deploy, monitor, and maintain. The network and all its component resources are nothing more than software abstractions that can all be managed from a single interface.

Because everything is software-defined, it can also be automated, which increases the speed of delivery for network resources. The software is capable of creating and mapping server, storage, and networking resources, which provides much greater agility, flexibility, and reliability.

Ultimately, that agility and reliability also impact the bottom line. Courtney Nash, director of strategic content at O'Reilly Media, explains that scalability—or lack thereof—can have a detrimental ripple effect. "We're not talking about the extra second of latency that makes some users frustrated and drives them away: we're talking about being dead in the water during the Christmas rush. An application that's slow because it can't handle peak loads is slow in an entirely different way from an application that downloads 5 MB of JavaScript libraries and images before it's usable, but the users don't care either way. It's slow, and they're going elsewhere."

A properly implemented SDDC can detect and adapt to spikes in demand, scaling automatically when necessary to accommodate surges in traffic and optimize performance.

How to embrace the software-defined world

As Neil Tyler explains in a New Electronics blog post, "As data [centers] continue to scale to larger and larger numbers of servers, they will need to be able to redefine themselves around evolving workloads and the applications they need to run."

There are challenges to overcome to make a switch to an SDDC mindset, though. For one thing, even an SDDC runs on hardware and can be constrained by the capacity and limitations of that underlying hardware. The SDDC has to operate within the boundaries of the bandwidth, processing, and storage resources that are available. Power consumption is also a concern.

The trend toward a software-defined data center has also led to the rise of new programming languages to cater to the specific needs of an SDDC. OpenCL was designed to help developers move programs from traditional CPUs to faster GPUs, and SDAccel was created to enable data center equipment programmers to program field-programmable gate arrays (FPGAs) for data center and cloud infrastructures using OpenCL, C, or C++.

Giles Peckham, regional marketing director for Xilinx, is quoted in the same blog post: "In the longer term, the trend toward virtualization will continue. The key underlying requirement for the physical network will be to be able to deliver the performance and latency requirements the network requires to support virtualization. This will drive increasing demand for high performance, low latency and, highly reconfigurable solutions capable of optimizing the physical network to deliver the metrics a specific application or workload requires."