Top Banner
EMERGENT PATTERNS IN Dev Ops YOUR TO-DO LIST
85
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Emergent Patterns in DevOps

EMERGENT PATTERNS IN

DevOpsYOUR TO-DO LIST

Page 2: Emergent Patterns in DevOps

EMERGENT PATTERNS IN

DevOpsYOUR TO-DO LIST

Page 3: Emergent Patterns in DevOps

MR MIYAGI’s DevOps

DOJO

Page 4: Emergent Patterns in DevOps

GEORGE MIRANDA@gmiranda23

Page 5: Emergent Patterns in DevOps
Page 6: Emergent Patterns in DevOps

TRAINING !

Page 7: Emergent Patterns in DevOps

TRAINING PROFESSIONAL SERVICES

Page 8: Emergent Patterns in DevOps

TRAINING PROFESSIONAL SERVICES

EVANGELISM

Page 9: Emergent Patterns in DevOps

BUT FIRST…

Page 10: Emergent Patterns in DevOps

BUT FIRST…

CONTINUOUS DELIVERY

Page 11: Emergent Patterns in DevOps

BUT FIRST…

CONTINUOUS DELIVERY

… BECAUSE DEVOPS!!!

Page 12: Emergent Patterns in DevOps

H I S T O R Y O F T H E W O R L D * ( PA R T O N E )

* A B B R E V I AT E D

Page 13: Emergent Patterns in DevOps

@patrickd

ebois

Page 14: Emergent Patterns in DevOps

@patrickd

ebois

Page 15: Emergent Patterns in DevOps

@patrickd

ebois

Page 16: Emergent Patterns in DevOps

@patrickd

ebois

#devops

Page 17: Emergent Patterns in DevOps

T H AT W A S T H E N …

Page 18: Emergent Patterns in DevOps

… T H I S I S N O W

Page 19: Emergent Patterns in DevOps

… T H I S I S N O W

Page 20: Emergent Patterns in DevOps

DevOps at its core:• Practitioner Driven • Practitioners discussing/sharing/evolving:

• State of IT • How to do it better • Working together • Humane Systems • Open Practices

Fundamentally rooted in the idea that our business needs to deliver software faster, safer, and more reliably into the hands of users.

Page 21: Emergent Patterns in DevOps

DevOps at its core:• Practitioner Driven • Practitioners discussing/sharing/evolving:

• State of IT • How to do it better • Working together • Humane Systems • Open Practices

Fundamentally rooted in the idea that our business needs to deliver software faster, safer, and more reliably into the hands of users.

Page 22: Emergent Patterns in DevOps

L E T ’ S TA L K A B O U T…

Page 23: Emergent Patterns in DevOps

“IF THERE'S ANYTHING ALL HORSES HATE, IT'S HEARING STORIES ABOUT UNICORNS.”

– CHRIS LITTLE MARKETING, BMC

Page 24: Emergent Patterns in DevOps

B U T… E N T E R P R I S E

Page 25: Emergent Patterns in DevOps
Page 26: Emergent Patterns in DevOps

B O T H O F T H E S E A R E : • M A D E O F WAT E R M O L E C U L E S • 1 / 5 0 0 0 T H D E U T E R I U M • C H A N G I N G P H A S E S S E V E R A L T I M E S • S H A P E D B Y T E M P E R AT U R E • F O R M E D B Y P R E S S U R E • R E L I A N T O N P R E S E N C E O F D U S T • S U B J E C T T O N U C L E AT I O N

Page 27: Emergent Patterns in DevOps

9 5 % S I M I L A R !

( T O TA L LY S C I E N T I F I C N U M B E R )

Page 28: Emergent Patterns in DevOps

“UNICORNS ARE HORSES WITH BETTER P.R.”

– JEZ HUMBLE <———— WROTE THE BOOK

Page 29: Emergent Patterns in DevOps
Page 30: Emergent Patterns in DevOps

L E T ’ S TA L K A B O U T C O N S U LT I N G …

Page 31: Emergent Patterns in DevOps

E V E R Y O N E O N LY E V E R TA L K S A B O U T T H E K N O C K O U T P U N C H

Page 32: Emergent Patterns in DevOps

E V E R Y T H I N G I E V E R N E E D E D T O K N O W A B O U T

D E V O P S , I L E A R N E D F R O M M R . M I Y A G I

Page 33: Emergent Patterns in DevOps

A POP-CULTURE PRIMER IN SIXTY SECONDS OR LESS…

* FOR THOSE BORN AFTER DINOSAURS ROAMED THE PLANET

Page 34: Emergent Patterns in DevOps

C O O L N E W K I D I N T O W N

