Notes and Thoughts

The keeping of a second brain

Home

Container design patterns

Sidecar

An extra container to augment or extend the functionality of the main container.

Examples:

  • add HTTPS to a legacy service by using a HTTPS sidecar
  • Dynamic configuration with sidecars

Ambassador

A container that proxies the network connection to the main container.

Examples:

  • A request router that handles sharding of a service/database
  • Experimentation or request splitting

Adaptor

A container that transforms the output of the main container.

Examples:

  • Monitoring, e.g. exporting the right interface for Prometheus.
  • Logging, adaptor can transform logs of different formats to a representation that can be consumed by the log aggregator.