Es un patrón de diseño de aplicaciones en el que la funcionalidad principal de una aplicación se desacopla en un proceso separado que se ejecuta ""al lado"" (sidecar). Este sidecar se encarga de tareas transversales como el logging, el monitoreo o la configuración de red, permitiendo que la aplicación principal se enfoque únicamente en su lógica de negocio. Aparece cada vez que se necesita confiabilidad y mantenibilidad, ya que permite añadir funcionalidades a una aplicación sin modificar su código. Es muy común en arquitecturas basadas en contenedores como Kubernetes.