What makes DevOps?

For a "definition of DevOps" please see Wikipedia. Six years on since "the birth" of DevOps and people are still battling to frame this beast in a couple of sentences. The nature of Wikipedia can hold, display and evolve the definition as we learn how to develop and operate software better. In the meantime - DevOps is the new way to do IT.

Where DevOps comes from and what makes it different is:

  • Added complexity and fragility in the IT industry - the need for even more automation. Brings benefits such as captured effort, consistency, repeatability and portability
  • Operations teams recognition of applying mature software engineering practices (like VCS, CI and TDD) to manage infrastructure and taking it through application lifecycle stages
  • The new tools and technologies that have become available as a result of the above

Below are just some of the components / skill sets / indicators:

  • Completed setup and actively used Version Control System together with code reviews / pull requests
  • Infrastructure Automation - infrastructure as code (a couple of tool examples being Terraform, Ansible)
  • Live-Executable Documentation - an artifact of the above point. Documentation which validates the systems and the inverse is also true - systems validate documentation
  • Configuration Management
  • Continuous Delivery and Deployment Automation
  • Centralised Log Aggregation and Management
  • Monitoring and metrics gathering of all environments