Methods of delivering software are constantly evolving in order to increase speed to market without sacrificing reliability and stability. Mastering development end to end, from version control to production, and building production-ready code is now more important than ever. Continuous deployment takes it one step further. This method for delivering software automates the final step to production and enables faster feedback and safer releases.
Based on years of work with medium to large organizations at Thoughtworks, Valentina Servile explains how to perform safe and reliable deployments with no manual gate to production. You'll learn a framework to perform incremental, safe releases during everyday development work, structured exclusively around the challenges of continuous deployment in nontrivial, distributed systems. Complete with interviews and case studies from fellow industry professionals.
Close the feedback loop and leverage the production environment to manage your end-to-end development lifecycle efficiently. This book helps you take observability, performance, test automation, and security into account when splitting work into increments; create a daily development plan that takes immediate deployments to production into account; deploy work in progress to production incrementally without causing regressions; and more.
This book brings together all this good stuff we've been talking about for ages into a well written, well organized single place.
If you're deep into DevOps, Continuous Delivery, and classic Lean and Agile, there might not be lots of new things to discover. Despite this, the structure Valentina brings adds tremendous value.
If you're less familiar with those things, this could jump start your journey.
The premise is quite simple and the book does not hide its simplicity. It starts with a motivation for continuous deployment with mostly intuition but backed with numbers as well (mostly from the DORA reports). Once it gets into details, it also highlights the challenges and requirements, which is an essential read for anyone thinking about doing CD. About the techniques, honestly they're "quite trivial" as in most engineers would come with a similar idea if asked to hide their code in prod until ready. What's not so trivial is actually doing it with full backwards compatibility, not breaking API contracts and data consistency. The techniques presented in the book are simple in themselves, but someone has to say them out loud for you to actually notice how simple it was do it.
Valentina goes through the different aspects needed to implement continuous deployment in a project or company with a good amount of detail (including code examples). She also highlights the benefits of going this route. Even though the book is around 10 years old, it's still valid, and most people who want to learn more about continuous deployment could benefit from it.