The software-defined data center is cloud computing realized through intelligent software that abstracts hardware resources, pools it into aggregated capacity, and automates distributing it as needed to applications. It consolidates all systems into a single platform built on an x86 architecture supporting both industry-standard protocols and open APIs.
With software-defined networking gaining acceptance, the concept of a software-defined data center is getting more attention. Software-defined networking moves the control point in switches up to a software layer above the physical hardware enabling the use of any networking hardware and opening up the possibility for centralized management.
The software-defined data center is a natural step in the evolution of virtualization and cloud. It will address the needs of a business community clamoring for efficiency, simplicity, and agility, as well as users whose expectations are set through the personal use of Web-based services. It may well change how we think and go about application development, management, and more.
The software-defined data center envisions a topology that abstracts, pools, and automates compute, network, and storage over multiple data centers, including those owned by enterprises and service providers. It will present compute, network, and storage as classes-of-services to give developers and end-users their own personal virtual data centers (VDCs), with elasticity that keeps both capital (CAPEX) and operational expenditures (OPEX) in check.
As discussed in last week’s post about the API-Driven Cloud, this data center of the future will use industry-standard protocols for stability and integration with the backbone, and open APIs for applications and management tools.
For example, for software-defined networking, you will see support for standard and open standard protocols such as BGP and XMPP at the application and transport layer, as well as the new OpenFlow spec, for communication across the network. For storage, you would likely find NFS, CIFS, Fibre Channel for block and file support, and possibly CDMI and other emerging standards. Open APIs such as REST would be available for developers and administrators looking to write their own applications or integrate tools into the platform.
The software-defined data center is probably best articulated by VMware who defined and continually refines an industry’s understanding of software-defined computing. VMware is now extending this know-how to networks with the just-announced acquisition of Nicira for software-defined networking.
Why is the time right for the software-defined data center?
VMware’s CTO Steve Herrod attributes the advent of the software-defined data center to the acceptance of software-defined networks. This postulation makes sense given the long-standing interest in harnessing the power of the network in software. Telecommunications vendors worked long and hard to deliver soft-switches to tier-1 carriers looking to offload traffic from proprietary switches to software on commodity x86 servers. And, as we discussed recently in the blog post Carriers and Clouds, tier-1 carriers own the networks. Software-defined networks apply this concept to computer networks implementing the control plane in software while keeping the data plane in commodity networking hardware.
In addition to serving compute and networking needs, the software-defined data center could also be seen as addressing the multiple storage challenges in the cloud. And, think about it, if you no longer quickly setup virtual machines only to have to wait for networking and storage provisioning because it now all happens at roughly the same time, you could more quickly continue on with application and services delivery. Everything is simpler, more efficient, and agile.
The data center has always been application and business process driven. Looking at the evolution of the data center, batch processing applications drove mainframe adoption, while the advent of online transaction procession (OLTP) led to client/server computing and shared storage. With the Web, we got the notion of compute anywhere. And, if you consider the Web as the uber-network, compute anywhere means user access from any point to data stored anywhere along the Internet.
But, while the change from batch to online applications was driven by the enterprise, user behavior and expectations for the Web and cloud models is being influenced by personal experience with the Internet and social media. Think about it as corporates’ bring-your-own-device (BYOD) meets users’ give-me-what-I-want. The software-defined data center could bring the dynamic nature characteristic of Google and Facebook into the enterprise.
- Application Development: Open APIs mean the possibility of application portability among public and private clouds, or spanning application resources across the two environments to invoke the hybrid cloud. Introduce the ability to develop composite applications, by mashing up legacy applications or combining legacy apps with Web-based apps at different locations with data stored on different array types (e.g. block, file), and new services are possible that can be delivered more quickly than with traditional methods. The software-defined data center could give IT managers and developers both a complement and an alternative to public clouds (think: choices) for establishing new applications and services with enterprise-class capabilities.
- Infrastructure Management: Abstract and pool data center resources and centralize control points at the compute, network, and storage layers with open APIs and you have the possibility for management applications that speed service provisioning. Administrators now have access to all the compute, network, and storage resources they need to create those personal VDCs. These management applications could make visualizing the topology of a data center with all its elements much easier than possible today for admins and managers alike.
The software-defined data center could provide CIOs and IT managers with the opportunity to more fully-service their organizations’ data needs whether done in-house or through a service provider or some combination of the two approaches. Equally important, it could give developers more choices for how to quickly and efficiently deliver new applications. Additionally, it would give IT administrators and managers, as well as developers in business units the power of Web-based technologies and the cloud.