The best DevOps teams promote a culture of continuous improvement. It’s a culture that can be embraced by I&O teams, too. Learn how two software development best practices – Infrastructure as Code and delivery pipelines – enable I&O teams to get on board and go further with continuous improvement.
The DevOps culture has, at its core, a commitment to continuous and iterative improvement.
Commitment to continuous improvement is embodied in the DevOps approach to quality (through continuous integration and delivery), value (through continuous improvement), and personal development (through continuous learning).
The journey to DevOps can be approached as a transformation or as an evolution. Either way, the iterative and continuous nature of DevOps allows teams to adapt and grow at their own pace; embracing the culture and adopting the capabilities to support new processes in a supportive, positive learning environment.
Many of VMware’s traditional base – Infrastructure and Operational teams (I&O) – are eager to benefit from these capabilities, from both within and outside of the construct of a formal DevOps team. But where to start? Why not with the solutions that your teams already know and trust?
DevOps for Infrastructure
I&O resources do not need to wait for inclusion in DevOps teams to take advantage of capabilities that support DevOps processes. From a technology perspective, a good starting point is enabling functionality to support the adoption of software development best practices for infrastructure components – “Infrastructure as Code” and “Delivery Pipelines”.
DevOps for Infrastructure: From VI Admins to DevOps Champion breaks down the DevOps cycle for I&O teams. It maps the phases to the release of a new application template, supported by capabilities provided by vRealize Automation. This example is the tip of the iceberg of I&O processes that can be improved and enhanced by the adoption of DevOps principles and processes, using the tools you are already familiar with. Other examples include:
- OS template management with delivery pipelines
- Disaster recovery using Infrastructure as Code
- Automated deployments across multi-cloud
- Automated optimization and remediation
Even if your teams are not yet restructuring around DevOps, these capabilities can bring immediate operational value. And they will position your I&O teams to more quickly adapt to DevOps when the time comes. Let’s take a look at how these particular capabilities can improve your operational processes.
Infrastructure as Code
Simply put, Infrastructure as Code (IaC) is the functionality that allows an infrastructure resource (or set of resources) to be defined in a (subjectively) human-readable text file. The text file is interpreted by the deployment system into the automated steps needed to provision and maintain the resources. Changes to the environment are made by updating the text-based definition file.
The benefits of managing infrastructure through IaC include:
- The environment is self-documenting and always current.
- Resource definitions can be stored in a source-control system – with sharing, version control, and roll-back capabilities.
- Environment replication or rebuilding (for testing or DR) is drastically simplified.
- Infrastructure components can simply and efficiently be incorporated into software delivery pipelines.
The vRealize Automation implementation of IaC, in particular, is built around enabling traditional I&O resources (familiar with creating application and infrastructure templates through the graphical canvas) to quickly and easily become familiar with the YAML version of the configuration.
By displaying the template definition in both formats side-by-side, I&O resources can make changes using the canvas and immediately see the required YAML configuration.
Where “Dev” may already be fluent in YAML (a commonly used language for IaC), “Ops” may need a little extra support from the tooling while they adapt.
For more information on vRealize and IaC, see “Demystifying Infrastructure-as-Code”.
Delivery pipelines enable the automation and orchestration of a series of related tasks, including the testing and gating of changes. While delivery pipelines have been used by the software development community for some time, we are now seeing the adoption of pipelines for testing operational changes.
Delivery Pipelines can help improve and automate the process of:
- OS template management and deployment
- New application definition testing
- Integration testing for core components and back-end systems
Build, test and releaseVM images with vRealize Automation Code Stream and Packer illustrates not only how valuable delivery pipelines can be to infrastructure components and teams, but also how seriously we take our position as a provider of choice, through extensibility and integrations.
By offering native integrations with many of the development community’s favorite OpenSource tools (for example, Jenkins, Bamboo, or even Kubernetes), we give development and operational teams a common framework without restricting flexibility or choice.
vRealize and DevOps
VMware’s vRealize Cloud Management solutions have embraced DevOps – both to build and deliver capabilities (enabling the frequent delivery of new features via SaaS) and by making functionality to support DevOps processes integral to the solutions themselves. This allows our customers to embrace DevOps at their own pace, by:
- Supporting the continuous learning of the I&O teams
- Driving the continuous improvement of operational processes
- Allowing the continuous integration and delivery of infrastructure and application components
Are You Ready?
Ideally, this blog series will have helped to bring some clarity to the culture, processes, and outcomes that have propelled the question “What are we doing with DevOps?” to CTO/CIO planning meetings everywhere. Even if your organization or team is not ready to fully embrace the movement, there are operational components and best practices that you can benefit from immediately. And VMware is ready and willing to help you determine when and where to start, to help you to map out an evolutionary or transformational approach to adoption, and to provide solutions that deliver the capabilities to support you wherever you are on the journey.
Other posts in this series
- DevOps History
- DevOps Culture
- DevOps Practices
- Principles and Outcomes August 2020
- DevOps Technology
- DevOps Processes