Practice cloud-native design pattern vocabulary: sidecar, ambassador, adapter, and strangler fig patterns for container-based architectures.
0 / 5 completed
1 / 5
An architect says 'We use the sidecar pattern to add logging without modifying the main container.' What does the sidecar pattern do?
The sidecar pattern deploys a helper container alongside the main application container in the same pod. The sidecar handles cross-cutting concerns (logging, service mesh proxy, secrets injection) without requiring changes to the main application.
2 / 5
Your design doc says 'We use the ambassador pattern to proxy network calls to the payment service.' What does the ambassador pattern provide?
The ambassador pattern places a proxy container (the ambassador) that intercepts outgoing network calls and handles concerns like retries, circuit breaking, authentication, and routing. The main container communicates with localhost; the ambassador handles the real network complexity.
3 / 5
An architecture review mentions 'the adapter pattern standardizes interfaces.' In cloud-native contexts, what does this mean?
The adapter pattern in cloud-native architecture wraps an application to make it conform to a standardized interface. For example, converting application logs from a custom format to a standard format consumed by the logging infrastructure — without changing the application itself.
4 / 5
A migration plan says 'We use the strangler fig to migrate the monolith.' What is the strangler fig pattern?
The strangler fig pattern (named after the plant that grows around a tree until it replaces it) migrates a monolith incrementally. New features are built as microservices; existing functionality is migrated piece by piece with a routing facade — avoiding a risky big-bang rewrite.
5 / 5
A colleague contrasts 'sidecar vs. init container.' What is an init container in Kubernetes?
Init containers in Kubernetes run sequentially before the main container starts. They are used for initialization tasks — downloading config, running database migrations, waiting for dependencies to be ready — and terminate once their work is done.