The State of DevOps report released by Puppet each year is a great indicator of the pulse of the DevOps movement at the time. In its 10th edition this year, the report has continued to focus on the key challenges faced by organizations and solutions to them. This year, the report digs deeper into these issues and provides great insight for organizations that want to move to higher levels of DevOps maturity. In this post, we cover the key points from the report.
Stuck in the middle
The report has previously shown the percentage of organizations in the low, mid, and high DevOps maturity, and usually, the mid section makes up the biggest chunk. This year is no different with 80% of organizations in the mid level of maturity. Interestingly, this time the report breaks down this mid section into three sub-categories: low-mid, true-mid, and high-mid.
Majority stuck in mid-level - Source: Puppet
Organizations in the low-mid section are somewhat similar to low maturity organizations, but with some differences. Similarly, organizations in the high-mid section resemble highly mature organizations but lack a few of their characteristics.
It's likely your organization is somewhere in the mid-maturity phase. It would help to further define your organization as low, true, or high-mid for greater clarity on what you need to work towards. The report offers numerous ideas on how to reach higher levels of maturity.
Team identities clearly defined
Culture has been the predominant idea to describe DevOps since a decade now. However, that idea could be nebulous and get lost amidst all the focus on technology. This year's report brings culture back into focus, and more clearly delineates what culture means at the ground level.
In practice, the key idea behind a successful culture is to have roles & responsibilities that are clearly understood by your own team and all adjacent teams. This includes having well-defined interaction paradigms and communication channels between teams.
This clarity is what results in a high degree of autonomy within teams, and makes it easy for teams to collaborate with each other when they do need outside help.
Two types of teams: Stream-aligned, platform
The report highlights a trend towards less ambiguous team names, and in favor of team names that are based on responsibilities. For example, in recent years there has been a decline in teams that identify themselves as "DevOps teams." This term is rather unclear. Instead, there are two types of teams that are emerging as more clear replacements - stream-aligned teams, and platform teams.
Stream-aligned teams embody the phrase "You build it, you run it." This is usually the development teams that are responsible for building new features. Platform teams, on the other hand, exist to support stream-aligned teams and make resources available to them whenever needed.
Simply separating out a platform team doesn't inherently mean that an organization has achieved high DevOps maturity. However, the platform team approach is "key to escaping the middle phase" according to the report.
If you haven't begun a platform-based approach within your organization, now may be a good time to start. However, if you've been at it for a while and have had lacklustre results, read on.
Platform as a product
Platform teams deliver self-service APIs to consumers. They build and maintain the platform that is consumed by stream-aligned teams. The platform is a collection of self-service APIs, tools, services, knowledge, and support.
Use of internal platforms - Source: Puppet
A key idea in the report is to treat the internal platform as an internal software product. They recommend using product management practices for internal platform development. The point is that you can't buy an internal platform, you build it from the ground up, and tailor it to meet your organization's needs. One of the key purposes of adopting a platform approach is to enable greater developer velocity.
In fact, this idea was the central focus of last year’s State of DevOps report where we highlighted that ‘The top benefit of adopting the platform model, according to the report, is the ability to enable self-service capabilities for application development teams.’ It is in the interest of both application development and platform teams to enable a developer self-service experience. For developers it results in a better developer experience and faster building of new features. For the platform team it results in reduced manual effort, the ease of automated deployments, and peace of mind with security guardrails built-in. The key to acheiving these much-desired benefits is GitOps. Learn more in our white paper titled ‘GitOps Accelerates Self-service for Developers and Operators.'
More than infrastructure automation
Automation has been a focus of DevOps since its early days. However, the report dives deeper into the types of automation and makes a distinction between them.
Automating repetitive tasks is absolutely necessary for organizations that want to move to higher levels of DevOps maturity.
Automating repetitive tasks - Source: Puppet
The key difference lies in which parts are automated. Most organizations automate infrastructure components like self-service VM provisioning, and only a few automate developer components like observability, and rate limiting. The report encourages organizations to not stop at just infrastructure automation, but to move to automating developer components as well. This involves a keen awareness of the various teams and their needs. DevOps automation has now gone beyond mundane instance creation, and is reaching new heights.
Weave GitOps enables continuous delivery
To go beyond infrastructure automation, you need a solution that can automate deployments reliably and continuously. Weaveworks recently announced the general availability of Weave GitOps, which allows organizations to release changes to production more frequently. Weave GitOps completely avoids manual kubectl commands to apply updates and instead relies on automated workflows that can be customized according to each team and application’s requirements. This minimizes configuration drift, and ensures the production cluster is always in the desired state as expressed in Git. This Git-centric approach to continuous delivery enabled by Weave GitOps results in more frequent deployments, and importantly, in greater security built-into deployment pipelines.
The 2021 State of DevOps report by Puppet has touched on the important topic of culture, and outlined practical solutions to changing culture in organizations. The two key ideas are to have clearly defined team names, roles, and responsibilities, and to leverage a platform approach. The key takeaway is that foundational concepts such as cloud, automation, and a platform are only the starting point and not a find in themselves. To achieve higher levels of maturity, how organizations approach each of them is what really matters. Stay tuned to the Weave blog to learn more about how you can leverage GitOps to do this effectively.
If this post piques your interest, do give the entire report a read.