liveBook · Manning

Image-building tool

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

A software tool that constructs machine images with specified software and configuration preinstalled.

An image-building tool constructs machine images for application runtimes such as containers or servers, with a specified environment and preinstalled configuration. section 1.5.4

A practical server workflow configures and tests the desired system, captures it as a versioned image, then provisions production servers from that image. This preserves runtime configuration while reducing repeated setup. section 1.5.4

Use image-building tools when:

  • A recurring package or process, such as the Cloud SQL Auth proxy, should be built into every application image. section 11.3.1
  • A configuration manager or startup script would otherwise repeat installation work across servers. section 11.3.1
Table 1.2 Examples of image builders and providers (view table figure)

Tool

Runtime environment

Build target

HashiCorp Packer

Containers and servers

Various (for a complete list, see www.packer.io/docs/builders)

Docker

Containers

Container registries

EC2 Image Builder

Servers

Amazon Web Services

Azure VM Image Builder

Servers

Microsoft Azure

Examples span tools for containers and servers, including Packer, Docker, EC2 Image Builder, and Azure VM Image Builder. section 1.5.4

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

How deep it goes
Defines the workflow and trade-offs but defers detailed image-building implementation.
Examples
Uses Packer, Docker, EC2 Image Builder, Azure VM Image Builder, and a Cloud SQL Auth proxy.
What it assumes
Builds on configuration management, server configuration testing, and provisioning workflows.
What you can do after
Apply it via an image builder to preserve tested configuration and deploy servers with recurring software preinstalled.
How it connects
Connects configuration management, provisioning, infrastructure as code, immutability, containers, and servers.

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.