Source
Book cube
The review is based on a post by Alexander Polomodov.
Grokking Continuous Delivery
Authors: Christie Wilson
Publisher: Manning Publications
Length: 424 pages
A practical introduction to CI/CD from Christie Wilson: pipelines, version control, secure deployment and DORA metrics.
Original
TranslatedIntroduction
“Grokking Continuous Delivery” is a book by Christy Wilson from Google that explains modern approaches to continuous delivery literally from the basics. The opening remarks were written by two respected engineers:
- Jez Humble — co-author of the books “Continuous Delivery”, “DevOps Handbook”, “Accelerate”
- Eric Brewer — author of the CAP theorem, participant in the development of Google Spanner, VP Infrastructure & Google Fellow
The book consists of 4 parts, 13 chapters and 2 appendices. A special feature of the approach is the analysis of almost real problems of fictional companies (“Cat Picture”, “Super Game Console”, “Ice Cream for All”), which allows us to show the evolutionary development of engineering processes, rather than an ideal picture.
Related chapter
SRE Book
Reveals the topic of release automation from the point of view of operational reliability.
Book structure
Part 1: Introducing continuous delivery
- Chapter 1: Welcome to Grokking Continuous Delivery
- Chapter 2: A basic pipeline
Part 2: Keeping software in a deliverable state
- Chapter 3: Version control is the only way to roll
- Chapter 4: Use linting effectively
- Chapter 5: Dealing with noisy tests
- Chapter 6: Speeding up slow test suites
- Chapter 7: Give the right signals at the right times
Part 3: Making delivery easy
- Chapter 8: Easy delivery starts with version control
- Chapter 9: Building securely and reliably
- Chapter 10: Deploying confidently
Part 4: CD design
- Chapter 11: Starter packs: From zero to CD
- Chapter 12: Scripts are code, too
- Chapter 13: Pipeline design
Key principles
🔧 Tool independence
The book is not tied to specific CI/CD tools - there is a separate appendix for this with an overview of their capabilities
🌱 Green-field and Brown-field
Instructions for setting up pipelines for both new projects and existing legacy systems
📊DORA metrics
Tracking the quality of the delivery process through Deployment Frequency, Lead Time, MTTR, Change Failure Rate
🔐 VCS as a source of truth
Version Control System - the single source of truth for code, configurations and infrastructure
CI vs CD vs Continuous Deployment
| Practice | Description | Automation |
|---|---|---|
| Continuous Integration | Regular merging of code into a common branch with automatic build and testing | Build + Tests |
| Continuous Delivery | The code is always ready for deployment, but deployment requires manual confirmation | Build + Tests + Staging |
| Continuous Deployment | Every change is automatically transferred to production | Full automation |
Interactive pipeline visualization
Click “Run” to see how the artifact passes through all stages of the CI/CD pipeline. The “Simulate failure” button will show what happens when tests fail.
CI/CD Pipeline
Commit
Code reaches VCS
Build
Artifact build
Lint
Static analysis
Test
Unit & integration tests
Security
Vulnerability scanning
Staging
Deploy to staging
Production
Deploy to production
Pipeline stages:
Best practices from the book
1. The right signals at the right time
Use pipeline steps to get clear signals that the software is ready for deployment. Fast checks are at the beginning, slow checks are at the end.
2. Secure deployment
Automation should include rollback mechanisms, canary deployments and feature flags to minimize risks.
3. Scripts are also code
CI/CD scripts must undergo code review, be tested and versioned along with the main application code.
4. Dealing with noisy tests
Flaky tests undermine the credibility of the pipeline. They need to be isolated, repaired or removed, but not ignored.
Who is this book for?
The book is recommended for those who are starting their journey in IT - it is better to get acquainted with the theory of what engineering processes should look like from the book than to try to come to them in practice through a rake.
P.S. The book was published in Russian by the Peter Publishing House under the title “Grokaem Continuous Delivery” and was translated quite well.
