The genesis of this post actually came from former EMC vSpecialist/SDSpecialist and Mid-tier team lead, Scott Drummonds; Scott is a great evangelist for virtualization and cloud computing in APJ. I recently heard him talk about the Software-Defined Data Center (SDDC) with Craig Waters, on one of Craig’s very informative vCatchup podcasts. Shortly after that, Scott posted, on his blog, a video of himself walking through a presentation on EMC and the SDDC.
That got me thinking about how to properly position converged infrastructure systems, such as a Vblock, in the context of the SDDC. Not long after, Scott started an internal e-mail thread, asking for feedback on his presentation and for different takes on the SDDC message. My response to his e-mail is the basis for this blog post.
Is the SDDC Another Term for Cloud?
I’ve been in several conversations, both on-line and in-person, where folks have asked or have suggested that the SDDC is another word for Cloud or Cloud services. In response, I’ve tried to distinguish the following terms:
The end-state = IT-as-a-Service
Operational and consumption model = Cloud
Enabling technologies = Virtualization, Automation, SDDC, etc.
The end-state is the long-term vision of transforming IT into a service provider for their end-users/consumers. The current best way to achieve that vision is through Cloud Computing models like IaaS and PaaS. Technologies like SDDC pave the road to that long-term vision by enabling IT models like Cloud Computing.
What is the true SDDC?
The big architectural change initiated by the concept of the Software-Defined Data Center is the separation of the control and data planes. For me, the true SDDC enables or potentially enables several important capabilities:
- The ability to manage the entire data center as a single unified system or as an aggregation of different sets of infrastructure domains, like compute, networking, storage, etc. and not merely as an amalgamation of components. Or the ability to manage all the devices, such as routers and switches, that belong to a single domain, such as networking, using a single controller.
- The ability to have the entire data center infrastructure be managed and provisioned programmatically in software. Every component in the infrastructure should have programming interfaces exposed that allow fine-grained control of the services provided by those components. Even better, what if the entire infrastructure stack could expose APIs that allow it to be programmed as a single integrated system via a single centralized controller, enabling true automation.
- The ability for the control plane to dynamically change the infrastructure based on information it receives from the data plane. The current state of the “Hardware-Defined Data Center” is that configurations are static and difficult to manage. But what if the infrastructure could be changed on-the-fly to meet changing requirements. One possible use case could be an application running in a Cloud that needs to burst up capacity. In a true SDDC the infrastructure underneath the private cloud could be programmed to dynamically “spin-up” new VMs with requisite compute, network, or storage being provisioned alongside; once those resources are no longer needed, the infrastructure would be able to respond by automatically decommissioning VMs and de-provsioning the associated hardware.
The benefits of the features listed above are that they enable important characteristics of the Cloud, such as elasticity and automation.
What are your thoughts on the Software-Defined Data Center and how do you see it changing the way you do business, whether you are a vendor, selling Cloud enabling technologies or an end-user, looking to transform your IT into a service provider for your business?