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.