Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
A**I
Pietra miliare per la CI...forse un po' dispersivo
Questo libro è considerato una pietra miliare del movimento DevOps.Ed in effetti sono d'accordo sul fatto che sia il miglior libro sulle pratiche DevOps di sempre. Nelle sue pagine illustra le migliori pratiche e quali problemi risolvono.Il libro è anche una cassetta degli attrezzi di tutto ciò che va sapito sulla CI, dall'automazione della distribuzione alla gestione della configurazione alla gestione dei dati e persino ad aspetti di qualità e controllo.Forse poteva essere compattato in il libro meno dispersivo.
D**R
Fantastic Book that everyone doing CI/CD, DevOps, etc. should read
This book predates a lot of the hype around DevOps and CI/CD. It focuses on fundamental reasoning, and doesn't focus too much on specific products. I have recommended this book numerous times since buying it, as it gives you a great broad view, where-as a lot of other books will be too focused on a specific set of tools and only give you adequate advice within the limitations of that toolset - this book gives you ideals, and lets to work out how best to implement them within your environmental contstraints.
B**U
Great book on sofware delivery
I bought this book a year ago after hearing the keyword "Continuous Delivery" in a discussion. The first 4 chapters were so boring that I stopped reading it. Then, our company has started to use a continous integration "pipeline" with several stages including gerrit and pre-commit verification stage. I was really curious about what this system is called whether there is a nice article or a book describing the entities in such a system, the idea behind it, and how to create such a system properly. I failed to find.One day I decided to finish this book because I don't like to leave the things half done. Surprisingly, starting from chapter 5, I realized that this book is exactly what I was looking for. The first chapters (1-4), before, didn't gave me any clue that it is describing such a system. I really enjoyed reading every chapter afterwards even when some chapters sound uninteresting. I still kept reading all. I could see everything described in this book is relevant to my project or to companies product portfolio. I even discovered additional books that I have to read to complete the entire picture on software "product" development.I strongly recommend this book to every software engineer, test engineer, software development manager, etc. before this practice gets out of date.
B**E
Delivering value continuously is an achievable reality
Continuous Delivery from Jezz Humble and David Farley is an important contribution to the field of software development. It takes continuous integration to the logical conclusion and covers how to set up a continuous integration system which covers everything from check-in to delivery to production. It doesn't state you have to deliver directly in production, but it will explain how technically it is achievable to do that and what enormous benefits this brings to your organization.Continuous delivery consists of three parts: 1) Foundation, 2) Deployment Pipeline, and 3) Delivery EcosystemThe first four chapters cover the fundamentals the rest of the book is based on. The first chapter provides some problems with more traditional approaches and also introduces some principles extracted out of continuous delivery. The next three chapters cover topics that provide the basics of continuous delivery. Someone involved with agile development for a while is probably aware of most of this and it will be a quick read. For new people, these chapter provide a quick introduction to these topics so that you can understand the rest of the book. The chapters are: "configuration management," "continuous integration," and "implementing a testing strategy."The second part is the core of the book. It explains the continuous delivery pipeline. This pipeline is a series of stages (a series of continuous integration systems) each stage covering higher-level wider-range of testing so that the confidence in the product increases the later the stage in the deployment pipeline passes. The stages the authors recommend in the deployment pipeline are: commit, acceptance, capacity, manual, production. Each of these stages (except for manual) has its own chapter which explains tools and practices that the authors have found useful in that stage of the deployment pipeline. The part also contains an additional 'foundation' chapter about build and deployment scripting.The last part of the book is one that I myself found most interesting which covers perhaps some 'advanced' topics. The part is called "delivery ecosystem" and the chapters aren't directly related to each other but each chapter covers a common topic related to the deployment pipeline. Chapter 11 talks about managing and automating your infrastructure as part of your build also. It introduces a vast amount of topics related to automation (pupper, chef), virtualization, cloud computing and monitoring. Unfortunately, the book is only able to touch a little upon each of these topics as each of them could easily fill several others books (and they do!). Chapter 12 covers a very frequent problem in testing and test automation related to managing data. It explains several different approaches and then evaluates them and shares the experiences and recommendations of the authors. Managing test data is a common problem and is rarely covered in the amount of detail as this book does. Chapter 13 discusses different scaling options by componentizing the product and what effect this has on the continuous deployment pipeline (basically adding another dimension to the pipeline). Chapter 14 is about version control and can be summarized as "avoid branching" but the authors do a good job explaining that message and why the alternatives are indeed worst. Chapter 15 was a short (and I slightly disliked this chapter) about managing continuous delivery. It felt like the standard "and now... what actions to take"-chapter. It was a bit shallow though.When the book was published, I read it through rather quickly and liked it but didn't appreciated the depth of the book yet. I re-read it the second time more thoroughly and enjoyed the careful comparisons and explanations of the recommendations of the authors. They shared the experiences they have had very clear. The book is interesting to me as it covers a vast area and thus it is hard to not touch everything shallowly, but they don't, they go in more depth at the points where the authors feel it is appropriate (for example, parts that are controversial or often done differently).The book isn't perfect though! As some other reviewers pointed out, it is repetitive and should have been thinner. I agree with that. Also, sometimes the book side-tracks in interesting facts that are unlikely to help the reader a lot such as the history of version control. Next, the book contains some very basic things that could have perhaps been left out (or put as appendix), such as an explanation of maven. My last comment is that the book sometimes contradicts itself such as the recommendation to do things "at the beginning of the project" but then later stating that "at the beginning of the project, all these decisions will change". There I still felt the influence of standard 'project' thinking.With all these drawbacks, I still decided to rate the book five stars because I do think it is an very influential and important book. It tells and *shows* that continuous delivery is not just a perfection state but that it can be achieved today. Not only that, it can be achieved in larger projects, not just small web projects. This is a huge contribution to the industry and I think and hope that the practices of continuous delivery will become standard practices everywhere. Excellent read (except for the repetition) and highly recommended.
J**R
Un libro obligatorio para cualquier desarrollador
Aunque un poco repetitivo, es un gran libro para introducirse en el mundo de Devops. Me ha ayudado a mejorar muchos procesos de mi empresa.
Trustpilot
5 days ago
1 month ago