50 production deployments a day, at least

53
www.techarchday.fi www.techarchday.fi 50 production deployments a day, at least Oscar Renalias Senior Technology Architect v1 0

Transcript of 50 production deployments a day, at least

Page 1: 50 production deployments a day, at least

www.techarchday.fiwww.techarchday.fi

50 production deployments a day, at least

Oscar RenaliasSenior Technology Architect

v10

Page 2: 50 production deployments a day, at least

@oscarrenaliasgithub.com/oscarrenaliasgithub.com/[email protected]/oscarrenaliaswww.slideshare.net/oscarrenalias

Page 3: 50 production deployments a day, at least

2009 2014 2015

50+ deploys per day10 deploys per day

Deploys to production every

11.6 seconds

Page 4: 50 production deployments a day, at least

Why?

Page 5: 50 production deployments a day, at least

Requirements

Design &Build

QA &Test

Operate

Page 6: 50 production deployments a day, at least

QA &Test

Operate Best Guess

Design &Build

Page 7: 50 production deployments a day, at least

Design &Build

QA &Test

Operate Best Guess

Feedback

Experiments

Page 8: 50 production deployments a day, at least

QA &Test

Operate Best Guess

Design &Build

1 YEAR6 MONTHS1 MONTH2 WEEKS1 WEEKS1 DAY1 HOURMINUTES

Page 9: 50 production deployments a day, at least

Run over200 concurrent

experiments on any given day

http://www.exp-platform.com/Pages/ControlledExperimentsAtLargeScale.aspx

Page 10: 50 production deployments a day, at least

THIS MANY EXPERIMENTS

Page 11: 50 production deployments a day, at least

Our objective: 50 deployments a day with no service impact

Page 12: 50 production deployments a day, at least

Requirements

Design &Build

QA &Test

Operate

ContinuousImprovement

Page 13: 50 production deployments a day, at least

Requirements

Design &Build

QA &Test

Operate

ContinuousImprovement

Page 14: 50 production deployments a day, at least

SAY CONTINUOUS IMPROVEMENT

ONE MORE TIME

Page 15: 50 production deployments a day, at least

How?

Page 16: 50 production deployments a day, at least

Continuous Delivery

AutomationArchitecture

Culture

Page 17: 50 production deployments a day, at least

Value Stream

Idea Value

Page 18: 50 production deployments a day, at least

Release

Ideas Values

Page 19: 50 production deployments a day, at least

Release

Ideas Values

Page 20: 50 production deployments a day, at least

Release

Ideas Values

Page 21: 50 production deployments a day, at least

Value Released

Time

Guessed Well

Page 22: 50 production deployments a day, at least

Release

Ideas Values

Page 23: 50 production deployments a day, at least

Value Released

Time

Guessed Well

Guessed Badly

Page 24: 50 production deployments a day, at least

Value Released

Time

Value Stream

Idea Value

Value Stream

Idea Value

Value Stream

Idea Value

Rapid Feedback

Optimise

Page 25: 50 production deployments a day, at least

Release

Ideas Value

“Hotfixes”

"Release""Release"

"Release" "Release"

"Release"

"Release""Release""Release"

"Release"

"Release"merg

e

merge mer

ge

mergemerge

merge

merge

mergemerge

Page 26: 50 production deployments a day, at least

Ideas Value

OverheadRelease

Page 27: 50 production deployments a day, at least

Requirements

QA &Test

Operate

Design &Build

ContinuousIntegration

Page 28: 50 production deployments a day, at least

CI – what good looks like…

Changes constantly pushed to version control

Fixing a broken build is always the priority

Nobody goes home on a broken build

Page 29: 50 production deployments a day, at least

Requirements

29

Design &Build

Operate

`ContinuousTest

QA &Test

Page 30: 50 production deployments a day, at least

Pipeline! Pipeline! Pipeline!

Build Static Analysis ST Regression

Build Static Analysis ST Regression

Build Static Analysis ST Regression

PerformanceTest Security Test

Page 31: 50 production deployments a day, at least

Pipeline! Pipeline! Pipeline!

Build Static Analysis ST Regression

Build Static Analysis ST Regression

Build Static Analysis ST Regression

PerformanceTest Security Test

Effort and schedule

Test Phase

Comprehensive

Fast

Page 32: 50 production deployments a day, at least

Pipeline! Pipeline! Pipeline!

Build Static Analysis ST Regression

Build Static Analysis ST Regression

Build Static Analysis ST Regression

PerformanceTest Security Test

Effort and schedule

Test Phase

Pre-commit1 min

Component1 hour

Acceptance4-8 hours

Commit10 mins

Page 33: 50 production deployments a day, at least

Pipeline! Pipeline! Pipeline!

Build Static Analysis ST Regression

Build Static Analysis ST Regression

Build Static Analysis ST Regression

PerformanceTest Security Test

Effort and schedule

Test Phase

Stop the assembly

line!

Page 34: 50 production deployments a day, at least

What about tools?

Page 35: 50 production deployments a day, at least

THEY WANTED MORE AGILITY,SO WE SOLD THEM $2M IN DEVOPS TOOLS

Page 36: 50 production deployments a day, at least

Continuous Delivery PrinciplesEach check-in is a candidate production release

The same processes and tools in ALL environments

A failure at any stage stops the production line

It’s not about the tools!

Page 37: 50 production deployments a day, at least

Continuous Delivery

AutomationArchitecture

Culture

Page 38: 50 production deployments a day, at least

I CAN HAZ CONTINUOUS DELIVERY?

Page 39: 50 production deployments a day, at least

Fail-fast

Microservices

Metrics and Logs

Independently deployable and

scalable components

Failure is unavoidable. Deal with it.

Proactive monitoring

Page 40: 50 production deployments a day, at least

Continuous Delivery

AutomationArchitecture

Culture

Page 41: 50 production deployments a day, at least

RELEASE TIME!

Page 42: 50 production deployments a day, at least

Oscar’s unscientific observations of release failures

Human failures

Page 43: 50 production deployments a day, at least

ELIMINATE ALL HUMANS

Page 44: 50 production deployments a day, at least

Pets vs Cattle

Page 45: 50 production deployments a day, at least
Page 46: 50 production deployments a day, at least

Build Static Analysis ST Regression PerformanceTest Security Test Deployment

Test & QA

Page 47: 50 production deployments a day, at least

Automation

Infrastructure as codeTest, test, test

Eliminate the human factor

Page 48: 50 production deployments a day, at least

Continuous Delivery

AutomationArchitecture

Culture

Page 49: 50 production deployments a day, at least

WORKED FINE IN DEV

OPS PROBLEM NOW

Page 50: 50 production deployments a day, at least

Smooth Collaboration Fully Embedded Infrastructure-as-a-Service

DevOps as a Service Separate DevOps Team

DevOps Culture: Which one is right for you?

Source: http://www.devopstopologies.com

Page 51: 50 production deployments a day, at least

FIRED YOUR EXISTING TEAM ANDREPLACED THEM WITH A DEVOPS

TOOL?

THAT MUST BE GOING WELL

Page 52: 50 production deployments a day, at least

Organisation and Culture

Align to business priorities

Quality is everybody’s responsibilityDefine your own DevOps Culture

People over processes and tools

Page 53: 50 production deployments a day, at least

http://bit.ly/AccentureDevOpsPlatform