Continuous Delivery and Zero Downtime

18,717 views
21,039 views

Published on

Slides from my Jfokus 2014 talk about Continuous Delivery and Zero Downtime

Published in: Technology
1 Comment
9 Likes
Statistics
Notes
  • nice slides - it would be nice to save them, I would like to use them in my company to get awareness to this topics
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
18,717
On SlideShare
0
From Embeds
0
Number of Embeds
14,763
Actions
Shares
0
Downloads
6
Comments
1
Likes
9
Embeds 0
No embeds

No notes for slide

Continuous Delivery and Zero Downtime

  1. 1. Continuous Delivery and Zero Downtime AXEL FONTAINE @axelfontaine axelfontaine.com Entrepreneur - Public Speaker - Continuous Delivery Expert
  2. 2. photon flywaydb.org getphoton.com AXEL FONTAINE @axelfontaine axelfontaine.com Entrepreneur - Public Speaker - Continuous Delivery Expert
  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. The Fear of DDL
  39. 39. VS DML DDL
  40. 40. Name Balance Homer 163 Marge 214 Bart 9 Lisa 25
  41. 41. Name Balance Name Homer 0 Homer Marge 0 Bart 0 Lisa 0 DML VS Marge Bart Lisa DDL
  42. 42. DB Delta Code Deployment Package
  43. 43. ? Code ? Deployment Package DB
  44. 44. flywaydb.org
  45. 45. Continuous Integration Target backup stop install start … Release Artifact Repository Deployment Script
  46. 46. MailService Registration
  47. 47. MailService Registration
  48. 48. MailService Registration v2 ParcelService
  49. 49. Feature Toggles Branch by Abstraction MailService Registration ParcelService
  50. 50. Feature Toggles Branch by Abstraction MailService Registration ParcelService
  51. 51. DB
  52. 52. DB
  53. 53. DB
  54. 54. State Management Blue/Green Deployments DB
  55. 55. Surname Last_Name Surname ALTER TABLE … RENAME COLUMN
  56. 56. Last_Name Surname Last_Name Last_Name ALTER TABLE … DROP TRIGGER … ADD COLUMN Last_Name ALTER TABLE … CREATE TRIGGER … DROP COLUMN Surname UPDATE … SET Last_Name = Surname
  57. 57. Last_Name Last_Name DROP TRIGGER … ALTER TABLE … DROP COLUMN Surname
  58. 58. Summary
  59. 59. 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
  60. 60. http://de.wikipedia.org/wiki/Datei:Yemen_Chameleon.jpg
  61. 61. One more thing
  62. 62. AXEL FONTAINE Software Development Expert @axelfontaine axelfontaine.com business@axelfontaine.com
  63. 63. Further reading: 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 http://blog.shinetech.com/2012/12/18/simple-session-sharing-intomcat-cluster-using-the-session-in-cookie-pattern/

×