liveBook · Manning

Continuous deployment

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

Continuous deployment is a software delivery practice that automatically deploys changes to production after they pass the required validation steps.

Continuous deployment automatically promotes infrastructure changes from a testing environment to production after required tests pass, removing the manual approval stage. section 7.1.3

Apply it when the delivery pipeline can reliably:

  • Run thorough integration and end-to-end tests that provide confidence in system behavior. section 7.1.3
  • Deploy changes directly to production without waiting for manual approval. section 7.1.3
  • Recover failures quickly through a known rollback procedure or runbook. section 7.1.3 section 7.1.4
  • Classify changes so that standard or emergency changes follow automation while major and new changes retain manual approval. section 7.1.4

Routine infrastructure change

A weekly server-tag update can use continuous deployment when its behavior is well understood, its tests are automated, and a runbook provides a safe rollback. Similar standard changes include upgrading orchestrator container images, deploying a queue, or adding a monitoring alert. section 7.1.4

Table 7.1 Types of changes and delivery approach (view table figure)

Type of change

Delivery approach

Manual approval before production?

Example

Standard

Continuous deployment

No

Adding servers to a scaling group

Emergency

Continuous deployment or manual change

No

Rolling back an operating system image to a previous version

Major

Continuous delivery

Yes

Enabling SSL for all services and infrastructure

New

Continuous delivery

Yes

Deploying a new type of infrastructure component

Compare standard, emergency, major, and new infrastructure changes with their recommended delivery approaches and approval requirements. section 7.1.4

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

How deep it goes
Explains testing, approval removal, change classification, and rollback expectations, but stops short of prescribing a specific implementation tool.
Examples
Uses server-tag updates, container-image upgrades, queues, monitoring alerts, scaling groups, and operating-system image rollbacks.
What it assumes
Assumes CI/CD practice, thorough testing, confidence in reverting changes, and familiarity with fixing deployment failures.
What you can do after
Operate automated infrastructure promotion and select approval requirements by change type.
How it connects
Connects continuous integration, continuous delivery, infrastructure as code, automated testing, rollback, and GitOps.

Also explained in

Compare how 6 books explain continuous deployment →

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.