The first thing that comes to mind when we say the word sidecar is a pilot on a motorbike who has their co-pilot in a small capsule attached to the motorbike itself.
The same kind of suggestion can be applied to software. Suppose you have an application with a component attached to it. However, in software context, the sidecar is a component that can be plugged and unplugged from the main application, because it must be isolated and cannot impact the application in case it starts misbehaving. This will be something that's collateral to the application. The most used scenarios for a sidecar are monitoring, logging, metrics, and so on.
A sidecar container should be configurable so that it can be plugged into any application—it doesn't have to be just a single application, either. The best match for sidecars are containers. The application container can be...