A helper that rides along
The sidecar pattern deploys a helper process or container alongside a main application, sharing the same lifecycle and local resources. Like a sidecar on a motorcycle, it travels with the app but does a different job. The main app handles business logic while the sidecar handles supporting concerns.
What sidecars commonly do
- Proxying network traffic, the building block of a service mesh.
- Logging and metrics collection, shipping telemetry off the host.
- Configuration and secret refresh without touching the app.
- Protocol translation so a legacy app speaks a modern transport.
Why it is attractive
- The main app stays language agnostic since the sidecar is a separate process.
- You can update the sidecar independently of the app.
- Concerns are reused across many services by deploying the same sidecar.
The cost is one extra process per instance, which adds resource overhead and a little local latency.
Key idea
A sidecar attaches a co deployed helper to handle cross cutting concerns so the main app stays simple and language agnostic.