40
DevOps in 2014 David Thompson DevOps Manager, MuleSoft Inc.

DevOps in 2014

Embed Size (px)

DESCRIPTION

A talk about DevOps that I gave at a SysARmy meetup while visiting MuleSoft's Buenos Aires DevOps team. I've been thinking a lot recently about what DevOps is, what it means to be a DevOps Engineer (or in my case a DevOps Engineering Manager). Putting this together was really helpful to clarify some ideas I've been kicking around.

Citation preview

Page 1: DevOps in 2014

DevOps in 2014David Thompson

DevOps Manager, MuleSoft Inc.

Page 2: DevOps in 2014

A little about me…

• Managing DevOps at MuleSoft

• Senior SRE at Netflix

• Lead SRE at Domino’s Pizza

Page 3: DevOps in 2014

…and what I’m about…

• Running large scale Linux installations (100s to 10000s of instances)

• Maintaining 99.99+ uptime for critical business services

• Building Systems Engineering teams

Page 4: DevOps in 2014

…and what I’m going to talk about.

DevOps

Page 5: DevOps in 2014

First, a question:What’s DevOps?

Page 6: DevOps in 2014

Proposed Def. 1

Adjective: A buzzword substituted anywhere you might see the words ‘operations’ or ‘systems’. e.g.: ’operations engineer’ becomes ‘devops engineer’, ‘systems monitoring’ becomes ‘devops monitoring’, etc.

Page 7: DevOps in 2014

Well, let’s take a step back… what are Dev

and Ops?

Page 8: DevOps in 2014

Let’s see if this sounds familiar…

Page 9: DevOps in 2014

Meet DevDev’s primary goal is delivering quality product

features on time. Biased towards change.

Page 10: DevOps in 2014

Meet OpsOps’ main objective is to maintain the availability and reliability of core services. Biased towards stability.

Page 11: DevOps in 2014

Dev and Ops, Release Planning

A Dramatic Reenactment

Page 12: DevOps in 2014

Hey, we need to release this feature we just finished. How about 5 PM this

Friday?

Page 13: DevOps in 2014

lol WHAT?!

Page 14: DevOps in 2014

Yeah, Marketing committed to having it out this Monday six

months ago. Thanks!

Page 15: DevOps in 2014

*schedules release*

Page 16: DevOps in 2014

What happened here?

• Dev and Ops have totally different priorities.

• Opposition of priorities leads to inevitable conflict.

• Since neither team is responsible for the whole project lifecycle, communication breaks.

Page 17: DevOps in 2014

What do?

• This model is flawed by design.

• Ops used to hold all the cards because they controlled the infrastructure.

• With public cloud, tables are turned.

• If Ops doesn’t start a new conversation, they (we) will fade into obsolescence.

Page 18: DevOps in 2014

So, let’s try this again.What’s DevOps?

Page 19: DevOps in 2014

Proposed Defs. 2, 3

Noun: A methodology attempting to close the gap between Dev and Ops by making everyone responsible for the whole project lifecycle.

Adjective: A descriptor for staff responsible for DevOps.

Page 20: DevOps in 2014

Wait a second…

Adjective: A descriptor for staff responsible for devops.

Page 21: DevOps in 2014
Page 22: DevOps in 2014

But how do *I* DevOps?

Page 23: DevOps in 2014

Caution…

The goal of DevOps is to make everyone aware and accountable for the whole product lifecycle, including release and maintenance.

If we’re not careful, a DevOps engineer becomes an Ops engineer, and the whole mission is corrupted.

Page 24: DevOps in 2014

Protip

We can take a page from DevOps’ older brother, Agile.

The path to success as a ‘DevOps Engineer’ is to act as a DevOps coach for the product team.

Page 25: DevOps in 2014

Centralized vs. Embedded

• I’ve seen both.

• The only problem with a centralized DevOps team is that it’s actually an Operations team.

• To succeed, it’s absolutely imperative that the DevOps engineer be part of the product team.

Page 26: DevOps in 2014

Embedding DevOps

• Attend the Dev team’s meetings

• Help with architecture and design (as early as possible!)

• Assist with troubleshooting and building proof-of-concept systems

• Generally, be a value-add to the dev effort

Page 27: DevOps in 2014

What about Ops?Someone still needs to do all that systems & networking stuff, though…

• Continuous Integration

• Production Changes

• Infrastructure Provisioning and Configuration

• Monitoring & Alerting

• Incident Response

Page 28: DevOps in 2014

Dividing the Kingdom

The right division of responsibility for these tasks is going to vary depending on your business and your teams.

Typically, businesses that are more ‘enterprise-y ’ need firmer processes and more division between ops and dev.

Page 29: DevOps in 2014

Continuous Integration

Continuous Integration (CI) and continuous delivery (CD) reduce project risk. DevOps is usually well positioned to help set up and manage these services.

• Continuous Integration: get notified early when a change is committed that breaks some downstream build.

• Continuous Delivery: keep the master branch in a deployable state at all times, and deploy often.

Page 30: DevOps in 2014

Production Changes

Some change process is always necessary, even if the process is no process.

• Consumer firms can be really light, like Netflix:

• Devs deploy, changes are audited (project Chronos) but not approved by anyone.

• Enterprise firms will need change controls, approvals, etc.

Page 31: DevOps in 2014

Infrastructure Management

The most critical thing is to know exactly what is running, where it’s at, and what it’s for. Never provision or support a service you don’t understand!

To accomplish this, configuration management is crucial. Develop your templates, commit them to source control, version them, maintain them.

Public cloud makes it possible to use templates for infrastructure elements, (e.g. AWS CloudFormation).

Page 32: DevOps in 2014

Monitoring and Alerting

This is a huge topic; we could easily do a few hours just on monitoring and alerting. Here’s the TL;DR:

• Treat monitoring as testing for your running services & systems

• Cover several different levels of abstraction

• Aggregate the event streams to one gateway and manage them there

• The most ‘devops-y’ thing to do is to have developers set up, receive and respond to their own alerts.

Page 33: DevOps in 2014

Incident Management

Things go wrong. Who responds, how do they handle it, how do you escalate?

• Process will be entirely dependent on the needs of the business

• At minimum, though, there should be an understanding about on-call, escalations, response process, and investigation process.

Page 34: DevOps in 2014

What About Tools?

Page 35: DevOps in 2014

Okay, One More Definition.

Adjective: A descriptor for tools, products and services relating to DevOps.

Page 36: DevOps in 2014

“Sticking feathers up your butt does not make you a

chicken”

- Tyler Durden, Fight Club

Page 37: DevOps in 2014

Wrapping Up

Page 38: DevOps in 2014

Takeaways• DevOps is something a whole organization

does.

• The purpose of it is to avoid conflicts caused by the old division of responsibility.

• No ‘DevOps Engineer’ can do this by themselves.

• ‘DevOps Tools’ are great, but using them doesn’t mean you’re doing DevOps.

Page 39: DevOps in 2014

The Real TakeawayIf you share responsibility for the entire project with the

whole team, everything else will fall into place.

Page 40: DevOps in 2014