SlideShare une entreprise Scribd logo
1  sur  148
Télécharger pour lire hors ligne
Continuous Delivery
Antipatterns
Andrzej Grzesik
ebay

#DV13-cda

@ags313
cd antipatterns; ls -al
Andrzej Grzesik
ebay

#DV13-cda

@ags313
Andrzej Grzesik

Demo
@ags313

andrzej@grzesik.it
andrzejgrzesik.info
#DV13-cda

@ags313
MY OPINIONS ARE MY OWN
disclaimer

#DV13-cda

@ags313
ABOUT:ME
I’m proud of:

#DV13-cda

@ags313
I HATE COMPUTERS
disclaimer ;-)

#DV13-cda

@ags313
QUESTIONS?

#DV13-cda

@ags313
NO!
42
IT DEPENDS
answers!

#DV13-cda

@ags313
QUESTIONS?
ask them right away!

#DV13-cda

@ags313
#DEVOXX
keep on tweeting!

#DV13-cda

@ags313
TL; DR:
RELEASE MORE OFTEN!
and don’t listen to ‘no-can-do’s

#DV13-cda

@ags313
SOFTWARE
is a people problem

#DV13-cda

@ags313
IN THE BEGINNING

#DV13-cda

@ags313
Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software.

#DV13-cda

@ags313
Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software.

#DV13-cda

@ags313
Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software.
agile manifesto, 2001

#DV13-cda

@ags313
DELIVERY IS
ORGANIZATION-SPECIFIC

#DV13-cda

@ags313
CHANGE SCENARIO

#DV13-cda

@ags313
1. PRIORITIZE PROBLEMS

#DV13-cda

@ags313
2. FIX FIRST

#DV13-cda

@ags313
REPEAT

#DV13-cda

@ags313
A LONG TIME AGO
IN A GALAXY FAR, FAR AWAY…

#DV13-cda

@ags313
SYSTEM (TM)

#DV13-cda

@ags313
DEVELOPERS

#DV13-cda

@ags313
DEVELOPERS
everywhere-sourced

#DV13-cda

@ags313
OH, WAIT

#DV13-cda

@ags313
#DV13-cda

@ags313
PUSH THEIR CODE

#DV13-cda

@ags313
SITE BREAKS

#DV13-cda

@ags313
SITE BREAKS
for two days

#DV13-cda

@ags313
DURING HOT SEASON

#DV13-cda

@ags313
ALL ROLL-BACK!

#DV13-cda

@ags313
TO WHERE?

#DV13-cda

@ags313
FROM WHERE?

#DV13-cda

@ags313
PROBLEM:
NO IDEA WHAT IS WHERE

#DV13-cda

@ags313
GIT PUSH --FORCE PROD
#randomhashisbetterthannone

#DV13-cda

@ags313
DO: --VERSION

#DV13-cda

@ags313
BETTER:
DO SEMANTIC VERSIONING
http://semver.org/

#DV13-cda

@ags313
DO: KNOW WHAT IS WHERE

#DV13-cda

@ags313
DO: KNOW WHAT IS WHERE
(have a dashboard)

#DV13-cda

@ags313
GLU
https://github.com/pongasoft/glu

#DV13-cda

@ags313
PROBLEM:
MANY TEAMS/UNSTABLE CODE

#DV13-cda

@ags313
MULTIPLE REPO IS OK
one for dev, one for releases

#DV13-cda

@ags313
GIT FLOW IS OK
http://nvie.com/posts/a-successful-git-branching-model/

#DV13-cda

@ags313
PERSONAL FAVOURITE:
STABLE MASTER

#DV13-cda

@ags313
BUSINESS CONCLUSION:

#DV13-cda

@ags313
#DV13-cda

@ags313
RELEASES == RISK
let’s avoid them!

#DV13-cda

@ags313
WHAT DO YOU GET?

#DV13-cda

@ags313
PROBLEM:
FEAR OF RELEASING

#DV13-cda

