When Sidecar pattern is useful ?
When the services/components are implemented with multiple languages or technologies.
A service/component must be co-located on the same container group (pod) or host where primary application is running.
A service/component is owned by remote team or different organization.
A service which can be independently updated without the dependency of the primary application but share the same lifecycle as primary application.
If we need control over resource limits for a component or service.
Examples:
1. Adding HTTPS to a Legacy Service
2. Dynamic Configuration with Sidecars
3. Log Aggregator with Sidecar
https://medium.com/nerd-for-tech/microservice-design-pattern-sidecar-sidekick-pattern-dbcea9bed783