Starting DevOps is easy, but scaling seems impossible
I found this statement is valid for most Enterprises. I delivered this talk in Dynatrace webinar back in December 2021, and I think this topic is quite interesting to share.
Let’s look back to DevOps State of Report in 2019, they mentioned DevOps has crossed the chasm and has become mass adoption in Enterprises. It means most of Enterprise will embed DevOps approach as the foundation of their processes and culture. Horaay!
But in my experience, most of enterprise are still struggling with their DevOps implementation, and for them, scaling DevOps seems impossible.
The typical journey in most of large Enterprises are from classic IT Service Management (ITSM) implementation, then focuses more on values and shorten the delivery cycle by adopting agile framework (combine it with their ITSM approach), and then extend it to DevSecOps or DevOps.
The journey seems easy on paper, but the implementation in Enterprise with more than 10,000 workers is hard. Improving a process is painful, and even harder in term of scaling DevOps implementation.
To successfully scale DevOps, and to successfully embed it as the foundation of all IT processes and culture, Enterprise need to understand the stage of DevOps implementation.
Enterprise needs to start with standardization of their development and delivery processes, technology, and frameworks, then expand the implementation of DevOps. Let’s take CI/CD implementation as the example, it’s easy to implement it for 50 services or applications, but for more than 1000 services?
Apply same rules for CI/CD pipeline process and quality gate to ensure pipeline acts as our automated governance, and then measure the implementation coverage. Roll-out the implementation to most or all services in Enterprise.
Following are some points in the Expansion stage:
- Technology stack are exposed with templating, easy to use and accessible to all squads
- Process and pattern are reusable for deployment and monitoring
- Monitor the services, as well the CI/CD pipeline data
- Embed DevOps in every aspect, it’s not a separate team or process
it’s a journey, but we need to ensure the implementation is in the correct path to level-up our DevOps implementation. Form a community of leader to assist the implementation, and ensure it’s in the right track.
Let’s jump to the highest implementation stage of DevOps, self service.
In this stage, most of DevOps capabilities are exposed as a service (XaaS), easy to scale and measurement is transparent to all teams. Think of restaurant serving buffet, all are self-served with predefined rules and configuration and little constraint. We need to ensure we can expose all as services, because collaboration between teams is expensive.
I hope this implementation stage can act as a guideline in your DevOps implementation, adjust it based on your Enterprise process and compliance requirement.
Always remember to find a way to SCALE whatever DevOps implementation you start right now and expose it as a service.