Architecting for

CONTINUOUS DELIVERY

AXEL FONTAINE
axelfontaine.com - @axelfontaine
AXEL FONTAINE
Software Development Expert

axelfontaine.com - @axelfontaine
business@axelfontaine.com

Continuous Deliver...
about

questions
Fully automated deployment
of a complete application
into production
multiple times a day
with zero downtime

GOAL
Putting
things
into

PERSPECTIVE
http://digitalcitizen.ca/2009/06/22/simpsons-profile-pics-for-facebook-and-other-applications/
CONTINUOUS

DELIVERY

http://www.flickr.com/photos/kamshots/3096111340/
stackoverflow.com
stackoverflow.com
stackoverflow.com
stackoverflow.com
Prerequisites
Process
http://www.flickr.com/photos/feffef/460299390/in/photostream/
Process
http://www.flickr.com/photos/feffef/460299390/in/photostream/
Build
Build
Version Control
Version Control
Test
http://www.flickr.com/photos/vitorcastillo/2994723741/
Test
http://www.flickr.com/photos/vitorcastillo/2994723741/
DEV

Build

Small
Tests
DEV

Build

Small
Tests

Medium
Tests
DEV

Build

Small
Tests

Medium
Tests

Large
Tests
Continuous
Integration

DEV

Build

Version
Control

Build

Small
Tests

Small
Tests

Medium
Tests

Medium
Tests

Large
Te...
DEPLOYMENT
automation

http://www.flickr.com/photos/soldiersmediacenter/3650607959/
do
NOT
deploy
SNAPSHOTS !
Continuous
Integration

DEV

Build

Version
Control

Build

Small
Tests

Small
Tests

Medium
Tests

Medium
Tests

Large
Te...
What gets deployed?

Code

Configuration

DB Delta
Code

Deployment
Package
backup
stop
install
start
…

Deployment
Script

Code

Deployment
Package
backup
stop
install
start
…

Deployment
Script

Code

Deployment
Package
Continuous
Integration

Target
backup
stop
install
start
…

Release

Artifact
Repository

Deployment
Script
Configuration

Maybe it could
change one day

Code

≠ Environments

Deployment
Package
Environment
Detection

?
Code

Deployment
Package
Environment
Detection

Test

Code

AutoConfiguration
Continuous
Integration

Target
backup
stop
install
start
…

Release

Artifact
Repository

Deployment
Script
DB Delta
VS
DML

DDL
DB Delta

Code

Deployment
Package
?

Code

?
Deployment
Package

DB
flywaydb.org
Continuous
Integration

Target
backup
stop
install
start
…

Release

Artifact
Repository

Deployment
Script
MailService

Registration
MailService

Registration
MailService

Registration
v2
ParcelService
Feature Toggles
Branch by Abstraction

MailService

Registration

ParcelService
Feature Toggles
Branch by Abstraction

MailService

Registration

ParcelService
DB
DB
DB
State Management
Blue/Green Deployments

DB
Summary
DEV

Build

Target

Continuous
Integration

Version
Control

backup
stop
install
start
…

Build Release
Artifact
Repositor...
http://de.wikipedia.org/wiki/Datei:Yemen_Chameleon.jpg
One more thing
http://axelfontaine.com/blog/final-nail.html
http://axelfontaine.com/blog/environment-detection.html
http://martinfowler.c...
AXEL FONTAINE
Software Development Expert

@axelfontaine
axelfontaine.com
business@axelfontaine.com
XP Days Ukraine 2013 - Architecting for Continuous Delivery
XP Days Ukraine 2013 - Architecting for Continuous Delivery
XP Days Ukraine 2013 - Architecting for Continuous Delivery
XP Days Ukraine 2013 - Architecting for Continuous Delivery
XP Days Ukraine 2013 - Architecting for Continuous Delivery
XP Days Ukraine 2013 - Architecting for Continuous Delivery
XP Days Ukraine 2013 - Architecting for Continuous Delivery
XP Days Ukraine 2013 - Architecting for Continuous Delivery
XP Days Ukraine 2013 - Architecting for Continuous Delivery
XP Days Ukraine 2013 - Architecting for Continuous Delivery
XP Days Ukraine 2013 - Architecting for Continuous Delivery
XP Days Ukraine 2013 - Architecting for Continuous Delivery
XP Days Ukraine 2013 - Architecting for Continuous Delivery
XP Days Ukraine 2013 - Architecting for Continuous Delivery
Upcoming SlideShare
Loading in...5
×

