54
DevOps at Five Michael T. Nygard - Cognitect

DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

DevOps at FiveMichael T. Nygard - Cognitect

Page 2: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

How Did We Get Here?

Page 3: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

2009 - Patrick Debois

http://github.com/jedi4ever!@patrickdebois

Page 4: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

but...

Page 5: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

… many antecedents

Page 6: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Predecessor When

“Agile Infrastructure” mid-2000’s

“Infrastructure as Code” early-2000’s

Infrastructure 2.0 early-2000’s

cfengine!(Mark Burgess, @markburgess_osl ) 1993 (!)

Page 7: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

My Own Journey

Page 8: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Developer in Ops-land

✤ Wrote code to monitor internals!

✤ Production module structure!

✤ Version control configs!

✤ Operator decompiling Java code to find bugs!

✤ Ranting to developers about importance of production ops

“Release It! Design and Deploy Production-Ready Software”, 2007

Page 9: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

What is this thing we’re doing?

Page 10: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Web Ops?!High velocity operations?!

Agile Operations?!

Page 11: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

DevOps

Page 12: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

DevOps?

Page 13: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

John Willis - The Demings of DevOps

@botchagalupe

Page 14: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

CAMS

✤ Culture!✤ Automation!✤ Measurement!✤ Sharing

Page 15: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Culture

✤ Fast feedback!

✤ Direct connections!

✤ Data-based communication!

✤ Collaborative, low-ceremony!

✤ Enablement, not self-protection

Page 16: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Sound familiar?

✤ Simplicity!

✤ Communication!

✤ Feedback!

✤ Respect!

✤ Courage

Page 17: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Automation

✤ Lightweight tools, readiness to discard or change tools!

✤ Open-source bias!

✤ Automate for leverage to change!

✤ Embrace & adopt “developer” tools!

✤ Source control!

✤ Code-based configuration

Page 18: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Measurement

✤ Measure everything!

✤ Number of pizzas ordered by dev teams!

✤ Could be a leading indicator for turnover

Page 19: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Sharing

✤ Share information!

✤ Share power!

✤ Share knowledge

Page 20: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Donella Meadows – Leverage Points in a System12.!Constants, parameters, numbers!

…!

8.! Strength of negative feedback loops!

7.! Gain around driving positive feedback loops!

6.! Structure of information flows!

5.! Rules of the system!

Page 21: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

You will never teach yourself out of a job.

– Me

Page 22: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

John Allspaw – Patron Saint of Ops

@allspaw

Page 23: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Allspaw Opens Our Eyes

Page 24: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Human Factors and System Safety

✤ People are part of the system!

✤ Beware failure-inducing systems, unruly technology!

✤ Blameless post-mortems

Page 25: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Jez Humble – Continuous Delivery

@jezhumble

Page 26: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

✤ Patterns for deliverying software value!

✤ Deployment and more!

✤ Integrating value stream

Continuous Delivery

Page 27: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

UsersOpsQADevStakeholders

Page 28: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

UsersOpsQADevStakeholders

Agile Development

Page 29: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

UsersOpsQADevStakeholders

Agile Development

DevOps

Page 30: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

DevOps

CAMS

CAMS

Human!Factors CD

Agile!Values

Page 31: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Where Are We Now?

Page 32: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Area Grade

Deployment A-

Provisioning B

Logging A+

Monitoring A+

Anomaly Detection C

System Comprehension D+

Page 33: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Antifragility – Systems That Improve From Randomness

Page 34: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Antifragility – Systems That Improve From Randomness

✤ Deployments == downtime!

✤ More deployments -> resilience to partial failure

Page 35: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Development is Production

Page 36: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Statistical Sophistication

Page 37: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Effective Web Experimentation as a Homo NarrensDan McKinley @mcfunley

http://mcfunley.com/effective-web-experimentation-as-a-homo-narrans!

Page 38: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Some Cautions

Page 39: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!
Page 40: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

CIO

VP, Operations

Mgr, DevOps

VP,Development

Page 41: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Problems Yet To Solve

✤ The Paradox of Automation

Page 42: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!
Page 43: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Seller Strategy Pricing

profnath Price arbitrage 99.8% of highest observed

bordeebook Reputation arbitrage 127% of highest observed

Page 44: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Process⊕

Feedback

Input Output

First-Order Cybernetics

Page 45: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Second-Order Cybernetics

Process⊕

Feedback

Input Output

EngineerObservationsStructure, Goals

Page 46: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Third-Order Cybernetics

Process⊕

Feedback

Input Output

EngineerObservationsStructure, Goals

EnvironmentDeliberate & Unintended

ConsequencesConstraints, Costs

Influences

Page 47: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Where Does This Apply?

✤ Systems Managing Systems!

✤ Autoscaling!

✤ Deployment!

✤ Spot pricing!

✤ Anomaly detection

Page 48: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Problems Yet To Solve

✤ The Paradox of Automation!

✤ Legacy Organizations

Page 49: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Legacy Orgs

✤ ITIL!

✤ Separation of Duties!

✤ Managerial antagonism!

✤ History of distrust & blame!

✤ IT under threat from Cloud Computing as well

Page 50: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

What is Next?

Page 51: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Beware Dilution

Page 52: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Keep the Faith

Page 53: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Don’t Fight Stupid, Make More AwesomeJesse Robbins@jesserobbins

Page 54: DevOps at Five - YOW! Conferences · Predecessor When “Agile Infrastructure” mid-2000’s “Infrastructure as Code” early-2000’s Infrastructure 2.0 early-2000’s cfengine!

Thanks!

Michael T. Nygard!Cognitect!

!

[email protected]!@mtnygard