In my earlier article, I explored some of the common myths around DevOps. With this base, it’s now time to detail how organizations can start to build a DevOps operational model. It’s worth again mentioning that there is no one single path for a business – every organization needs to find its own journey, and adopt the steps in accordance with its own unique circumstances.
Infrastructure-as-code is critical
According to the CALMS framework, by using Lean (L) we eliminate waste to promote at least the right Measurement (M) and a Culture (C) of team cooperation (we also focus on sharing (S) and automation (A). To do so, we must shift paradigms and point development and operations in the same north by using reverse engineering concepts. We do this as follow:
- Development teams (running Agile) must shift from just code development, to developing code according to infrastructure performance and IaC (infrastructure-as-code) topology.
- Ops teams (running ITIL) must shift from just hardware measurement (RAM, CPU, HDD), to measure the performance of services (apps) running on the infrastructure topology deployed via IaC.
Did you already identify the common point? It’s IaC (infrastructure-as-code). Are you surprised? Well, a key factor to succeed in DevOps is having technology standardization. In other words, this can be interpreted as “software-based infrastructure first”.
Building a DevOps pipeline
A DevOps pipeline is a “set of automated processes and tools that allows both developers and operations professionals to work cohesively to build and deploy code to a production environment”. This includes continuous integration, continuous delivery/deployment, continuous feedback and, continuous operations.
A pipeline typically includes 7 phases as follows:
- Plan (the requirements)
- Code (the assets of the solution)
- Integrate (the coding with the testing)
- Test (execution)
- Release (the successfully tested assets)
- Deploy (the solution assets)
- Operate (with monitoring and support).
In addition, considering that DevOps has some ITIL components, organizations also need to conduct a continual improvement process (or continuous feedback and learning process) across at least four key KPIs (also known as service level indicators (SLIs) by Google) to close the loop. These four are: deployment frequency, lead time for changes, time to restore services, and change failure rate.
This is a short overview of some of the key elements of a DevOps operational model – focusing on the importance of infrastructure-as-code and the different elements of a DevOps pipeline. These are the core components that will allow you to scale up your DevOps environment throughout your organization – but of course never forget the trilogy of people, process, and technology which will play a crucial role as you do so.