modern continuous delivery modern continuous delivery
play

Modern Continuous Delivery Modern Continuous Delivery deploy to - PowerPoint PPT Presentation

Modern Continuous Delivery Modern Continuous Delivery deploy to production deploy to production from commit #1 from commit #1 Peter Bittner Peter Bittner Developer Developer of people, companies and code of people, companies and code


  1. Modern Continuous Delivery Modern Continuous Delivery “ deploy to production deploy to production from commit #1 from commit #1

  2. Peter Bittner Peter Bittner Developer Developer of people, companies and code of people, companies and code @peterbittner, django@bittner.it painless/tox PythonTurtle ansible-role-software behave-django django-probes codeship-yaml djangocms-maps django-bootstrap-static django-apptemplates django-organice pyclean

  3. Continuous Delivery Continuous Delivery “ a set of practices and principles in software engineering aimed at building , testing , and releasing software safely , faster , more frequently , and in a sustainable way. Source: painless.software/continuous-delivery

  4. Continuous Delivery Continuous Delivery “ a set of practices and principles in software engineering aimed at building , testing , and releasing software safely , faster , more frequently , and in a sustainable way. “ the goal is to put the release schedule in the hands of the business , not in the hands of IT. Source: painless.software/continuous-delivery

  5. Continuous Continuous ?? ?? integration integration Continuous Delivery Continuous Delivery “ a set of practices and principles in software engineering aimed at building , testing , and releasing software safely , faster , more frequently , and in a sustainable way. “ the goal is to put the release schedule in the hands of the business , not in the hands of IT. Source: painless.software/continuous-delivery

  6. Continuous Continuous Continuous Continuous deployment deployment ?? ?? integration integration Continuous Delivery Continuous Delivery ?? ?? “ a set of practices and principles in software engineering aimed at building , testing , and releasing software safely , faster , more frequently , and in a sustainable way. “ the goal is to put the release schedule in the hands of the business , not in the hands of IT. Source: painless.software/continuous-delivery

  7. Modern? Modern?

  8. Modern? Modern? Immutable infrastructure Immutable infrastructure

  9. Modern? Modern? Immutable infrastructure Immutable infrastructure Container orchestration Container orchestration

  10. Modern? Modern? Immutable infrastructure Immutable infrastructure Container orchestration Container orchestration Version control + automation Version control + automation

  11. Modern? Modern? Immutable infrastructure Immutable infrastructure Container orchestration Container orchestration Version control + automation Version control + automation Cloud-native applications Cloud-native applications

  12. Choice or Lock-in? Choice or Lock-in?

  13. There must be a better way! There must be a better way! 1. Clean code 1. Clean code 2. Deploy to production 2. Deploy to production from commit #1 from commit #1

  14. Demo Demo

  15. Responsibility Layers Responsibility Layers

  16. Responsibility Layers Responsibility Layers Application Application

  17. Responsibility Layers Responsibility Layers Application Application Development Development

  18. Responsibility Layers Responsibility Layers Application Application Development Development Deployment Deployment

  19. Responsibility Layers Responsibility Layers Application Application Development Development Deployment Deployment Automation Automation

  20. Application Application One environment! 12-factor app. Build with features. Compose in environments. 1

  21. Development Development Make it easy! Standard practices. No comprehensive instructions. Simple & user-friendly! 3

  22. Deployment Deployment Make it beautiful! Easy to explain. Generate + seal your secrets, or seal + commit your secrets. 2

  23. Automation Automation Keep it simple! What you would do manually. Tell a story! ASAP 4

  24. ASAP! ASAP! as simple as possible as simple as possible

  25. Deploy to production! Deploy to production! often + from commit #1 often + from commit #1

  26. Iterate! Iterate! ... and improve ... and improve

  27. Agile, please. Agile, please. test-driven, pair-programming test-driven, pair-programming

  28. Free your software Free your software no secrets, no security holes no secrets, no security holes

  29. “ The only way to go fast The only way to go fast is to go well. is to go well. --- Robert C. Martin Source: Technology and Friends, Episode 354 , 2015

  30. Thank you! Thank you! for your precious time for your precious time Painless Software Painless Software Less pain, more fun.

  31. Pythonistas Oath Pythonistas Oath Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. 1

  32. Pythonistas Oath Pythonistas Oath Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one­­ only one ­­obvious way to do it. Although that way may not be obvious at first sight. 2

  33. Pythonistas Oath Pythonistas Oath Now is better than never. Although never is often better than * right * now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. 3

  34. Pythonistas Oath Pythonistas Oath Continuous delivery is a honking great idea. If you deploy to production from commit #1. Let's do it! ­­ I start today. Python 4

Recommend


More recommend