· #posobota s04e08 · Pardubice · given in Czech

Continuous Deployment is the best!

Continuous Deployment je nejlepší! A short and highly opinionated talk. Proceed with caution: I think almost every team should ship to production on every push.

Deployment vs delivery

Continuous deployment means you deploy the application to production just by pushing to source control. Nothing else. Continuous delivery is the same pipeline with one extra manual step at the end: somebody has to push the button.

Hand-drawn diagram of two pipelines: code done, unit tests, integrate, acceptance test, deploy to production. In continuous delivery every step is automatic except the last one, deploy to production, which is manual. In continuous deployment the last step is automatic too.
The only difference is the last arrow: manual for delivery, automatic for deployment.

When to go with CD?

Always. That was the whole slide.

It doesn’t matter how you deploy. It works with FTP, with sending the source code as a zip over e-mail, GitHub Pages, static pages served from a CDN, serverless, Docker and Docker Compose, Kubernetes, multicloud. The exceptions are mobile and desktop apps, where a store or an installer sits between you and the user.

So why is CD so cool?

Midnight party deployments with confidence. I showed photos from a party on a bus to make the point: when deploying is boring and safe, you can do it at any time, even at midnight in the middle of a party.

The serious list:

One warning, though. CD is not a miracle pill. It can’t fix all your problems and ineffective processes. CD is more about processes than about tooling.

Excuses vs solutions

These are the excuses I hear most often:

Tooling, the helping hand

Most of the fears above have a known answer:

And one hint to finish: don’t lock deployment to CI only. Keep a way to deploy without it, or one day you’ll be standing outside the car with the keys inside.

There is no recording of this talk.

All 17 slides
  1. Slide 1: Continuous Deployment vs Delivery
  2. Slide 2: Warning: highly opinionated, proceed with caution
  3. Slide 3: When go with CD?
  4. Slide 4: Photo: an Always product package
  5. Slide 5: Where CD works: FTP to Kubernetes; exceptions: mobile and desktop apps
  6. Slide 6: So why is CD so cool?
  7. Slide 7: Midnight party deployments with confidence!
  8. Slide 8: Photo: a party on a bus
  9. Slide 9: Photo: a party on a bus
  10. Slide 10: Why CD: productivity, shorter feedback loop, best practices
  11. Slide 11: CD can not fix all your problems
  12. Slide 12: Excuses vs. solutions
  13. Slide 13: Common excuses
  14. Slide 14: Common excuses, continued
  15. Slide 15: Tooling, the helping hand
  16. Slide 16: HINT: Do not lock deployment to CI only
  17. Slide 17: Thank you!

Related talks