DevOps creates trust between development and operations teams to increase deployment efficiency and reduce risk.
It’s a 4 step process: collaborate, validate, automate and iterate. In other words decide what you should have, validate that it is correct, automate it and then iterate.
- Knowledge Capture: System knowledge from the entire IT team should be stored in one location to prevent misinformation.
- Cross-Team: Team members need to be able to collaborate on system configurations to make the best use of subject matter experts.
- Baseline: Define a reference architecture for your operating environment and baseline to create a 360 degree view of your infrastructure.
- Quality Assurance: You should have continuous testing of your current state vs your desired state to prevent drift.
- Audit/Compliance: Provide in depth audit and change information to satisfy audit and regulatory compliance needs.
- Cross-Platform: DevOps is applicable to both legacy and modern systems.
- Executable documentation: The documented system knowledge should be executable and serve as a configuration contract between teams. You should only need to write it once and be able to execute it multiple times.
- Best Practice Templates: Re-usable best practice templates should be created to speed up the automation process.
- Process Integration: Contrary to the popular belief, DevOps actually complements existing processes and methodologies such as ITIL, Agile and CMMI.
- Reporting: Desired state configuration monitoring helps you to trace errors quickly. You should have a version controlled history of every test and configuration alongside performance metrics.
- Environment Health: There should be detailed information on the health of application and infrastructure configurations of your internally managed or cloud hosted systems.
- Improvement: Build on a well defined, validated baseline. There is no need to reinvent the wheel each time.