This post is from the XebiaLabs blog and has not been updated since the original publish date.
Going Code-native with DevOps as Code
Many DevOps teams describe their environment and infrastructure information in code and manage it the same way they manage application code: checking it into a source control management system, applying it as part of their Continuous Integration pipelines, and testing it with automated testing tools.
At XebiaLabs, our “as code” philosophy goes beyond environments and infrastructure to include everything that DevOps teams need to execute fast, repeatable, scalable releases and deployments. Our “DevOps as Code” approach allows teams to define deployment packages, infrastructure, environments, release templates, dashboards, and more in YAML files that they can store in source control alongside their application code. With DevOps as Code, the components of the end-to-end software delivery pipeline can be version-controlled, shared across the organization, and audited with ease.
On-board teams to the enterprise software delivery pipelineDevOps as Code makes it easy to on-board projects, applications, and teams to the XebiaLabs DevOps Platform in a standardized, controlled way. XebiaLabs automatically creates the configuration items that are required, starts the release pipeline, and deploys the application—whether you’re targeting mainframes, on-premises infrastructure, container platforms, or public, private, or hybrid cloud.
Work at lightning speed with the XebiaLabs CLIThe new, lightning-fast XebiaLabs command-line interface (CLI) lets you apply YAML files to create configuration items, release templates, dashboards, and more. If you’re already using the XebiaLabs DevOps Platform, you can get started with your current setup by exporting your data as YAML files. Continuous Integration tools such as Jenkins, Azure DevOps, and TravisCI can invoke the XL CLI with a single command—no need to download and install a plugin. It’s easy to apply YAML files and kick off releases instantly from your CI pipelines. And the XL CLI works across the XebiaLabs DevOps Platform, so you only need one tool to put DevOps as Code into practice.
Standardize security and compliance across teamsWith DevOps as Code, development teams don’t have to figure out how to implement security testing or satisfy compliance requirements by themselves. You can define configurations for connecting to code evaluation tools, release pipelines that incorporate manual and automated security and compliance checks, and dashboards that help teams monitor their security and compliance test results at a glance—all in code. Complying with IT governance requirements becomes a collaborative effort between Dev, Security, and Compliance.
Share best practices across the enterpriseXebiaLabs also introduces blueprints that serve as best practice reference architectures that guide teams through a process that automatically generates YAML files for their applications. A blueprint asks a short series of questions about the application and the type of environment it requires, and the XL CLI uses the answers to generate YAML files that define configuration items and releases, plus special configuration files that manage sensitive data such as passwords. DevOps teams can use blueprints to share best practices across the organization. For example, a team can create a blueprint that migrates an application from on-premises infrastructure and legacy middleware to a cloud-based platform such as Amazon EKS. Other teams simply install the XL CLI and run the xl blueprint command to get started.
Benefits of DevOps as CodeXebiaLabs’ DevOps as Code approach:
- Simplifies migration of applications from legacy infrastructure to cloud and containers. Lessons learned are easier to share across projects and teams when they’re embedded in code. And blueprints guide developers through the setup process for platforms such as Amazon ECS, Amazon EKS, AWS Fargate, and more.
- Extends CI tools, allowing teams to kick off releases instantly from within their CI pipelines. Every time a developer commits a change, a pipeline running in a CI tool such as Jenkins, Azure DevOps, or Travis CI can invoke the XL CLI to update configuration items and start release pipelines automatically. No need to install any special plugins.
- Eases onboarding for new projects, pipelines, and teams. It’s as easy as adding a standardized YAML file to a source code repository, or following a blueprint to generate YAML that’s specific to the project. XebiaLabs automatically creates the configuration items that are required, whether you’re targeting mainframes, on-premises infrastructure, container platforms, or public, private, or hybrid cloud.
- Standardizes security and compliance, making compliance with IT governance and security requirements a “non-event.” Teams don’t have to figure out how to implement security testing or satisfy compliance requirements by themselves. IT can define configurations for connecting to code evaluation tools, release pipelines that incorporate manual and automated security checks, and dashboards that help teams monitor test results—all in code.
- Enables complete “Your Mode” DevOps so that features are accessible through the GUI and “as code,” extending DevOps across the entire organization. XebiaLabs enables both business and technical users to actively participate in and view what’s happening across the entire DevOps pipeline.