the continuous delivery value - funaro
DESCRIPTION
Slides from David Funaro talk @ codemotion roma 2014TRANSCRIPT
![Page 1: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/1.jpg)
The Continuous Delivery Value
12 - 04 - 2014
ROME 11-12 April 2014
David Funaro
Crash dei sistemi, Migrazioni fallite, aggiornamenti interrotti: sono tutte problematiche che nessuno vorrebbe mai incontrare durante l'introduzione di nuove funzionalità nel proprio applicativo (deploy) e ... la speranza non basta. L'attività di deploy è importante tanto quanto quelle che la precedono. La Continuous Delivery è un insieme di strumenti e metodologie che permetteranno di rendere i rilasci a basso rischio, economici, veloci, predicibili e ... sonni tranquilli.
![Page 2: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/2.jpg)
The Continuous Delivery
Value
12 - 04 - 2014
![Page 3: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/3.jpg)
David Funaro
@ingdavidino
davidfunaro.com
![Page 4: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/4.jpg)
First Release
![Page 5: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/5.jpg)
Release Day
![Page 6: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/6.jpg)
WRONG WAY
This talk is for you…
![Page 7: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/7.jpg)
Overview
![Page 8: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/8.jpg)
Facts
keep system up and running
release new features as soon as possible
IT Business
![Page 9: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/9.jpg)
… with CD
ITBu
sine
ss
![Page 10: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/10.jpg)
RELEASE
FEEDBACK
new features monetize bug
performance layout
![Page 11: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/11.jpg)
RELEASE
? Miss Release Price ?
€
![Page 12: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/12.jpg)
Reaction MetricsC
hang
e
REL
EASE
Time
Security
Skills
Cost
Predictable
Stress
Repeatability
![Page 13: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/13.jpg)
• How many time you need to release software
Time
![Page 14: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/14.jpg)
• Everything will be ok ?
• Can i be sure that every needed step will be done ?
• Exceptions, are managed ?
• Data migration goes well ?
• Can i go back (rollback) ?
Security
![Page 15: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/15.jpg)
• Have, the selected person, all the skill needed to terminate the procedure ?
• What about his behavior in some exception flow case
Skills
![Page 16: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/16.jpg)
• How many people you need ?
• For how many time ?
• Other Resources ?
Cost
![Page 17: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/17.jpg)
• are you able to indicate how much time will care ?
Predictable
![Page 18: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/18.jpg)
• What about the stress
• stress => error-prone
Stress
![Page 19: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/19.jpg)
• Just finish a deploy. Software released. A bug is found. You have to re-start the deploy procedure
Repeatability
![Page 20: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/20.jpg)
Reaction Metrics
REL
EASE
Production
Testing
Staging
Time
Security
Skills
Cost
Predictable
Stress
Repeatability
![Page 21: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/21.jpg)
No Automation Process ?
![Page 22: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/22.jpg)
Lots of things to consider
• Code evolution
• Code dependency management
• System evolution management
• Data management and architecture
• Component management
![Page 23: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/23.jpg)
Software Release
• Low Risk
• Cheap
• Frequent
• Rapid
• Predictable
... should be
Continuous Delivery
![Page 24: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/24.jpg)
CD requirements
• Source Code Management
• Continuous Integration Server
• Automated Deploy
• Real Time Alerting
• Root Cause Analysis
![Page 25: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/25.jpg)
CD FLOW
Commit /pushAutomated
Testing
FAIL
SUCCESS Automated Deploy
Procedure
notify
Basic Scenario
![Page 26: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/26.jpg)
![Page 27: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/27.jpg)
Deploy Pipeline
Commit StageCompile UnitTest Analysis
Build Installers
ReleaseAutomated acceptance
testign
Automated capacity testing
Manual TestingShowcasesExplorarory
testing
example
![Page 28: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/28.jpg)
ContinuousDelivery
Tools
MethodologiesPractices
Cautions
![Page 29: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/29.jpg)
Anti-patterns
• Deploy software manually
• Manual Configuration
• Deploy to a production-like Env Only after development is complete
![Page 30: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/30.jpg)
Benefits
• Empower Team
• Reducing Errors
• Lowering Stress
• Deployment Flexibility
• Practice Make Perfect
![Page 31: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/31.jpg)
Keep Everything in version control
Automate Almost Everything
Principles
If it hurts, do i more frequently
Done means released
Build quality in
![Page 32: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/32.jpg)
SECTION ISource Code Management
![Page 33: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/33.jpg)
i sent you a mail with the last change
... are you shure ?
i can’t find the new file ?!?
The problem
![Page 34: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/34.jpg)
![Page 35: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/35.jpg)
SCM : What is it ?
3
57
10
Repository
![Page 36: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/36.jpg)
Local
Check-out
Pull
8
29
![Page 37: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/37.jpg)
Check-in
Push
Local
3 4
![Page 38: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/38.jpg)
SCM : What it does ?
• Keeping multiple file version
• Collaboration
![Page 39: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/39.jpg)
CHECK POINT
![Page 40: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/40.jpg)
Application Evolution
![Page 41: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/41.jpg)
Collaboration
![Page 42: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/42.jpg)
isn’t just for source code
Cautions
you need everything required to re-create your application’s binaries and the environments in
which they run.
![Page 43: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/43.jpg)
Best Practice
• Little Commit
• Frequent Commit
• Consistent commit
• User Meaningful Commit message
![Page 44: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/44.jpg)
Different Products
![Page 45: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/45.jpg)
SECTION IIContinuous Integration
![Page 46: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/46.jpg)
After your commit nothing works anymore
Ops
INTEGRATION PROBLEM
(after one commit )
After your commit nothing works anymore
But ... “was working on my computer”
![Page 47: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/47.jpg)
Ops (after deploy in prod)
INTEGRATION PROBLEM
It was working on the stage environment !!!
![Page 48: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/48.jpg)
sleepless nights before demo ... bug just after release
![Page 49: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/49.jpg)
Cos
t
Analysis Design Implementation Testing Release
Resolve defects
![Page 50: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/50.jpg)
t
integration
Regression
Working
Broken
Effort
![Page 51: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/51.jpg)
In software development the components integration need to be tested continuosly...
!
in order to find inconsistenciesas soon as possible
Good Solution
![Page 52: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/52.jpg)
Continuous Integration
![Page 53: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/53.jpg)
Cont inuous In tegrat ion i s a so f tware development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day.
Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.
Martin Fowler
![Page 54: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/54.jpg)
Requirements
Source Code Management
![Page 55: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/55.jpg)
Requirements
![Page 56: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/56.jpg)
Agile-Testing-Quadrants
![Page 57: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/57.jpg)
F
F
F
F
F
FF
F
Checkout last Commit
CI Flow
Build and Tests Process
![Page 58: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/58.jpg)
Build & Test
✓ Process creating executable code
✓Unit test
✓Quality criteria
✓ Functional Test
✓Non Functional Test
Valid Syntax Compile
Code behavior
Code coverage, Mass detector
Business Acceptance Criteria
Application performance
PASS
![Page 59: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/59.jpg)
CI - Reduce Risk
• Say goodbye to long and tense integrations
• Increase visibility which enables greater communication
• Catch issues fast and nip them in the bud
• Spend less time debugging and more time adding features
• Proceed in the confidence you’re building on a solid foundation
• Stop waiting to find out if your code’s going to work
• Reduce integration problems allowing you to deliver software more rapidly
![Page 60: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/60.jpg)
CI - Output
System Status Documentation/Artifacts Quality Check
![Page 61: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/61.jpg)
“Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and
remove.”
Martin Fowler
![Page 62: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/62.jpg)
Ci - Best practice
• CI server === Production Server
• Integrate it from the first commit
• Find best way to get notified
![Page 63: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/63.jpg)
Immediate feedback on the health of the system
![Page 64: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/64.jpg)
![Page 65: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/65.jpg)
Ci - software
... more and more
![Page 66: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/66.jpg)
SECTION IIIAutomated Deploy
![Page 67: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/67.jpg)
Deployment
“is all the activities that make a software system available for use”
Wikipedia
![Page 68: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/68.jpg)
A Critical part of the application life-cycle
Deployment
![Page 69: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/69.jpg)
RELEASE
Real ?
RELEASERELEASERELEASERELEASERELEASERELEASERELEASERELEASERELEASERELEASERELEASEfeedback
![Page 70: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/70.jpg)
Deployment
• Low Risk
• Cheap
• Frequent
• Rapid
• Predictable
![Page 71: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/71.jpg)
Low Risk
• Exception catched
• Rollback
• Data on secure
![Page 72: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/72.jpg)
Cheap
• no more than one click
• no more than one person
• no skilled person
![Page 73: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/73.jpg)
Frequent
• to get feedback
![Page 74: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/74.jpg)
Rapid
![Page 75: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/75.jpg)
Predictable
![Page 76: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/76.jpg)
Incomplete ways
![Page 77: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/77.jpg)
is that a deploy procedure ?
$ git pull origin master
$ svn update
Remote Desktop Versioning update
![Page 78: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/78.jpg)
• Incomplete
• Manual procedure
• Slow
• Server Downtime
• No data migration
• No Rollback
Problems
![Page 79: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/79.jpg)
Automated Deployment Goals
![Page 80: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/80.jpg)
one click deploy
Deploy
Automated Deployment Goals
![Page 81: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/81.jpg)
AnyTime AnyWhere AnyOne
Automated Deployment Goals
![Page 82: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/82.jpg)
Rollback
Automated Deployment Goals
![Page 83: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/83.jpg)
no downtime
Automated Deployment Goals
![Page 84: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/84.jpg)
Scalable
Frontend 1 Frontend 1I Frontend III
Balancer
Automated Deployment Goals
![Page 85: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/85.jpg)
Deployment Elements
• Executable Code
• Dependency Management
• Software configuration
• Infrastructure Management
• Data Migrations
• Manage Cache
• Manage Assets
![Page 86: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/86.jpg)
Executable code (SCM)
![Page 87: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/87.jpg)
Dependency Management
![Page 88: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/88.jpg)
How you keep updated your libraries dependencies ?
to get the feature 103 done, i use library XXX
ok, i’ll note it here ...
to get the feature 103 done, i use library XXX
OK
![Page 89: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/89.jpg)
PIP
![Page 90: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/90.jpg)
![Page 91: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/91.jpg)
Data Migration
![Page 92: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/92.jpg)
What if, after your first production deployment, you have to change the Entity Relationship ?
![Page 93: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/93.jpg)
![Page 94: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/94.jpg)
Infrastructure Management
![Page 95: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/95.jpg)
How you keep updated your OS componets/libraries ?
to get the feature 103 done, i use library XXX, that require
the module 288
ok, i’ll note it here ...
to get the feature 103 done, i use library XXX, that require
the module 903OK
![Page 96: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/96.jpg)
A way to setup your environment
![Page 97: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/97.jpg)
Write Configuration
Script
Versionable
![Page 98: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/98.jpg)
Environment Management
![Page 99: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/99.jpg)
Production TestingStaging
![Page 100: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/100.jpg)
Manual - Follow recipe
• Integrity problems
• Problem with exception handling
• Basic Skills requirements
• Time consuming - expensive
• Error - prone
• Stress
![Page 101: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/101.jpg)
Build a custom Script• Do a backup
• Create new directory
• Update the code
• Update dependencies
• Run migration data
• Update Environements
• Warm up cache
• ...
![Page 102: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/102.jpg)
![Page 103: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/103.jpg)
Existing Tools
Fabric
... and more others
![Page 104: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/104.jpg)
Build quality in
Done means released
If it hurts, do i more frequently
Automate Almost Everything
Keep Everything in version control
![Page 105: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/105.jpg)
![Page 106: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/106.jpg)
David Funaro
@ingdavidinodavidfunaro.com
Thanks
![Page 107: The Continuous delivery value - Funaro](https://reader038.vdocument.in/reader038/viewer/2022103015/54c4ac9e4a79594e358b45d2/html5/thumbnails/107.jpg)