liveBook · Manning

Immutable machine

As explained in Amazon Web Services in Action, Third Edition: An in-depth guide to AWS

An immutable machine is a deployment pattern in which a machine image is replaced rather than modified in place when software changes.

An immutable machine is a deployment pattern that bundles the runtime, required libraries, and application code into an Amazon Machine Image (AMI). Deployments launch new EC2 instances from the new image and terminate the old instances instead of modifying machines in place. section 16.3.4

A typical immutable-machine deployment follows this sequence:

  • Build an AMI containing the application and its runtime, using Packer. section 16.3.4
  • For a new application version, create another image, launch replacement instances, and terminate the old instances. section 16.3.4

Imagery deployment

The Imagery application packages separate server and worker components into shared AMIs. CloudFormation creates the surrounding infrastructure, while launch templates use the selected AMI for an Auto Scaling deployment. section 16.3.4

How Amazon Web Services in Action, Third Edition: An in-depth guide to AWS covers it

How deep it goes
Explains AMI contents, Packer construction, and replacement instances, but defers detailed image-building mechanics to earlier coverage.
Examples
Uses the Imagery server and worker AMIs, Packer configuration, and CloudFormation launch-template definitions.
What you can do after
Operate/configure an immutable AWS deployment with Packer-built AMIs and CloudFormation-managed EC2 launch templates.
How it connects
Connects AMIs with Packer, EC2 instances, launch templates, Auto Scaling groups, and CloudFormation.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Amazon Web Services in Action, Third Edition: An in-depth guide to AWS. The section links point to the parts of the book it draws on.