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

Stop Releasing, Start Delivering

Stop Releasing, Start Delivering

Christian Mäder

March 14, 2019
Tweet

More Decks by Christian Mäder

Other Decks in Technology

Transcript

  1. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf Stop Releasing, Start Delivering Version 1.0, 14.03.2019
  2. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf Deploy to Prod on Day 2
  3. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf Small changes, often
  4. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf Sarah Wells, Technical Director FT QCon London 2019: Mature microservices and how to operate them 2017: 150 - 300 changes / mo. 2014: < 10 changes / mo.
  5. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf “Accelerate: State of DevOps 2018”, Page 14
  6. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf Sample Pipeline for the Master Branch
  7. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf Trunk Based Development (“Github Style”) Short Lived Feature Branches Big Features: Feature Flags Releases From Trunk Branches Do Not Drift Apart Easy To Refactor Recommendation: Git
  8. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf Tests! Tests! Tests! Tests!
  9. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf About Tests Unit Tests must be Quick to run (~10’) Flaky Tests are broken and must be fixed or removed! Separate Test Categories (Unit Tests, Integration Tests, End-to-End Test, …) Additional Tests: License Compatibility, Performance Regression, Dependency Vulnerability Scans, Static Code Analysis, Code Style, ...
  10. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf CI / CD Tools Want: • Configuration Files (no UI configuration) • Docker Support Other than that: Feel Free to choose Gitlab Logo is used under MIT License. Bamboo Logo is © Atlassian. GoCD Logo is © Thoughtworks. 15:20 - 15:50 Reduce your Toolchain with GitLab Michael Gerber
  11. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf No Blame No “Broken CI” Shaming. No “Root Cause Analysis”.
  12. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf Blue Green Deployment Before Deploy Green Deploy Blue Server Bl. app.v1 app.v1 app.v2 Server Gr. app.v1 app.v2 app.v2
  13. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf Canary Deployment / Staged Rollout Stage 1 Stage 2 Stage 3 Server A (30%) app.v1 app.v1 app.v2 Server B (30%) app.v1 app.v2 app.v2 Server C (30%) app.v2 app.v2 app.v2
  14. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf A/B Testing ?
  15. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf Deployments ≠ Releases !
  16. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf DevOps == CI/CD ?
  17. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf Image from https://commons.wikimedia.org/wiki/File:Devops-toolchain.svg, under permission of CC-BY-SA 4.0
  18. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf CI/CD ⊂ DevOps !
  19. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf 14. / 15. Mai 2019
  20. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf Automate All The Things ?
  21. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf How Much You Can Spend On Automation How Often You Do The Task How Much Time You Save (in 5 years) 50 / d 5 / d Daily Weekly Monthly Yearly 1 s 1 d 2 h 30 min 4 min 1 min 5 s 5 s 5 d 12 h 2 h 21 min 5 min 25 s 30 s 4 w 3 d 12 h 2 h 30 min 2 min 1 min 8 w 6 d 1 d 4 h 1 h 5 min 5 min 9 m 4 w 6 d 21 h 5 h 25 min 40 min 6 mo 5 w 5 d 1 d 2 h 1 h 10 mo 2 mo 10 d 2 d 5 h 6 h 2 mo 2 w 1d 1 d 8 w 5 d Inspired by https://xkcd.com/1205/
  22. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf “We’re not allowed to deploy to Prod” !
  23. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf nxt Engineering GmbH [email protected] Alte Gfennstrasse 72 CH-8600 Dübendorf “Work it, make it, do it, makes us Harder, better, faster, stronger” Daft Punk
  24. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf nxt Engineering GmbH [email protected] Alte Gfennstrasse 72 CH-8600 Dübendorf
  25. nxt Engineering GmbH [email protected] https://nxt.engineering +41 44 508 52 45

    Alte Gfennstrasse 72 CH-8600 Dübendorf nxt Engineering GmbH [email protected] Alte Gfennstrasse 72 CH-8600 Dübendorf Christian Mäder Senior Software Architect @cimnine christian.maeder@ 17:30 - 18:00 Offline Microservice Development with docker-compose nxt.engineering