Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Stress-free software releases

Stress-free software releases

095536b60668fc0bb929c3ff6b72c0a1?s=128

Tosho Trajanov

November 10, 2019
Tweet

Transcript

  1. Stress-free software releases BGPHP 2019, Sofia

  2. @TsTrv CTO Adeva - An Exclusive Developers Network Fully-distributed network

    Worked with startups and Fortune 500 companies
  3. @TsTrv Building strong engineering processes

  4. @TsTrv Nirvana in software engineering

  5. @TsTrv State of the application ー Legacy, enterprise application built

    in PHP ー Being developed for over 10 years ー 0% test coverage ー 10 engineers - to keep it alive
  6. @TsTrv The problems ー Unable to ship as fast as

    we needed ー Never ending bug fixing cycles ー Full-regression testing took 3-4 weeks ー Releases once monthly ー Scheduled on weekends
  7. @TsTrv Formula for stress and burnout

  8. @TsTrv Continuous Everything

  9. @TsTrv

  10. @TsTrv Objections ー Complexity ー Risk ー Control ー Habit

  11. @TsTrv Continuous Everything

  12. @TsTrv Continuous Everything… Nirvana

  13. @TsTrv Continuous Everything… Nirvana

  14. @TsTrv Continuous Everything… Nirvana

  15. @TsTrv Continuous Everything ー If you fail, you fail small

    ー If something breaks, you know to fix immediately ー Fewer bugs ー Release new features faster ー Reduce Costs
  16. @TsTrv What could potentially go wrong?

  17. @TsTrv What could potentially go wrong right?

  18. @TsTrv Legacy code ー Strangler Pattern ー Branch By Abstraction

    Technique
  19. @TsTrv Strangler Pattern

  20. @TsTrv Branch By Abstraction

  21. @TsTrv Automated Tests

  22. @TsTrv Automated tests ー Assume legacy works flawlessly ?! ー

    Utilize new modules to Increase the code coverage
  23. @TsTrv Pipeline

  24. @TsTrv Deployment vs Release ー Decoupling ー Feature Toggles –

    Dark Launching – Phased rollout
  25. @TsTrv

  26. @TsTrv Deployment Strategy ー Blue Green ー Canary deployment

  27. @TsTrv Blue Green Deployment

  28. @TsTrv Blue Green Deployment

  29. @TsTrv Canary Deployment

  30. @TsTrv Mindset ー Everyone should participate ー Not a DevOps

    work only ー Continuous improvement, day by day
  31. @TsTrv Actions ー Wrapped up the legacy code ー Faked

    automated tests for the legacy ー Identified pipeline ー Decoupled releases from deployment ー Created a culture of continuous improvement
  32. @TsTrv Wins ー Release code to production multiple times daily.

    ー Production bugs lowered by 80% ー From bug report to deploy < 30 mins ー No more weekends work
  33. @TsTrv Always strive for continuous improvement, instead of perfection.

  34. @TsTrv Thank you