Pages

Thursday, July 30, 2020

DevOps Metrics


Now that organizations are committed to DevOps methodology and are moving to integrated development, operations and QA, how can we find out how well it works?. How do we know the DevOps is working at all?. Many organizations find that it is easy to start then they are taught but hard to keep alive. 


We already know Devops is not a tool set. Devops isn't about delivering a project or even delivering features. It’s about minimizing lead time and maximizing flow of work to production, recognizing and eliminating junk work and delays and handoffs, improving system reliability and cutting operational costs, building in feedback loops from production to development, standardizing and automating steps as much as possible. Then How can we find out how Devops work for us? What are the ways to identify the Processes that we define are working well?


This is where DevOps metrics comes into picture. We need Metrics to identify how the process is working?. We need metrics not just to measure the success ( Or lack of Success) of our Devops Process but also to find out how it can be improved. With metrics, we have a holistic point of view of where we are , where we are going, where we can go and how to get there. 


What kind of metrics can be used in measuring the Devops Process. In this article we will see the most common metrics that can be used in measuring the DevOps process and implementations. The most important metrics that we need to check while using a devops are,


Frequency of deployment - this metric talks about the frequency of deploying new code. This will help in tracking the deployments and the process used by developers and others. We need to count both production and non-production deployments separately.


Deployment time - this helps to understand how much time it took to actually deploy the application. This helps in understanding areas of improvement for deployment. How much time it took to build a infrastructure is very important to minimize the time lines for deployment and improvise the solution for faster deployment


Lead Time - Lead time talks about the amount of time that occurs between starting on a work item until it is deployed basically from development to deployment. Tracking the time frames let people to identify areas of improvement in our CI/CD Pipelines. This helps you know that if you started on a new work item today, how long would it take on average until it gets to production. This is a very important metric to understand where most of the time is being taken and improvise that.


Failed deployments - It is also very important to track the percentage of the failed deployments. This helps people to understand what led to outage and customer feedback. It is very important to understand how often the CI/CD process or solution causes an outage or major issues for our Users. 


Customer tickets - This is one of the best and worst indicators of Devops Problems. Customer feedback or tickets are very important factors to consider in improvising the process. The more tickets the worse for the process. Tickets are very good indicators of how our process or solution is working. These tickets not just give you how the process is working but also lets users find bugs and problems with our solutions.


Change Tracking - While deploying new changes, it is very important to track which user story is associated with the deployment. This will let people track the changes occuring in a project, understand what is being changed and other parameters.


MTTD ( Mean time to detection ) - This talks about the time taken to identify a problem. During CI/CD it is very important to quickly identify the problems or failures. Having a robust application monitoring and good coverage in place will help one to detect issues quickly.


MTTR ( Mean time to recover ) - This talks about the amount of time it took to recover from failures. Tracking MTTR will allow teams to identify improvement areas so that the MTTR is decreased in future recoveries


Error Rates : Tracking error rates within your application is super important. Not only are they an indicator of quality problems, but also ongoing performance and uptime related issues. Error rates include bugs and production issues that are raised by the Customer tickets or emails.


If you want to take DevOps to the next level, I’m sure that the  list of DevOps metrics will help give you some ideas of what to track and improve. More to Come, Happy learning :-)

No comments :

Post a Comment