In order to navigate the current landscape of IT, you need an economy-size can of Buzzword-Be-Gone. You can't discuss any current technology without its marketeers describing it as a cloud-based, big-data solution that provides synergy and business value through blah, blah, blah. One term gaining tons of traction recently is software-defined data center. This one is being tossed around by execs at VMware, EMC and throughout the industry. Let's dig into it some.
The concept of a software-defined data center is based on abstracting the hardware itself from the delivery of services to the business. This should sound quite familiar, as it's a concept that's been with us from the early days of virtualization through to the current cloud discussions. A software-defined data center is one in which the configuration of hardware is done through upper-level software systems. This allows new services to be turned on or off rapidly and existing services to grow and shrink as needed.
What separates this from cloud is its ability to support legacy enterprise applications as well as new services written with cloud in mind. Traditional IT applications aren't designed for Amazon-style cloud services, and IT shops aren't prepared to rewrite legacy code to move it into cloud environments. Legacy applications will fail if pushed as-is into cloud environments. They aren't designed for application-level fault tolerance, Web-based latency or to reap the benefits of a distributed architecture.
The software-defined data center is a way for IT shops to reap the agility benefits of cloud computing while maintaining legacy applications. Additionally, for shops of appropriate scale and IT maturity, a software-defined data center can provide cost benefits equal to or greater than public clouds. This should be quite enticing to both the CIO and CFO.
What goes under the covers of a software-defined data center is just as interesting. It's a combination of things we've been busy implementing, things we've been discussing and a sprinkling of new buzzwords. Don't forget a side of pixie dust, a half-dozen unicorns and at least one drunken leprechaun. Think: virtualization, automation, orchestration and software-defined networking (SDN).
The compute layer consists of a highly virtualized server platform. This provides both resource optimization as well as availability and mobility features. As the hypervisor itself becomes more and more commodity, it will matter less at this level. Additionally, upper-level management systems will work to provide feature parity amongst hypervisors and focus on common functionality, negating much differentiation at the hypervisor level.
Storage will see continued commoditization in the software-defined data center. The focus will be on capacity and IOPS that can be tightly plugged into the management systems through published APIs and/or standards. Additionally, storage locations will shift as more and more processing power in the server creates greater demand for high-speed local capacity. Expect storage pools at multiple stages: cache, disk, shared storage. You can also expect this capacity to be managed centrally and tiered.
The network will incur the most visible changes. As the last bastion of highly proprietary, hardware-driven differentiation, networking equipment has been due for a shift. The same shift to commodity was made quite visibly in servers with the move to x86--less visibly in storage, where the prices stayed the same but customers moved from paying for the hardware to paying for the software and features. Networking is overdue. The shift to SDN will focus on bigger, faster pipes from a hardware perspective, while management of traffic flow will be handled centrally. Programmability will be key.
Above the data center pipes, load balancing, security and policy enforcement will also need to be layered on dynamically. The system itself should be able to deploy new services end-to-end, ensuring security, compliance, traffic flow, performance and reliability. The pre-defined automated process will reduce mistakes in repetitive process and speed time to market for new initiatives.
Software-defined data centers will grow steadily from current architecture. This is the next evolution in data center computing--not a revolution. That's a good thing--evolutionary change is required to migrate steadily from where we are to where we want to be. New services can benefit from revolutions and be coded directly in the cloud, but the core services running your business will benefit from an evolutionary process that minimizes disruption.
Disclaimer: This post is not intended as an endorsement for any vendors, services or products.