XP Days Ukraine 2013 - Architecting for Continuous Delivery

593

Published on

Slides from my talk at XP Days Ukraine 2013

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
593
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
19
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

XP Days Ukraine 2013 - Architecting for Continuous Delivery

  1. 1. Architecting for CONTINUOUS DELIVERY AXEL FONTAINE axelfontaine.com - @axelfontaine
  2. 2. AXEL FONTAINE Software Development Expert axelfontaine.com - @axelfontaine business@axelfontaine.com Continuous Delivery expert Regular Speaker at Conferences Founder of Flyway flywaydb.org Working on Photon getphoton.com
  3. 3. about questions
  4. 4. Fully automated deployment of a complete application into production multiple times a day with zero downtime GOAL
  5. 5. Putting things into PERSPECTIVE
  6. 6. http://digitalcitizen.ca/2009/06/22/simpsons-profile-pics-for-facebook-and-other-applications/
  7. 7. CONTINUOUS DELIVERY http://www.flickr.com/photos/kamshots/3096111340/
  8. 8. stackoverflow.com
  9. 9. stackoverflow.com
  10. 10. stackoverflow.com
  11. 11. stackoverflow.com
  12. 12. Prerequisites
  13. 13. Process http://www.flickr.com/photos/feffef/460299390/in/photostream/
  14. 14. Process http://www.flickr.com/photos/feffef/460299390/in/photostream/
  15. 15. Build
  16. 16. Build
  17. 17. Version Control
  18. 18. Version Control
  19. 19. Test http://www.flickr.com/photos/vitorcastillo/2994723741/
  20. 20. Test http://www.flickr.com/photos/vitorcastillo/2994723741/
  21. 21. DEV Build Small Tests
  22. 22. DEV Build Small Tests Medium Tests
  23. 23. DEV Build Small Tests Medium Tests Large Tests
  24. 24. Continuous Integration DEV Build Version Control Build Small Tests Small Tests Medium Tests Medium Tests Large Tests Large Tests
  25. 25. DEPLOYMENT automation http://www.flickr.com/photos/soldiersmediacenter/3650607959/
  26. 26. do NOT deploy SNAPSHOTS !
  27. 27. Continuous Integration DEV Build Version Control Build Small Tests Small Tests Medium Tests Medium Tests Large Tests Large Tests Release Artifact Repository
  28. 28. What gets deployed? Code Configuration DB Delta
  29. 29. Code Deployment Package
  30. 30. backup stop install start … Deployment Script Code Deployment Package
  31. 31. backup stop install start … Deployment Script Code Deployment Package
  32. 32. Continuous Integration Target backup stop install start … Release Artifact Repository Deployment Script
  33. 33. Configuration Maybe it could change one day Code ≠ Environments Deployment Package
  34. 34. Environment Detection ? Code Deployment Package
  35. 35. Environment Detection Test Code AutoConfiguration
  36. 36. Continuous Integration Target backup stop install start … Release Artifact Repository Deployment Script
  37. 37. DB Delta
  38. 38. VS DML DDL
  39. 39. DB Delta Code Deployment Package
  40. 40. ? Code ? Deployment Package DB
  41. 41. flywaydb.org
  42. 42. Continuous Integration Target backup stop install start … Release Artifact Repository Deployment Script
  43. 43. MailService Registration
  44. 44. MailService Registration
  45. 45. MailService Registration v2 ParcelService
  46. 46. Feature Toggles Branch by Abstraction MailService Registration ParcelService
  47. 47. Feature Toggles Branch by Abstraction MailService Registration ParcelService
  48. 48. DB
  49. 49. DB
  50. 50. DB
  51. 51. State Management Blue/Green Deployments DB
  52. 52. Summary
  53. 53. DEV Build Target Continuous Integration Version Control backup stop install start … Build Release Artifact Repository Small Tests Small Tests Medium Tests Medium Tests Large Tests Large Tests Deployment Script
  54. 54. http://de.wikipedia.org/wiki/Datei:Yemen_Chameleon.jpg
  55. 55. One more thing
  56. 56. http://axelfontaine.com/blog/final-nail.html http://axelfontaine.com/blog/environment-detection.html http://martinfowler.com/bliki/FeatureToggle.html http://googletesting.blogspot.com/2010/12/test-sizes.html
  57. 57. AXEL FONTAINE Software Development Expert @axelfontaine axelfontaine.com business@axelfontaine.com

×