What is DevOps-as-Code?
DevOps is a portmanteau (of developer and operations, obviously)… and DevOps is a workplace culture, an approach, a software development and release orchestration concept, a movement even.
So then, DevOps can not be compartmentalised into being a software product in and of itself, can it?
Boston Massachusetts based XebiaLabs (say: zee-bee-ah-labs) thinks it can be. The company recently launched DevOps-as-Code features for its XebiaLabs DevOps Platform — so what is it?
DevOps-as-Code is supposed to allow software application development teams to specify their DevOps pipeline flows, infrastructure configurations and deployment settings all in code that can be versioned and stored alongside application code.
XebiaLabs point out that developers work in code and not in GUIs, so it’s hard for them to connect to the entire DevOps process.
“DevOps as Code makes the software release process more useful for developers by exposing all of the DevOps processes, including environment, infrastructure and pipeline information, in their preferred format i.e. code,” said the company, in a press statement.
Development teams can manage these settings just as they manage application code: writing simple code in their usual editor, checking it into source control management, applying it as part of their Continuous Integration (CI) pipelines and testing it with automated testing tools.
Yabba-dabba-YAML
As part of its Everything as Code proposition, the XebiaLabs DevOps-as-Code format allows teams to define deployment packages, infrastructure, environments, release templates etc. in YAML (see below) files they can store in source control alongside application code.
“Many developers use code-based tools such as Jenkins, Ansible, Puppet and Chef for portions of the DevOps process that require advanced technical skills. With DevOps as Code, the XebiaLabs DevOps Platform offers a format that is ideal for developers. At the same time, it also includes an easy-to-use GUI that supports less technical team members who don’t work as well in code-based tools,” said Andreas Prins, VP product development at XebiaLabs.
Prins explains that DevOps-as-Code lets developers create, manage, and update the DevOps pipeline using their code-based workflows and still apply strong mechanisms like branching and pull requests on the DevOps as Code items.”
The company’s CommandLine Interface (CLI) lets teams kick off DevOps processes from the command line — plus also export DevOps configurations as YAML files.
YAML (YAML Ain’t Markup Language) is a human-readable data serialisation language — it is commonly used for configuration files, but can be used in other applications where data is being stored for debugging etc.