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.

The end

Just kidding :)

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

The Goal

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

DevOps big picture

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)

The treasure hunt map

DevOps Topoligies

https://web.devopstopologies.com/

Where most companies start from

How the future should look like

Wrapping up

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!

Questions?

Thanks!

Github › jossemarGT
Twitter › jossemarGT