Lifecycle of DevOps – Part 2
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.
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
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.
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.
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.
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.
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.
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..
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.
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.
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.