DevOps Essentials: Toolchain, Advanced State and Maturity Model
Audio : Listen to This Blog.
DevOps, to me, concisely is the seamless integration and automation of development and operations activities, towards achieving accelerated delivery of the software or service throughout its life.
In simple practical terms, it is the CI – continuous integration, CD – continuous deployment, CQ – continuous quality and CO – continuous operations.
It can be seen as a philosophy, practice or culture. Whether you follow ITIL, Agile or something else, DevOps will help you accelerate throughput. And in turn increase the productivity & quality at a reduced time.
Some of the most popular tools in the space of DevOps are Chef, Puppet & Ansible which primarily help automate deployment and configuration of your software. The DevOps chain starts at unit testing with JUnit & NUnit and SCM tools such as svn, clearcase & git. These are integrated with a build server such as Jenkins. QA frameworks such as Selenium, AngularJS & Robot automate the testing which makes it possible to run the test cycles repeatedly as needed to ensure quality. On passing the quality tests, the build is deployed to desired target environments – test, UAT, staging or even production.
Illustration 1: Example DevOps Tools Chain
In its primitive scope of DevOps, the ops part comprises of the traditional build & release practice of the software. And in its advanced form, it can be taken to the Cloud with Highly -Available, -Scalable, -Resilient and Self-Healing capabilities.
Illustration 2: Advanced State DevOps
We have a team of DevOps champions helping our customers achieve their DevOps goal achieving DevOps maturity.
Illustration 3: DevOps Maturity Model