Page 35: Emergent Patterns in DevOps

C O O L N E W K I D I N T O W N

Page 36: Emergent Patterns in DevOps

G E T S I N T O T R O U B L E

Page 37: Emergent Patterns in DevOps

W I T H K A R AT E B U L L I E S

Page 38: Emergent Patterns in DevOps

A L O T O F T R O U B L E

Page 39: Emergent Patterns in DevOps

M I YA G I S AV E S D A N I E L

Page 40: Emergent Patterns in DevOps

T H E Y M A K E A PA C T

Page 41: Emergent Patterns in DevOps

C H O R E S ? ? ? W T F ? ! ?

Page 42: Emergent Patterns in DevOps

I N S T I N C T I V E D E F E N S E

Page 43: Emergent Patterns in DevOps

B E C O M E S A C H A M P I O N

Page 44: Emergent Patterns in DevOps

S E E ?

Page 45: Emergent Patterns in DevOps

MR MIYAGI’s DevOps

DOJO

Page 46: Emergent Patterns in DevOps

P R E - R E Q U I S I T E S

Page 47: Emergent Patterns in DevOps

D A N I E L P L AY E D S O C C E R

Page 48: Emergent Patterns in DevOps

D A N I E L R O D E H I S B I K E

Page 49: Emergent Patterns in DevOps

T O O K K A R AT E AT T H E “ Y ”

Page 50: Emergent Patterns in DevOps

“ F I R S T L E A R N S T A N D , T H E N L E A R N F L Y .

N A T U R E R U L E , D A N I E L - S A N , N O T M I N E ”

Page 51: Emergent Patterns in DevOps

You must be this tall• Use artifact repositories • If no internet access: host your own universe • End-to-end, granular, accurate map of the problem domain

• Thorough domain expertise to build/deploy/manage the *entire* stack

• Network access to managed infrastructure • Local Admin rights on workstations • Basic scripting, working with CLIs or APIs • Dedicated resources (no context-switching)

Page 52: Emergent Patterns in DevOps

DO NOT PASS GO DO NOT COLLECT $200

Page 53: Emergent Patterns in DevOps

MR MIYAGI’s DevOps

DOJO

Page 54: Emergent Patterns in DevOps

W A X O N , W A X O F F

Page 55: Emergent Patterns in DevOps

Convergent Infrastructure• Proper use of Configuration Management frameworks

• Practice on the whole stack • Converge on a regular interval • Persistent changes must be captured in configuration code

• Out-of-band change will be lost • Infrastructure as Code • Use it, don’t disable it

Page 56: Emergent Patterns in DevOps

P A I N T T H E F E N C E

Page 57: Emergent Patterns in DevOps

Local Development• Bring Production to your developers

• This just in: Ops are developers too!

• Disposable Dev Environments • Vagrant

• Mad crazy providers! • Test on a reasonable facsimile of Production

Page 58: Emergent Patterns in DevOps

P A I N T T H E H O U S E

Page 59: Emergent Patterns in DevOps

Collaborative SCM• Open repositories • Fork anyone’s code • Contribute back to anyone’s code • Curate contributions to your own code

• Comment, fix, improve submissions • Share commit rights • Encourage a culture of openness

Page 60: Emergent Patterns in DevOps

“YOU CAN’T DIRECTLY CHANGE CULTURE. BUT YOU CAN CHANGE BEHAVIOR, AND BEHAVIOR BECOMES CULTURE”

– LLOYD TAYLOR VP INFRASTRUCTURE, NGMOCO

Page 61: Emergent Patterns in DevOps

“YOU CAN’T DIRECTLY CHANGE CULTURE. BUT YOU CAN CHANGE BEHAVIOR, AND BEHAVIOR BECOMES CULTURE”

– LLOYD TAYLOR VP INFRASTRUCTURE, NGMOCO

“… SOME TOOLS

ENFORCE BEHAVIOR!” - ME

Page 62: Emergent Patterns in DevOps

S A N D T H E F L O O R

Page 63: Emergent Patterns in DevOps

Build Pipelines• SDLC Practices apply to Infrastructure Code

• No one gets to push changes by hand • Set up rules for Code Review

• Develop changes locally • Test (more later) • Check-in and submit for code review • CI jobs push (build) the change

• You will feel like Daniel-san sanding the floor

Page 64: Emergent Patterns in DevOps

L E A R N T O S T R I K E

Page 65: Emergent Patterns in DevOps

Provisioning• Mr Gorbachev, tear down this server! • "Cloud" reduces the amount of blood, sweat, and tears required to get new infrastructure

• Containers also reduce this effort • Roll out new systems often • Replace Production often • Make provisioning trivial • Can we be fully immutable?

