Continuous Deployment: Enable Faster Feedback, Safer Releases, and More Reliable SoftwareКНИГИ » ПРОГРАММИНГ
Название: Continuous Deployment: Enable Faster Feedback, Safer Releases, and More Reliable Software Автор: Valentina Servile Издательство: O’Reilly Media, Inc. Год: 2024 Страниц: 496 Язык: английский Формат: epub Размер: 13.0 MB
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, author 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.
This book explores the ideas of continuous deployment in some depth, looking at many of the nuances and complexities with examples and solutions. It explores a wide range of topics from broad deployment automation strategies like “keep your pipeline fast” through design and architectural advice like “keep things stateless where you can” and “switch to event-based architecture” to more detailed pieces of advice on topics like the invalidation of client-side Caches.
In the past couple of decades, we have seen a number of practices showcasing how speed and reliability actually go hand in hand when it comes to delivering software. DevOps, eXtreme Programming (XP), continuous integration (CI), and continuous delivery (CD): these practices have demonstrated again and again how shorter iterations improve the stability of production systems, rather than hindering it. This is because shorter iterations reduce the size of changes in each release, foster communication across roles, encourage a culture of automation, and allow for early and continuous feedback. Overall, shorter iterations and frequent deployments improve software’s stability and quality.
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 Use patterns to refactor live functionality and alter persistence layers Test and release features in production using different feature toggle configurations
Who This Book Is For: I wrote this book for fellow software industry professionals, and especially for software engineers who see value in improving their code’s path to production. In particular, this book is for you if:
• You are already familiar with continuous delivery, but not with continuous deployment, and you are curious to learn more about it. • You are familiar with continuous deployment and are wondering whether it is a viable next step for your team. • You are already set in your decision to transition to continuous deployment, but you want to know what to expect once you remove the manual gate to production. • You are starting a greenfield product and want to use this opportunity to try continuous deployment, but you are wondering how to set it up from scratch. • You are in the process of joining a team that already adopts continuous deployment, and you want to understand why and how they do it.
Even though this book’s primary audience is people who write code on a daily basis, the book can also be valuable to people in other roles, such as QA engineers, product owners, product managers, Scrum Masters, engineering managers, and people in a variety of technical leadership positions. If your job title is in this list, you might be particularly interested in Part I, “Continuous Deployment” which provides a more holistic view of the practice. In addition, chapters in Part II, “Before Development” and Part IV, “After Development” explain how to integrate other team roles in a workflow of automated deployments to production, which is fundamental to harnessing their full potential.
If you are a developer, you might want to especially focus on Part III, “During Development” which goes into great detail on how to break the development process into small, self-contained production deployments. You should also take a look at Part V, “Case Studies” where you’ll find real-world examples of companies practicing continuous deployment and see how they structure their pipelines and tools.
Скачать Continuous Deployment: Enable Faster Feedback, Safer Releases, and More Reliable Software