DevOps is an approach to software development that is based on lean or agile practices. It combines tools and methods from software development (Dev) and IT operations (Ops).
DevOps aims to improve responsiveness to market needs and shorten the software development life cycle (SDLC) and time-to-market.
DevOps key practices
CI/CD— continuous integration, development, and/or deployment. CI/CD means that there is no need to wait until a major release is ready (usually a couple of times a year) to take it public. The practice has shown that such large releases were prone to errors. More frequent releases that roll out small patches, even weekly, help improve customer satisfaction and better fit the agile approach to software development.
Cloud-native—DevOps practices with a cloud-native approach have changed the perception of the software development cycle. The traditional distinction between Day 0, Day 1, and Day 2 (phases in the SDLC) is no longer valid. The steps can now be performed much sooner because of the agile approach, which has combined Day 1 and Day 2.
Infrastructure as Code (IaC)—Infrastructure is managed with machine-readable definition files. Thanks to IaC, operation teams can automatically operate through the code instead of using a manual process.
Continuous monitoring ensures that the deployed application works correctly. This process is ongoing, meaning it’s repeated multiple times in the application’s life cycle. Since many of these steps are automated, a new release’s time-to-market is significantly shorter than that using traditional software development methodology.