A Manager’s Guide to DevOps as Code, Part 3: Blueprints
XebiaLabs’ DevOps as Code approach allows teams to define all of the components of their DevOps pipeline in code that they can version-control, share with other teams, and audit with ease. In Part 1, we took a look at some of the benefits of defining software delivery components as code, and in Part 2, we saw how DevOps as Code works. In Part 3, let’s talk about blueprints.
A blueprint guides teams through a process that automatically generates XL YAML files. The blueprint asks a few questions about the application and the type of environment it requires, and the XebiaLabs command-line interface (CLI) uses the answers to generate YAML files that define configuration items and releases, plus special files that manage sensitive data such as passwords.
After the YAML files are generated, a development team can check them into their source control management system and apply them using the CLI. Applying the YAML files creates configuration items, release templates, and any other components that the team needs.
Use XebiaLabs’ blueprints to adopt new technologies
XebiaLabs provides out-of-the-box blueprints that DevOps teams can use to deploy a sample application to a platform such as AWS or Google Cloud Platform. Teams can use XebiaLabs’ blueprints to experiment with the XL YAML format, to get acquainted with XebiaLabs products, and to see what a typical release to a cloud platform looks like.
Create and share your own blueprints
Many enterprises have implemented DevOps as a service by creating a centralized team of experts who set up and run the CI/CD toolchain for application development teams across the organization. These experts can create their own blueprints that enable development teams to start using build, test, provisioning, deployment, and release orchestration tools, even if those teams aren’t familiar with every tool.
For example, teams that are just getting started with static code analysis tools such as Black Duck, Fortify, SonarQube, and Checkmarx can use a blueprint to add those tools to their release pipelines and immediately start benefiting from the automated security and compliance analysis they provide.
Blueprints also allow DevOps teams that have adopted new technologies such as containers and cloud-based infrastructure to spread their expertise across the organization. They can create blueprints for other teams to use as examples or as starting points for migrating their own applications to next-gen platforms.