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