Devops Practices: The 5 Foundational
Devops Practices: The 5 Foundational
DevOps Practices
How to establish and build on them
Table of Contents
Culture
Automation
Measurement
Sharing
1 Culture, Automation, Measurement, Sharing. CAMS was first defined by Damon Edwards and John Willis
in 2010. For a longer discussion of CAMS and DevOps, see “CAMS and the DevOps evolutionary model,”
a chapter in the Puppet 2018 State of DevOps Report.
Monitoring and alerting are: It makes sense: When people see something that’s going well, they want to
replicate that success, and of course people want to share their successes. Let’s
• Configurable by the team operating the service. say your team has successfully deployed an application 10 times, and let’s also
• Key to sharing information about how systems and applications are running. say this type of deployment has normally given your team (and others) a lot of
• Designed to get everyone to a common understanding of how systems trouble. Chances are, someone will notice and want to know how you’re doing it.
should be running. That’s how DevOps practices begin to expand across multiple teams.
We found that once organizations start to see traction with DevOps, they are
able to define their own monitoring and alerting criteria for apps and services in
production. Empowered teams that run applications and services in production
can define what a good service is; how to determine whether it’s operating
properly; and how they’ll find out when it’s not. They also leverage automation to
multiply the effects of their work and to minimize toil (repetitive tasks that add
little value).
2 Gray, J., Vogels, W., A Conversation with Werner Vogels, ACM Queue, https://queue.acm.org/
detail.cfm?id=1142065, June 2006, retrieved Aug 2018.
Collecting this data provides you with the best opportunity for analyzing and
figuring out where problems have occurred in modern, complex systems. Having
all of this data available makes it easier for anyone to determine where issues
have occurred and to fix them faster.
Quality Purity
$$ Spend Bill/Ship
OUTPUT
NEVER 18% 1% —
We asked, “How frequently were the following used while you were expanding The use of repeatable patterns — whether created in-house or adopted
DevOps practices?” Here is the breakdown of responses for the practices, from an external source — does more than alleviate the immediate pain
“We reuse deployment patterns for building applications or services.” and confusion of deployment. It also makes it possible to share and spread
the knowledge of how to deploy more widely in the organization, enabling
LOW MEDIUM HIGH more teams and individuals to work together on what needs to be a core
competency for any business.
ALWAYS — 11% 52%
RARELY 45% 8% —
NEVER 18% 1% —
3 http://dev2ops.org/2010/02/what-is-devops/
Improvements to tooling are typically manual and ad hoc, and siloed within a single team
until some change drives the need to open up to other teams. This change might be
division-wide culture or organizational changes; new cross-boundary data sources such
as semantic logging; or new collaboration across teams at functional boundaries such
as provisioning or release automation.
production — became a significant impediment to As DevOps evolves and expands, and developers liberated by automated
provisioning move increasingly toward continuous delivery, Ops is under even
rapidly providing high quality software that would
greater pressure to maintain uptime, performance and availability in production.
meet customer and business demands. Auditability concerns also emerge as an organization’s processes mature. So
automated configuration and provisioning for production become just as
important as provisioning for development and testing. Achieving repeatability
Meanwhile, IT ops teams were just as frustrated by their inability to make any via configuration management assures stable, reliable and auditable production
substantial changes to the applications and services they were running — environments, and also enables later-stage capabilities — for example, self-
changes that would make these apps and services more stable, more efficient, service — that emerge as new goals for the DevOps initiative.
and more operable.
Finally, the importance of automated provisioning and configuration is not just
The emergence of cloud computing gave developers the ability to provision about speed. It also defends against one of the earliest management fears
for their own needs, just by pulling out a credit card. But this new capability around DevOps: that empowered developers could go rogue on production
also created more problems and frustration for Ops. As developers resorted systems with no recourse, no auditing, and no control. Codifying known-good
to shadow IT, Ops teams were faced with a multitude of uniquely configured, processes and executing them through preset routines allays these fears, while
difficult-to-manage, highly brittle and error-prone snowflakes in production. still enabling Dev and Ops teams to work with greater agility. Especially for larger
organizations and those in regulated industries such as healthcare, finance
and government, automation offers the added advantage of maintaining a
record showing who touched any system, what they did and when they did it —
and often, why.
In general, the research suggests organizations should start • Allowing a team to configure monitoring and alerting for the service
it operates.
out with baselines that set the foundation for future growth
and development, while also helping to deliver immediate value. While these three practices are foundational capabilities, and form a baseline
for progression to higher levels of DevOps evolution, the order in which they
Which practice to start with depends very much on where an are adopted is not important. Start here, but don’t worry about which comes
organization is at the outset, and what its most urgent needs first. It’s likely you’ll recognize one particular practice as something your own
organization needs to prioritize.
are. But do take note: every one of the foundational practices is
adopted early by highly evolved organizations. Our research strongly suggests organizations need to have more of the
foundational baselines in place before they start to show results. So, work to
adopt the three practices above, and then expand them to other teams as soon
as you can.
Establish and share baseline measurements for system, customer, and business
metrics at the outset, so everyone knows where you are starting, knows what
needs to improve, and knows the impact of their work on the end-to-end system.
A shift left refers to doing something earlier
This will help everyone on your team begin to embrace DevOps concepts like
continuous feedback and continuous improvement. in the process than it was traditionally done.
Moving configuration and provisioning planning
to the beginning of the process ensures you are
dedicating the right amount of attention to it.
Learn More
Greg Leffler
Greg heads the observability practitioner team at Splunk and is on a mission
to spread the good word of observability to the world. Greg’s career has taken
him from the NOC to SRE to SRE management, with side stops in security and
editorial functions. In addition to observability, Greg’s professional interests
include hiring, training, SRE culture, and operating effective remote teams.
Greg holds a master’s degree in industrial/organizational psychology from
Old Dominion University.
Learn More
Splunk, Splunk> and Turn Data Into Doing are trademarks and registered trademarks of Splunk Inc. in the United States and
other countries. All other brand names, product names or trademarks belong to their respective owners. © 2022 Splunk Inc.
All rights reserved.