From 100, to 1000+ deployments a day [TechoramaNL editie]

C1d39cd3809e83af7958c6f45fa3c4f2?s=47 Pat Hermens
October 03, 2018

From 100, to 1000+ deployments a day [TechoramaNL editie]

C1d39cd3809e83af7958c6f45fa3c4f2?s=128

Pat Hermens

October 03, 2018
Tweet

Transcript

  1. 1.
  2. 5.
  3. 6.
  4. 11.
  5. 12.
  6. 13.
  7. 14.
  8. 15.
  9. 16.
  10. 17.
  11. 20.

    … Apparently we are too much trained to disregard differences

    in scale, to treat them as “gradual differences that are not essential.” We tell ourselves that what we can do once, we can also do twice and by induction, we fool ourselves into believing that we can do it as many times as needed, but this is just not true! ...
  12. 21.

    ... A one-year old child will crawl on all fours

    with a speed of, say, one mile per hour. But a speed of a thousand miles per hour is that of a supersonic jet. Considered as objects with moving ability the child and the jet are incomparable, for whatever one can do the other cannot and vice versa. — Edsger Dijkstra, 1969
  13. 22.
  14. 24.
  15. 25.

    25 @phermens The “faster to master” checklist Developing ⬜ Coding

    guidelines ⬜ Code reviews ⬜ Code analysis ⬜ Short-lived branches ⬜ Feature toggles Monitoring ⬜ Defined key metrics ⬜ Measure – create dashboards ⬜ Proactivity – add alerting (& act!) Testing ⬜ Unit tests ⬜ Module tests ⬜ Integration tests ⬜ End-to-end tests ⬜ Test automation Deploying ⬜ Continuous Integration ⬜ Continuous Delivery ⬜ Infrastructure as Code
  16. 26.

    26 @phermens Developing ☑ Coding guidelines ☑ Code reviews ☑

    Code analysis ☑ Short-lived branches ☑ Feature toggles Monitoring ☑ Defined key metrics ☑ Measure – create dashboards ☑ Proactivity – add alerting (& act!) Testing ☑ Unit tests ☑ Module tests ☑ Integration tests ☑ End-to-end tests ☑ Test automation Deploying ☑ Continuous Integration ☑ Continuous Delivery ☑ Infrastructure as Code The “faster to master” checklist
  17. 27.

    27 @phermens Developing ☑ Coding guidelines ☑ Code reviews ☑

    Code analysis ☑ Short-lived branches ☑ Feature toggles Monitoring ☑ Defined key metrics ☑ Measure – create dashboards ☑ Proactivity – add alerting (& act!) Testing ☑ Unit tests ☑ Module tests ☑ Integration tests ☑ End-to-end tests ☑ Test automation Deploying ☑ Continuous Integration ☑ Continuous Delivery ☑ Infrastructure as Code The “faster to master” checklist ☑
  18. 28.

    28 @phermens Developing ☑ Coding guidelines ☑ Code reviews ☑

    Code analysis ☑ Short-lived branches ☑ Feature toggles Monitoring ☑ Defined key metrics ☑ Measure – create dashboards ☑ Proactivity – add alerting (& act!) Testing ☑ Unit tests ☑ Module tests ☑ Integration tests ☑ End-to-end tests ☑ Test automation Deploying ☑ Continuous Integration ☑ Continuous Delivery ☑ Infrastructure as Code The “faster to master” checklist
  19. 29.
  20. 38.

    38 @phermens Hosting & Deployment “DevOps” Team H Team A

    Team D Team G Team E Team J Team F Team B Team I Team C
  21. 39.

    39 @phermens Hosting & Deployment “DevOps” Team H Team A

    Team D Team G Team E Team J Team F Team B Team I Team C
  22. 40.

    40 @phermens Hosting & Deployment “DevOps” Team H Team A

    Team D Team G Team E Team J Team F Team B Team I Team C
  23. 41.

    41 @phermens Hosting & Deployment “DevOps” Team H Team A

    Team D Team G Team E Team J Team F Team B Team I Team C
  24. 42.

    42 @phermens Hosting & Deployment “DevOps” Team H Team A

    Team D Team G Team E Team J Team F Team B Team I Team C
  25. 43.

    43 @phermens Team H Team A Team C Team G

    Team E Team J Team F Team B Team I Team C Team D Team L Hosting & Deploy- ment
  26. 49.
  27. 50.
  28. 52.
  29. 53.
  30. 54.
  31. 55.
  32. 56.
  33. 57.
  34. 58.
  35. 77.

    77 @phermens AWS Lambda stats for Vanessa Optima Prime (as

    of 2018-09-28) Last 30 days Last 7 days
  36. 78.

    78 @phermens AWS Lambda stats for Vanessa Optima Prime (as

    of 2018-09-28) Last 30 days Last 7 days
  37. 100.
  38. 101.
  39. 102.
  40. 103.
  41. 105.
  42. 107.
  43. 109.
  44. 111.
  45. 112.
  46. 114.
  47. 115.
  48. 116.
  49. 117.
  50. 119.
  51. 120.
  52. 123.
  53. 128.

    128 @phermens The “100 to 1,000” checklist Responsibility ⬜ Can

    I control my deployments? ⬜ Have I removed all bottlenecks? ⬜ Do I have good support systems? ⬜ Am I collaborating with my peers? Autonomy ⬜ Freedom to innovate/improve? ⬜ Am I in control and independent? ⬜ Can I find out what went wrong? ⬜ Do I have the skills to fix it? Ownership ⬜ Agreed interfaces or contracts? ⬜ Out-of-the-box solutions? ⬜ Tooling is 100% automated? ⬜ Local build == “Production” build? Failure ⬜ Monitoring = Alerting = Action ⬜ Take pride in improving ⬜ Small deliverables, quickly ⬜ Non-blocking deployments
  54. 129.
  55. 131.

    131 @phermens The “faster to master” checklist Developing ⬜ Coding

    guidelines ⬜ Code reviews ⬜ Code analysis ⬜ Short-lived branches ⬜ Feature toggles Monitoring ⬜ Defined key metrics ⬜ Measure – create dashboards ⬜ Proactivity – add alerting (& act!) Testing ⬜ Unit tests ⬜ Module tests ⬜ Integration tests ⬜ End-to-end tests ⬜ Test automation Deploying ⬜ Continuous Integration ⬜ Continuous Delivery ⬜ Infrastructure as Code
  56. 132.

    132 @phermens The “100 to 1,000” checklist Responsibility ⬜ Can

    I control my deployments? ⬜ Have I removed all bottlenecks? ⬜ Do I have good support systems? ⬜ Am I collaborating with my peers? Autonomy ⬜ Freedom to innovate/improve? ⬜ Am I in control and independent? ⬜ Can I find out what went wrong? ⬜ Do I have the skills to fix it? Ownership ⬜ Agreed interfaces or contracts? ⬜ Out-of-the-box solutions? ⬜ Tooling is 100% automated? ⬜ Local build == “Production” build? Failure ⬜ Monitoring = Alerting = Action ⬜ Take pride in improving ⬜ Small deliverables, quickly ⬜ Non-blocking deployments