What kind of DevOps practices, tools, and culture are commensurate with your digital investments?
According to Forrester, 50% of organisations are implementing DevOps principles – it has reached “Escape Velocity”. However, interpreting ‘implementing DevOps’ depends on where they are with DevOps maturity; when we look across organisations, we see three patterns emerge: DevOps Lite, Ops-Centric DevOps, and Dev-Centric DevOps.
If you believe digital transformation will rapidly enable you to achieve scale, increase revenues, and stay ahead of competition, then you need well-developed DevOps practices, tools, and a culture that are commensurate with your digital investments.
On the other hand, if you are just testing the waters to see if DevOps is right for you, you need a different approach. Taking on too much too quickly is a recipe for failure, especially if it’s out of line with business priorities.
So, what have we learned about this?
It boils down to culture, tools and skill sets, and budget. Let’s explore all three in the context of DevOps Lite, Ops-Centric DevOps, and Dev-Centric DevOps.
Culture is one of the most important elements when an organisation undertakes DevOps initiatives. A DevOps culture entails the following: increased collaboration between development and operations teams, a sense of shared responsibility for application development and operations, no silos between these teams, and a high degree of team autonomy.
DevOps Lite organisations are just dipping their toes to see if DevOps will work out for them. These organisations are typically adopting a DevOps approach for one or two low risk applications. DevOps culture is typically not so mature in these organisations: while development and operations teams involved with these applications certainly collaborate, their instincts and approach are still to operate in a siloed fashion. No fundamental reorganisation has taken place. Decision-making around deployment and change management is process-centric, resulting in less autonomy.
See also: State of DevOps: Puppet’s Drill Down
Organisations who adopt an Ops-Centric DevOps approach go a step further wherein infrastructure and operations (I&O) staff with strong infrastructure backgrounds are leading the DevOps effort. I&O staff engage development teams to share the responsibility of looking after a system over the course of its lifetime. Siloes slowly begin to break down and these teams have higher autonomy to roll out new changes or fix any issues very quickly. An Ops-Centric DevOps culture is very focused on automation, but tends to value reliability and availability of applications as the main end state of a fully-automated environment.
Dev-Centric DevOps organisations are those where there is robust collaboration between development and operations teams. Here the DevOps team is often found as part of the larger application team, and thus adopts cultural viewpoints from developers. This DevOps pattern does involve I&O teams early on in the development process. They provide input into deployment and maintenance related requirements.
These companies have embraced continuous delivery – an approach that ensures software can be released to production at any time – as well as continuous integration – an approach that ensures an application is not broken whenever new piece of code is introduced. Development teams share the responsibility of operating their applications and help identify ways to simplify deployment and maintenance as they get more visibility from monitoring applications in production. In summary, Dev-Centric and Ops-Centric DevOps both have a culture of automation, but the DevCentric pattern tends to value rapid application deployment as the main end state of a fully-automated environment.
Tools and Skill Set
We’ve highlighted that automation is key to the success of DevOps. Automation eliminates friction by reducing manual handovers and sign-offs between development and operations. Enterprises achieve automation by employing tools for provisioning and configuring infrastructure, configuration integration, software testing as well as monitoring infrastructure and applications. Enterprises also use tools to rapidly deploy applications for specific environments such as staging, production and test.
DevOps Lite organisations typically do not use a lot of DevOps specific tools. They use existing tools’ capabilities to achieve basic automation/orchestration capabilities. Their staff are usually novices in using these tools. For example, they may favor existing VMware tools, IT operations tools from vendors like IBM and CA, or dabble with the basic tools that come with Docker.
Ops-Centric DevOps organisations have started to leverage advanced automation and orchestration techniques but still rely heavily on legacy tools and technology to manage a wide variety of applications. They also experiment with open source editions in order to quickly come up to speed with these tools. Here you’ll find Puppet, Chef, Ansible, and a host of other automation and provisioning tools as the backbone of the DevOps operations.
Dev-Centric DevOps organisations employ a variety of tools to achieve automation. They have developed a repeatable and reliable process for releasing and deploying software. They use enterprise editions that have advanced features and premium support from the vendor. Like the more Ops-Centric pattern, Dev-Centric DevOps are skilled at infrastructure automation tools such as Puppet and Ansible as well as monitoring tools such as Nagios. However, they add to these configuration-oriented tools a host of more CI/CD-related automation tools like GitHub, GitLab, and Jenkins. They have standardised on the set of tools that meet their specific needs. They are able to quickly build new applications, rapidly deploy these by using appropriately configured infrastructure, and ensure these applications work as expected on an ongoing basis.
The level of commitment and investment for DevOps varies across these patterns.
Since DevOps Lite organisations are trying out this approach only for a few applications and reusing existing solutions, they don’t have a dedicated budget for DevOps tools and practices. They are in the very early stages of DevOps and primarily invest manpower and time only.
Ops-Centric DevOps organisations have started to invest in advanced automation and orchestration techniques, especially in tools that enable I&O staff to automate all aspects of infrastructure operations including deployment, configuration, and monitoring.
Dev-Centric DevOps organisations have a dedicated budget to invest in enterprise grade processes, tooling, and team structures. They also spend money on training their staff to ensure they are up to date with the latest technology and have the right skill set to operate an efficient DevOps environment. Dev-Centric DevOps often have a budget that falls outside of traditional application and I&O budgets. Even though the team may report (directly or dotted line) to a broader apps team, the value stands on its own and, thus, has a dedicated budget.
Map Your DevOps Pattern to Your Appetite for Transformation
As you think about these patterns, it’s most important that your organisation considers the goals it has for modernising and digital initiatives. If you believe digital transformation is a crucial game changer for your business, then your DevOps models must reflect the magnitude and characteristics of that transformation when it comes to talent, processes, and tools.