@ags313
STAGNATION CREEPS IN

#DV13-cda

@ags313
QUIET PERIODS

#DV13-cda

@ags313
RELEASE ‘TRAINS’

#DV13-cda

@ags313
RC, BETA, GOLD

#DV13-cda

@ags313
SOLUTION: INVOLVE BUSINESS
a.k.a. ‘manage stakeholders’

#DV13-cda

@ags313
SMALL CHANGES
SHOULD HAPPEN QUICKLY
great selling point

#DV13-cda

@ags313
BUILD ENVS

#DV13-cda

@ags313
OK, LET’S HAVE A PIPELINE

#DV13-cda

@ags313
PROBLEM:
SLOW

#DV13-cda

@ags313
#DV13-cda

@ags313
SOLUTION:
PARALELLIZE

#DV13-cda

@ags313
WHICH PART?

#DV13-cda

@ags313
#DV13-cda

@ags313
FREE WIN:
DECOUPLED DESIGN

#DV13-cda

@ags313
PROBLEM: RECOMPILING

#DV13-cda

@ags313
#DV13-cda

@ags313
#DV13-cda

@ags313
#DV13-cda

@ags313
HOW DO I REPLICATE PRODUCTION?

#DV13-cda

@ags313
DO: USE A BINARY REPOSITORY

#DV13-cda

@ags313
PROBLEM:
SEPARATE TEAMS

#DV13-cda

@ags313
RELEASE TEAM
dealing with ‘danger‘

#DV13-cda

@ags313
SYMPTOM:
DEALING WITH DANGER

#DV13-cda

@ags313
LIKES TO BE MANUAL
‘job security‘

#DV13-cda

@ags313
US VS THEM
‘leave me alone, I’m important’

#DV13-cda

@ags313
RELEASE PROCESSES

#DV13-cda

@ags313
CURIOUS RELEASE PROCESSES

#DV13-cda

@ags313
WORK EXPANDS TO FILL THE TIME
AVAILABLE FOR ITS COMPLETION
Parkinson’s Law

#DV13-cda

@ags313
TOO CURIOUS PROCESSES
LEAD TO

#DV13-cda

@ags313
UNOFFICIAL RELEASES

#DV13-cda

@ags313
UNOFFICIAL RELEASES
(don’t do them)

#DV13-cda

@ags313
BUNKERS

#DV13-cda

@ags313
#DV13-cda

@ags313
SOLUTION:
ENCOURAGE INTERACTIONS

#DV13-cda

@ags313
BREAK && INTEGRATE

#DV13-cda

@ags313
BREAK && INTEGRATE
repeatedly

#DV13-cda

@ags313
GAMES ARE AWESOME!
repeat the event

#DV13-cda

@ags313
PROBLEM:
MANUAL INFRASTRUCTURE

#DV13-cda

@ags313
INFRASTRUCTURE

#DV13-cda

@ags313
WE USE CHEF, WE’RE SAFE
^^

#DV13-cda

@ags313
#DV13-cda

@ags313
DID YOU TEST?

#DV13-cda

@ags313
#DV13-cda

@ags313
FOOD CRITIC
lint for chef

#DV13-cda

@ags313
lint for chef

#DV13-cda

@ags313
PUPPET VS CHEF VS …

#DV13-cda

@ags313
PROBLEM:
ENV BUILDS

#DV13-cda

@ags313
SLOW?

#DV13-cda

@ags313
#DV13-cda

@ags313
PROBLEM:
INTERNET

#DV13-cda

@ags313
QUIZ

#DV13-cda

@ags313
#DV13-cda

@ags313
NEED INTERNET TO BUILD?

#DV13-cda

@ags313
OF COURSE!

#DV13-cda

@ags313
#DV13-cda

@ags313
RUBYGEMS.ORG
CPAN.ORG
MAVEN.ORG

#DV13-cda

@ags313
RUBYGEMS.ORG
CPAN.ORG
MAVEN.ORG
go down!

