The DevOps Paradox
J. Jossemar Cordero R.
Jul 31, 2019
Disclaimer
The views, thoughts, and opinions expressed in this presentation belong solely to the author, and not necessarily to the author’s employer, organization, committee or other group or individual.
What’s going on with the title?
What is a paradox exactly?
A paradox is a seemingly absurd or self-contradictory statement in logic that, superficially, cannot be true but also cannot be false.
ie: “This sentence is a lie.”
How about this other example?
As Startup we do DevOps since we already have a team for that, regardless we don’t know what they do.
Let’s get nerdy with some books
- The Goal - Eliyahu M. Goldratt
- The Phoenix Project - Gene Kim, George Spafford, Kevin Behr
- Site Reliability Engineering - Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy
- The Site Reliability Workbook - Betsy Beyer, Niall Richard Murphy, David K. Rensin, Kent Kawahara, Stephen Thorne
Have you asked yourself why are you on this company?
At the end it is all about delivering value! ($$$)
Regardless the industry some facts stay true!
- Business and operations have been in a love/hate relationship for a long time
- It doesn’t matter how much you optimize a process if you don’t take in account your bottlenecks
As in “The Phoenix Project”
- Dev (Development) Needs to push its product changes as soon as possible
- Ops (Operations) Strives for stability
The first way
Systems thinking and flow
The second way
Amplify feedback loops
The third way
Continual experimentation and learning culture
Quick question
On those three graphs where is the business deparment and the customers?
But I thought it was a job title
It depends!
- The pioneer team name that works toward introducing this cultural change
- A certification on specific tools that enables it. ei: AWS Certified DevOps Engineer and Azure DevOps Engineer Expert
- Heads up Some companies see it as an analogous to “Full Stack Develper” but applied to infrastructure, tooling or automation.
tl;dr: The term itself is trendy and risky but is up to you how to use it
Stop talking and show me the code!
Site Reliability Engineering as a framework
One could equivalently view SRE as a specific implementation of DevOps with some idiosyncratic extensions.
From Google’s “Site Reliability Engineering” book
So how?
- Foundations (SLO, Visility, Alerting, Automation)
- Practices (On call, Post Morten, Load management, Remove toil, Canary releases)
- Processes (Service lifecycle, SRE Team lifecycles)
- Organizational Changemanagement (error budgets)
Where most companies start from
How the future should look like
My 2 cents
- DevOps is a cultural practice that involves best practices, automation and tools
- If you need a hard reference in DevOps, you can use Site Reliability Engineering as a framework
- It is quite difficult for a company to be 100% DevOps, because it requires to get all the teams across the company to be involved, but it’s worth the effort!