liveBook · Manning

Rolling update

As explained in Infrastructure as Code, Patterns and Practices: With examples in Python and Terraform

A change technique that updates similar infrastructure resources incrementally, validating each resource before proceeding to the next.

A rolling update changes a group of similar infrastructure resources one by one, testing each resource before continuing. This limits the blast radius of a failed configuration or upgrade. section 10.1.1 section 10.3

Apply the technique as an ordered, validated replacement process:

  • Create or configure one replacement resource using the new infrastructure definition. section 10.1.1
  • Deploy the application or workload to the replacement resource. section 10.1.1
  • Test the resource’s functionality before proceeding. section 10.1.1
  • Remove the old resource and repeat the process for the remaining resources. section 10.1.1

Upgrading production servers

A team upgrades DNS and load balancers first, then updates servers individually. When an override script breaks on the first upgraded server, the team fixes and tests it before continuing, keeping the remaining servers unaffected. section 13.2.2

Figure 10.1 Use rolling updates to create each new server, deploy the application, and test its functionality while minimizing disruption to other resources.

Visualize each replacement as a cycle of creating a server, deploying the application, testing functionality, and minimizing disruption to other resources. section 10.1.1

How Infrastructure as Code, Patterns and Practices: With examples in Python and Terraform covers it

How deep it goes
Explains the sequential replacement-and-test workflow and failure isolation, without detailing automation implementation.
Examples
Uses replacement servers, application tests, DNS and load-balancer upgrades, and a broken server override script.
What it assumes
Assumes infrastructure-as-code resources and validation tests, while teaching the rolling replacement sequence from its operational scenario.
What you can do after
Apply incremental infrastructure changes and diagnose failures before they affect the remaining resources.
How it connects
Connects rolling updates with infrastructure as code, refactoring, blue-green deployment, backward compatibility, and roll-forward techniques.

Also explained in

Compare how 8 books explain rolling update →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Infrastructure as Code, Patterns and Practices: With examples in Python and Terraform. The section links point to the parts of the book it draws on.