alm forum 2014 - jose luis soria - patterns and anti-patterns for (continuous) delivery
DESCRIPTION
Slides for my presentation about delivery patterns at the ALM Forum 2014 (Seattle)TRANSCRIPT
Sponsored by
Patterns & anti-patterns for (Continuous) Delivery
Jose Luis [email protected]@jlsoriat
Do you fail to
version databases, config files,
dependencies, documentation, tools
or environments?
backupbackup
get an old version
get an old version
undo changes
undo changes
collaboratecollaborate
track changes
track changes
baselinebaseline
Versioneverything
Do you manuallybuild, package,
deploy, test,or provision
environments?
mistakes(missing steps, misunderstandings,
boredom, etc.)
wasted time
dependency on specific
people
accidents
Automateeverything
Do you manuallycopy or change
config filesto match target environments?
figure out what to change
omissions, mistakes
sensitive info being exposed
Tokenizeconfiguration
Do you follow a complex,
multi-step procedure for
deployments?
wastedtime and
effort
not testing on certain
environments
Setup one-click deployments
http://bit.ly/1mKGTqB
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
Do you validate onlyin dev/test
environments?
So, you don’t have any information about how the system will behave
in prod?
Deploy to a copy of production
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
Are you prepared to recover from failure?
Does it take a lot of time
and effort?
Is the business losing lots of money meanwhile?
Prepare for rollbacks
Do you rebuild from the same code several times during releases?
shipping non-tested
binaries
errors introduced by
the build sequence
wasted time and resources
Buildonly once
Do you consistently avoid painful steps in your delivery process?
sensitive steps left for the last
moment
critical aspects of delivery not being mastered
Bring the pain forward
Do you lack a defined, repeatable, robust and fast delivery process?
failing to deliver
effectively
Build a Release Pipeline
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
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]
Thank you for joining us!