DevOps is unique for each organization but the 3 key areas that are common to almost all DevOps methods are asset management, CI/CD and monitoring. Below you will find a 3 Point Health Checklist for DevOps practices complied from our years in working in multiple industries/sectors including healthcare, finance, and more!
Because assets can be quickly created often means assets get out of control. This is not necessarily a red flag, but if you have a high number of environments vs. a small number of projects, this could be an indicator that your assets need attention. On the other hand, if you have a high number of environments, this could indicate that teams have spun off their own environments for specific feature testing. So "environment creep", in this example, could be a good pattern. If a team primarily uses a handful of environments and the other couple of dozen environments are "unknows", it's maintenance time. Bottom line, take the time and create the process and focus to effectively manage and catalog your assets. Store all of your configurations around your assets to make them easily re-locatable and, as a result ready to be used in the most effective way.
What does your operations team spend a lot of time doing? Is it building machines? At the enterprise level, this could mean operations is setting up hundreds or thousands of servers. At CirrusLabs, we spin up servers ready to go using Terraform. We can setup a complete end-to-end development and integration environment in about 10 minutes. So, automated provisioning and management should be a capability if working at scale.
A lot of organizations do not effectively monitor their infrastructure. Some do not monitor at all and others monitor but don't know what to do with the data.
Implementing the monitoring tools is only part of the process. Putting the intelligence and discriminatory factors into the monitoring so you can make decisions creates the value. When we started looking at our AWS system, we were spending up to $4,000 month for most of the "stuff" that sat idle. Applying good monitoring practices, we reduced our cost by about $3,000 per month.
Knowing when there are outages is a big thing. Are you running into outages, uncovering breaks only when a user runs into an issue? Monitoring can help.
CI/CD is the centerpiece of any kind of DevOps/DevSecOps interaction. What are your core metrics? Automation percentage, testing, cycle times and mean time to recovery are some typical metrics. Here's an interesting metric - how long does it take you to create a pipeline? Our Modern Delivery Team uses a pipeline creation process that is completely scripted. This way, the developers can check in a new branch and source control and it actually creates the entire CI/CD pipeline for them dynamically.