Continuous deployment

Post on 14-Jan-2015

6.433 views 2 download

Tags:

description

A 20 minute talk I gave as part of the "Code as Craft: Moving Fast at Scale" Etsy micro-conference

Transcript of Continuous deployment

Continuous Deploymentkellan@etsy.com, @kellan,VP of Engineering

Thursday, March 17, 2011

What? => Why? => How?

Thursday, March 17, 2011

What is it?

Thursday, March 17, 2011

Small, frequent changes. To production.

Thursday, March 17, 2011

Small, frequent changes. To production.

Small Frequent

Thursday, March 17, 2011

A collection of techniques

to avoid SUCKING.

Thursday, March 17, 2011

Why do we do it?

Thursday, March 17, 2011

Agility: Always Be Shipping

Thursday, March 17, 2011

MTTD / MTTR

Thursday, March 17, 2011

4 change related “incidents” in 2010

Thursday, March 17, 2011

Deep Water Horizon

time to detect: <15 minutes

time to resolve: ~216,000 minutes

Thursday, March 17, 2011

MMTR: 4.5 minutes

MTTD: <5 minutes

mean time to detect: < 5 minutes

mean time to resolve:4.5 minutes

Thursday, March 17, 2011

Encourages Experimentation

Thursday, March 17, 2011

1%Thursday, March 17, 2011

Optimize for Developer Happiness

Thursday, March 17, 2011

DevOps

Thursday, March 17, 2011

Scales Trust and Risk

Thursday, March 17, 2011

How do we do it?

Thursday, March 17, 2011

Work in trunk,branch in code.

Thursday, March 17, 2011

“All existing revision control systems were built by people who build installed software”

- Paul Hammond, Always Ship Trunk, Velocity 2010

Thursday, March 17, 2011

if ($cfg[‘awesome_new_search’]) {

# new hotness

$rsp = do_solr();

} else {

# boring old stuff

$rsp = do_grep();

}

config flags

Thursday, March 17, 2011

one install, multiple versions.

Thursday, March 17, 2011

Keep it simple.

Thursday, March 17, 2011

One button deploy

Thursday, March 17, 2011

Operability Review

Thursday, March 17, 2011

Communication

Thursday, March 17, 2011

Graph Everything!

Thursday, March 17, 2011

FAQ:Schemas? Testing and continuous integration?QA?

Thursday, March 17, 2011

/trunk/, config flags, 1B deploy, what could go wrong?, IRC, graphs

Thursday, March 17, 2011