Our recently launched DevOps as Code feature is changing the way XebiaLabs’ customers handle Continuous Delivery. We extend “as code” capabilities beyond environments and infrastructure to include everything that teams need to execute fast, repeatable, scalable releases and deployments.
Complete with blueprints to help developers see results fast, our approach to Continuous Delivery is a game changer for enterprise customers that are struggling to manage the code sprawl created by their different teams. With blueprints, you can easily on-board projects, applications, and teams to the CI/CD pipeline, allowing you to scale best practices for automated testing, code analysis, deployments, and more across the enterprise.
XebiaLabs’ blueprints can be used a variety of ways. Here are the five most important uses we had in mind when building this functionality.
1. To learn and practice with new technologies
Practicing with new tools and technologies for the first time is tough. And building a new pipeline to provision and push applications to AWS with CloudFormation, AWS Lamba, and ASW S3 can be overwhelming. How do all of the individual tools and technologies relate to each other? What needs to be done first in order to ensure success?
Using the XebiaLabs’ blueprints as guidance, all you need to get started is an AWS account. Blueprints create fully-functional code that help you lay the groundwork as you adopt and utilize new tools. With blueprints, you can view the code next to the YAML files in the GUI, giving you full visibility into the provisioning, build, and deployment processes, in one easy overview.
From there, you can adjust the flow and easily customize your blueprints. By changing the YAML files and applying them time after time, you get fast feedback and create positive learning experiences.
2. To quickly on-board teams
A second, and equally important driver for us in developing the blueprints capability is to provide large organizations with a mechanism for quickly on-boarding teams to their pipelines.
For example, an organization has Java Development teams that spend most of their time in an XL Release pipeline with Jenkins, various testing tools, SonarSource and Checkmarx as a foundation, and an Operations-related tool, like ServiceNow. But now the organization wants to onboard their .Net teams, that are working in VSTS, to the pipeline. And they want to do so in a way that harmonizes how they work.
Using blueprints, they have an excellent mechanism to create pipelines that match a specific set of criteria. The blueprints provide a series of questions, that when answered, let users apply one command to create a reusable release pipeline with specific settings.
Building that first working pipeline will help you understand and ensure that you’re effectively using the tools in your pipeline. And doing so will support your overall DevOps and Continuous Delivery transformation.
3. To share best practices across your organization
For large organizations with multiple departments in multiple locations, sharing best practices in a standardized way can be tough.
And you might be thinking, does that even matter? All development teams differ and when it comes to Continuous Integration, they can define what they need. But what if you want to stretch that pipeline to Production? And what if you want to ensure security by applying DevSecOps principles?
The DevOps as Code functionality gives you templates for collaborating with all disciplines, regardless of location. The templates can be sent to your compliance departments, security auditors, and Site Reliability Engineers. You can easily collaborate around code in a repository like GitHub, baking in things like secure code scanning tools, lock tasks, and segregation of duties.
With finished blueprints and templates, you can share your DevSecOps setup with all teams across the organization. Updates can be pushed as code and teams can customize their specific local needs on top of it.
4. To harness the power of the XebiaLabs DevOps Platform
With DevOps as code, and blueprints in particular, we have an answer for customers who are demanding best practices and real world examples of how to let multiple disciplines collaborate in a “business release flow,” from code to monitoring in Production.
Blueprints were created to provide users with the foundation to effectively harness the power of the XebiaLabs DevOps Platform. Blueprints support teams that are deploying apps to the cloud by demonstrating how to effectively do cloud provisioning and deployment in an orchestration flow.
XebiaLabs provides blueprints that work off the shelf or can be customized to fit the specifics of an organization. Teams that provide DevOps as a Service to the rest of the business can develop blueprints that demonstrate how to work in their specific CI/CD pipelines.
5. To leverage the power of DevOps as Code
Lastly, after creating and using the blueprints, it’s time to use the generated YAML files. All code stored in your repository can be used and reused by all teams in the pipeline.
It’s important to leverage developer best practices, like peer reviews when code is merged in the master branch. This can be easily done by applying version control to the tools you’re using, giving you a code-native way of comparing changes over time. By tracking how files change, when they change, and who changes them in a system like GitHub and Subversion, auditability improves significantly.
If you’re unfamiliar of working in this manner, the XebiaLabs GUI includes all user roles and permissions, providing controls over who can execute what.