According to DevOps best practices, the flow in the software development life cycle and delivery is split into 8 stages. Similar to the waterfall model DevOps too has a number of stages. In this article, you will get to know everything about the lifecycle of DevOps Phases that empowers leading engineering teams today.

Refer the previous post for Part 1 - DevOps explained in simple terms

DevOps Lifecycle


  1. Plan
  2. SourceCode
  3. Build 
  4. Test
  5. Release/Deploy
  6. Operate
  7. Monitor

Each step in the DevOps lifecycle will target the gaps between development and operations and drive DevOps through continuous integration, testing, delivery, deployment, operate and monitor. Let go through each stage and discuss each of the DevOps lifecycle phases below

Difference between Agile vs DevOps can be referred here. 

Plan


The first step is planning and in this stage, developers/Leads/architects will be having continuous meetings and discussions with Product owners or Business owners to understand the business &  product requirements.

In this phase,  the plan will be finalized and documented according to the requirements. Sample tools like Jira or Git to help track known issues and perform project management.

Source Code


In the second step, the coder will start the actual coding based on the requirements. Typically dev team will write code using code configuration management tool such as Git for version control. 

This is useful for maintaining the code repository among all developers in the team. Sample tools like GitHub, GitLab, Bitbucket, or Stash. … etc to help to maintain the source code.

Build


In this Third step,  Fetch source code from different repositories and combine them to build the package code for release to production.  Sample tools like Gradle, Maven … will help to build the source code.

Test


In this Fourth step, Perform Integration/Performance/Smoke and automated testing to ensure the feedback on the quality and determine performance. Sample tools like cucumber, selenium, Junit, Codeception … is used to automate the testing phase and code quality.

Release/Deploy


In this Fifth step, Based on the results from the test phase, the code will be deployed to staging/production and release the application to Live.  Sample tools like Jenkins, Saltstack, Chef, Ansible, Jenkins, Kubernetes, Openshift, Openstack, Docker used for automating the deployment process.

Operate


In this Sixth step, Once the application is deployed, the operations team will perform activities such as Infrastructure changes, configuration, capacity and resource management, security check, data backup, log back up,  database management … etc. 

Sample tools include Check, Ansible, Puppet, Chef, Saltstack, etc..

Monitor


The final step is to monitor the entire environment. In this step, the delivered application to the customer has been monitored on downtime and uptime, failures, errors of application and disaster recovery and so on. 

Sample tools like New Relic, Datadog, Grafana, Wireshark, Splunk, Nagios, or Slack will be used for the same.

Conclusion


Continuous feedback is the only key area which helps in providing clarity to all teams inside an organization as to what is being delivered and what issues are being reported. In DevOps, feedback is valued as important data to understand the product that has been used by the end-user. 

Next post: How do you Implement DevOps in an Organization

Related Online Courses

1. Online Courses  –  Learn DevOps

What you’ll get from it: You will understand how to Continuously Deliver Better Software.

2. Books –  Effective DevOps

What you’ll get from it: A well laid out structure to move your organization into DevOps, including tools, culture guidance, and case studies.

Udemy Offers 2020