alm forum 2014 - jose luis soria - patterns and anti-patterns for (continuous) delivery

52
Sponsored by

Upload: jose-luis-soria-teruel

Post on 05-Dec-2014

769 views

Category:

Technology


0 download

DESCRIPTION

Slides for my presentation about delivery patterns at the ALM Forum 2014 (Seattle)

TRANSCRIPT

Page 1: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Sponsored by

Page 2: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Patterns & anti-patterns for (Continuous) Delivery

Jose Luis [email protected]@jlsoriat

Page 3: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Do you fail to

version databases, config files,

dependencies, documentation, tools

or environments?

Page 4: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

backupbackup

Page 5: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

get an old version

get an old version

Page 6: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

undo changes

undo changes

Page 7: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

collaboratecollaborate

Page 8: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

track changes

track changes

Page 9: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

baselinebaseline

Page 10: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Versioneverything

Page 11: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Do you manuallybuild, package,

deploy, test,or provision

environments?

Page 12: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

mistakes(missing steps, misunderstandings,

boredom, etc.)

Page 13: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

wasted time

Page 14: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

dependency on specific

people

Page 15: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

accidents

Page 16: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Automateeverything

Page 17: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Do you manuallycopy or change

config filesto match target environments?

Page 18: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

figure out what to change

Page 19: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

omissions, mistakes

Page 20: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

sensitive info being exposed

Page 21: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Tokenizeconfiguration

Page 22: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Do you follow a complex,

multi-step procedure for

deployments?

Page 23: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

wastedtime and

effort

Page 24: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

not testing on certain

environments

Page 25: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Setup one-click deployments

Page 26: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

http://bit.ly/1mKGTqB

Page 27: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

ARIANNE 5 EXPLOSION (1996)

The Ariane 5 rocket was reusing software from the Ariane 4. Ariane 5’s faster engines exploited

an undiscovered bug: the software tried to cram a 64-bit number into a 16-bit space. 36.7 seconds

into its launch, the self destruct safety mechanism was activated.

http://en.wikipedia.org/wiki/Ariane_5#Notable_launches

Page 28: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Do you validate onlyin dev/test

environments?

Page 29: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

So, you don’t have any information about how the system will behave

in prod?

Page 30: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Deploy to a copy of production

Page 31: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

AT&T NETWORK CRASH (1990)

The failure of one switching system would cause a message to be sent to nearby switching units,

making those other systems to fail too – resulting in a cascading failure across the entire AT&T long

distance network

http://en.wikipedia.org/wiki/List_of_software_bugs#Telecommunications

Page 32: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Are you prepared to recover from failure?

Page 33: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Does it take a lot of time

and effort?

Page 34: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Is the business losing lots of money meanwhile?

Page 35: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Prepare for rollbacks

Page 36: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Do you rebuild from the same code several times during releases?

Page 37: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

shipping non-tested

binaries

Page 38: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

errors introduced by

the build sequence

Page 39: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

wasted time and resources

Page 40: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Buildonly once

Page 41: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Do you consistently avoid painful steps in your delivery process?

Page 42: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

sensitive steps left for the last

moment

Page 43: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

critical aspects of delivery not being mastered

Page 44: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

http://bit.ly/70eM6U

Page 45: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Bring the pain forward

Page 46: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Do you lack a defined, repeatable, robust and fast delivery process?

Page 47: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

failing to deliver

effectively

Page 48: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Build a Release Pipeline

Page 49: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery
Page 50: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

What about your own patterns & practices?1. Think about some

delivery practice not covered in the talk.

2. Tweet it.#almforum @jlsoriat

3. Get a copy of the book!http://aka.ms/ReleasePipeline

Page 51: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Thanks!Get my e-book (for free):http://aka.ms/ReleasePipelineBuy it:http://amzn.to/1fuo1YOGet the labs:http://aka.ms/ReleasePipeline-HOL

#almforum @[email protected]

Page 52: Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

Thank you for joining us!