#DV13-cda

@ags313
MAKE YOUR BUILD RUN WITHOUT
INTERNET
or at least try, you’ll learn fun things :-)

#DV13-cda

@ags313
APPLICATION
AND ENVIRONMENT

#DV13-cda

@ags313
SAVE TIME AND NERVES

#DV13-cda

@ags313
BINARY REPO/PROXY/…

#DV13-cda

@ags313
PROBLEM:
NO RUNTIME UPGRADE

#DV13-cda

@ags313
#DV13-cda

@ags313
#DV13-cda

@ags313
#DV13-cda

@ags313
DESKTOPS

#DV13-cda

@ags313
#DV13-cda

@ags313
FIREFOX IS UPDATING
and you can not use it

#DV13-cda

@ags313
MOBILE APPS

#DV13-cda

@ags313
WEBVIEW IS NICE

#DV13-cda

@ags313
FREQUENT RELEASES
make your user curious

#DV13-cda

@ags313
MAKE USERS SAY BYE

#DV13-cda

@ags313
CHANGE BACKEND
YOU CAN

#DV13-cda

@ags313
FORCING DOESN’T WORK

#DV13-cda

@ags313
ASK IF NEW
FEATURES THEY WANT

#DV13-cda

@ags313
PROBLEM:
DEPLOYMENT FAILURES

#DV13-cda

@ags313
#DV13-cda

@ags313
DEPLOYMENTS
DO YOU TRACK THEM?

#DV13-cda

@ags313
FAILED DEPLOYMENT PROCEDURE
ROLLBACK? OR DOWNTIME?

#DV13-cda

@ags313
DO: TEST YOUR ROLLBACK

#DV13-cda

@ags313
AS YOU TEST YOUR BACKUPS

#DV13-cda

@ags313
PROBLEM:
STATE

#DV13-cda

@ags313
LONG RUNNING ……

#DV13-cda

@ags313
SAGAS?

#DV13-cda

http://www.cs.cornell.edu/andru/cs711/2002fa/reading/sagas.pdf

@ags313
DATABASES…

#DV13-cda

@ags313
ENVIRONMENTS

#DV13-cda

@ags313
LOVE PARTIAL FAILURES

#DV13-cda

@ags313
DO: BUILD IN SWITCHES

#DV13-cda

@ags313
DO: APP IS ENV AWARE

#DV13-cda

@ags313
DEVENV

#DV13-cda

@ags313
AUTOMATE IT!

#DV13-cda

@ags313
CHEF, PUPPET, ANSIMBLE, DOCKER,
VAGRANT
pick any

#DV13-cda

@ags313
package "haproxy" do!
action :install!
end!
!
template "/etc/haproxy/haproxy.cfg" do!
source "haproxy.cfg.erb"!
owner "root"!
group "root"!
mode 0644!
notifies :restart, "service[haproxy]"!
end!
!
service "haproxy" do!
supports :restart => true!
action [:enable, :start]!
end!

#DV13-cda

@ags313
RELEASE!

#DV13-cda

@ags313
RELEASE!
…the Kraken

#DV13-cda

@ags313
#DV13-cda

@ags313
thanks!

#DV13-cda

@ags313
thanks!
please tweet && feedback!

#DV13-cda

@ags313

Contenu connexe

Plus de Andrzej Grzesik

Plus de Andrzej Grzesik (7)

Go, the one language to learn in 2014
Go, the one language to learn in 2014Go, the one language to learn in 2014
Go, the one language to learn in 2014
 
Cheffing a department
Cheffing a departmentCheffing a department
Cheffing a department
 
Java 8: the good parts!
Java 8: the good parts!Java 8: the good parts!
Java 8: the good parts!
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Git
GitGit
Git
 
Continous delivery
Continous deliveryContinous delivery
Continous delivery
 
Hbase jdd
Hbase jddHbase jdd
Hbase jdd
 

Dernier

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Dernier (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Continuous Delivery Antipatterns