Continuous Delivery and Zero Downtime

  • 6,660 views
Uploaded on

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • nice slides - it would be nice to save them, I would like to use them in my company to get awareness to this topics
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
6,660
On Slideshare
0
From Embeds
0
Number of Embeds
16

Actions

Shares
Downloads
6
Comments
1
Likes
6

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Continuous Delivery and Zero Downtime AXEL FONTAINE @axelfontaine axelfontaine.com Entrepreneur - Public Speaker - Continuous Delivery Expert
  • 2. photon flywaydb.org getphoton.com AXEL FONTAINE @axelfontaine axelfontaine.com Entrepreneur - Public Speaker - Continuous Delivery Expert
  • 3. about questions
  • 4. Fully automated deployment of a complete application into production multiple times a day with zero downtime GOAL
  • 5. Putting things into PERSPECTIVE
  • 6. http://digitalcitizen.ca/2009/06/22/simpsons-profile-pics-for-facebook-and-other-applications/
  • 7. CONTINUOUS DELIVERY http://www.flickr.com/photos/kamshots/3096111340/
  • 8. stackoverflow.com
  • 9. stackoverflow.com
  • 10. stackoverflow.com
  • 11. stackoverflow.com
  • 12. Prerequisites
  • 13. Process http://www.flickr.com/photos/feffef/460299390/in/photostream/
  • 14. Process http://www.flickr.com/photos/feffef/460299390/in/photostream/
  • 15. Build
  • 16. Build
  • 17. Version Control
  • 18. Version Control
  • 19. Test http://www.flickr.com/photos/vitorcastillo/2994723741/
  • 20. Test http://www.flickr.com/photos/vitorcastillo/2994723741/
  • 21. DEV Build Small Tests
  • 22. DEV Build Small Tests Medium Tests
  • 23. DEV Build Small Tests Medium Tests Large Tests
  • 24. Continuous Integration DEV Build Version Control Build Small Tests Small Tests Medium Tests Medium Tests Large Tests Large Tests
  • 25. DEPLOYMENT automation http://www.flickr.com/photos/soldiersmediacenter/3650607959/
  • 26. do NOT deploy SNAPSHOTS !
  • 27. Continuous Integration DEV Build Version Control Build Small Tests Small Tests Medium Tests Medium Tests Large Tests Large Tests Release Artifact Repository
  • 28. What gets deployed? Code Configuration DB Delta
  • 29. Code Deployment Package
  • 30. backup stop install start … Deployment Script Code Deployment Package
  • 31. backup stop install start … Deployment Script Code Deployment Package
  • 32. Continuous Integration Target backup stop install start … Release Artifact Repository Deployment Script
  • 33. Configuration Maybe it could change one day Code ≠ Environments Deployment Package
  • 34. Environment Detection ? Code Deployment Package
  • 35. Environment Detection Test Code AutoConfiguration
  • 36. Continuous Integration Target backup stop install start … Release Artifact Repository Deployment Script
  • 37. DB Delta
  • 38. The Fear of DDL
  • 39. VS DML DDL
  • 40. Name Balance Homer 163 Marge 214 Bart 9 Lisa 25
  • 41. Name Balance Name Homer 0 Homer Marge 0 Bart 0 Lisa 0 DML VS Marge Bart Lisa DDL
  • 42. DB Delta Code Deployment Package
  • 43. ? Code ? Deployment Package DB
  • 44. flywaydb.org
  • 45. Continuous Integration Target backup stop install start … Release Artifact Repository Deployment Script
  • 46. MailService Registration
  • 47. MailService Registration
  • 48. MailService Registration v2 ParcelService
  • 49. Feature Toggles Branch by Abstraction MailService Registration ParcelService
  • 50. Feature Toggles Branch by Abstraction MailService Registration ParcelService
  • 51. DB
  • 52. DB
  • 53. DB
  • 54. State Management Blue/Green Deployments DB
  • 55. Surname Last_Name Surname ALTER TABLE … RENAME COLUMN
  • 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. Last_Name Last_Name DROP TRIGGER … ALTER TABLE … DROP COLUMN Surname
  • 58. Summary
  • 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. http://de.wikipedia.org/wiki/Datei:Yemen_Chameleon.jpg
  • 61. One more thing
  • 62. AXEL FONTAINE Software Development Expert @axelfontaine axelfontaine.com business@axelfontaine.com
  • 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/