Page 66: Emergent Patterns in DevOps

“THIS IS WHAT I CALL DISPOSABLE COMPUTING. THROW AWAY A BROKEN PROCESS RATHER THAN TRYING TO FIX IT. MACHINES CAN BE MADE EXPENDABLE AS LONG AS THE TOTAL SOFTWARE IS DESIGNED FOR IT. NOT MUCH OF IT IS TODAY, BUT WE ARE GETTING THERE. NATURE SHOWS THAT THIS IS A GOOD WAY OF SCALING SERVICES.”

– MARK BURGESS AUTHOR OF CFENGINE

Page 67: Emergent Patterns in DevOps

L E A R N B A L A N C E

Page 68: Emergent Patterns in DevOps

Metrics & Analytics• Measure Everything • Log Everything • Then analyze it. And DISPLAY it! • Give access to see the data freely • Never argue before you have the data

• Argue about what the data means

Page 69: Emergent Patterns in DevOps

Blameless Culture• Failures will always happen • Mistakes, errors, slips, lapses: all opportunities to learn

• Presume good intentions • Remove fear of punishment • Blameless Post-Mortems • Structured Incident Response • Produce actionable items to prevent the same thing in the future

Page 70: Emergent Patterns in DevOps

“ Y O U R E M E M B E R L E S S O N A B O U T B A L A N C E ? L E S S O N N O T J U S T K A R A T E O N L Y ; L E S S O N F O R

W H O L E L I F E . W H O L E L I F E H A V E A B A L A N C E , E V E R Y T H I N G B E

B E T T E R . U N D E R S T A N D ? ”

Page 71: Emergent Patterns in DevOps

1 S T L E V E L M A S T E R E D

Page 72: Emergent Patterns in DevOps

B U T N O W . . . Y O U ’ R E D A N G E R O U S !

Page 73: Emergent Patterns in DevOps

T H E D R U M T E C H N I Q U E

Page 74: Emergent Patterns in DevOps

Test Driven Infrastructure• Test your infrastructure like you test your applications: it’s ALL code!

• Regression test during development (guards) • Unit test local development before commit

• e.g. Kitchen.CI • Test on commit via CI, before code review • Test after code review passes at 1st integration point

• Canary test Production • Test Test Test Test Test Test Test Test Test

Page 75: Emergent Patterns in DevOps

“ K A R A T E I S T R A I N I N G T O F I G H T . ” “ T H A T W H A T Y O U T H I N K ? ”

“ N O . ” “ T H E N W H Y T R A I N ? ”

“ S O I W O N ' T H A V E T O F I G H T . ” “ M I Y A G I H A V E H O P E F O R Y O U . ”

Page 76: Emergent Patterns in DevOps

C O N T I N U O U S D E L I V E R Y

Page 77: Emergent Patterns in DevOps

. . . M O R E L I K E T H I S ?

Page 78: Emergent Patterns in DevOps

SO TO RECAP…

Page 79: Emergent Patterns in DevOps

• GET IN SHAPE! • CONFIGURATION MANAGEMENT • LOCAL DEVELOPMENT • COLLABORATIVE SOURCE CONTROL • BUILD PIPELINES • METRICS & ANALYTICS • BLAMELESS CULTURE • CONSTANT PROVISIONING • TEST DRIVEN INFRASTRUCTURE

Page 80: Emergent Patterns in DevOps

• GET IN SHAPE! • CONFIGURATION MANAGEMENT • LOCAL DEVELOPMENT • COLLABORATIVE SOURCE CONTROL • BUILD PIPELINES • METRICS & ANALYTICS • BLAMELESS CULTURE • CONSTANT PROVISIONING • TEST DRIVEN INFRASTRUCTURE

… ALL STARTABLE TODAY!

Page 81: Emergent Patterns in DevOps

• GET IN SHAPE! • CONFIGURATION MANAGEMENT • LOCAL DEVELOPMENT • COLLABORATIVE SOURCE CONTROL • BUILD PIPELINES • METRICS & ANALYTICS • BLAMELESS CULTURE • CONSTANT PROVISIONING • TEST DRIVEN INFRASTRUCTURE

… THEN LET’S TALK ABOUT KNOCKOUTS

Page 82: Emergent Patterns in DevOps

A N D , R E M E M B E R …

Page 83: Emergent Patterns in DevOps
Page 84: Emergent Patterns in DevOps
Page 85: Emergent Patterns in DevOps

QUESTIONS?

[email protected]@gmiranda23

WWW.SLIDESHARE.NET/GMIRANDA23/EMERGENT-PATTERNS-IN-DEVOPS