What is the Software Defined Data Center (SDDC)?
Software defined infrastructure is becoming the norm, and with this new capability comes the need to build and support all infrastructure as reusable software components. This is the heart and soul of the Software-Defined Data Center (SDDC). When infrastructure is defined by software, it becomes possible to centrally manage all of the data center configuration information. With all of the data in software, the SDDC as a whole can now function like an application. As a result, it becomes necessary to manage a SDDC as you would any other code development project in your organization.
This blog is the first in a series of articles which will cover the evolution of the SDDC in greater detail, as we seek to help you implement new best practices to manage your new cloud-based data center. We’ll look at all of the aspects in the deployment of an SDDC, along with the processes which are necessary to control the software implementation and support.
The Evolution of the Data Center
Today, the data center is evolving to become more fluid than ever before. Configurations are no longer fixed for any period of time. The promises of cloud computing bring with it the side effect of an explosion of infrastructure configurations.
On the best day, it was hard enough to get an accurate picture of the hardware infrastructure. Cloud computing amplifies the configuration issue a hundred fold. Keeping this beast under control is now a serious task that would be impossible without best practices and the automation tools to make the job manageable. The good news is that when the data center is viewed as code, it then becomes possible to borrow the same best practices that have evolved over the last two decades for your application development teams. The SDDC can now follow a software development lifecycle.
Develop, Test, THEN Deploy
You are already be familiar with the concept of development, test and production environments. In a software defined world of infrastructure, these system states take
on new importance, as the vast amount of configuration information can quickly overwhelm even the most skilled human administrator. Updates to infrastructure elements are now easier than ever, but so is the danger of making changes with unintended consequences. Therefore it is critical to follow a protocol of always implementing changes first to a development environment, then moving them to a test environment, and finally to production. Configurations can now be unit tested automatically to ensure that a change in one component doesn’t break things in other areas of the system.
In addition to adopting the right process, it’s equally important that you adopt the right toolset. You need to combine tools like source control systems, automated testing, repository management, and release pipeline automation, so that you have all of the functionality necessary to automate SDDC content lifecycle management.
Best Practices for Developing Code
As with the app dev team, there are some best practices that are worth adopting. They include:
- Model your infrastructure as reusable templates
- Model your infrastructure and change process with testing in mind
- Always make changes at the source, not in Production
- Version everything
- Audit everything
The Journey Starts Here
At VMware, our vision is to help customers manage the changes that will emerge with a Software Defined Data Center. As the leader in cloud computing tools, VMware wants to ensure that the move to cloud computing is a successful endeavor and enables customers to realize the agility and opportunity that cloud computing can bring to their business.
- Visit VMware vRealize product page
- Visit VMware Integrated OpenStack product page
- Try our Automate IT Hands-on Labs
- Try our Intelligent Operations Hands-on Labs
About this blog series
In the coming weeks we’ll discuss all of the elements that are necessary to manage your data center. In the next article, we’ll explore infrastructure as code, looking at the developers’ point of view. Then, we’ll take a step back and look at managing the entire SDDC as a software application. Using the methodologies and best practices of code developers, we’ll see what aspects apply to the data center. This requires a new way of approaching the development, testing and release of changes. After that, we’ll look in depth at how you can manage vRealize content as code, using VMware solutions to track and manage all of the components. The VMware vRealize team will share their secrets and best practices for leveraging an approach like this to manage the development of vRealize Automation. In this article, you’ll hear first-hand from the development team about the critical role that vRealize plays in supporting their job.
In the final two articles, we’ll explore how VMware supports all of the dev teams in setting up and managing development sandbox’s with Project CAVA and we’ll look at some other customers who share their success stories with moving to a software defined data center approach.