Compartir vía


Sidecars en el servicio de aplicaciones Azure

En las aplicaciones de App Service de Linux (aplicaciones de solo código y contenedores personalizados), un sidecar es un contenedor auxiliar que se ejecuta en el mismo entorno que el contenedor de aplicaciones principal. Sidecars puede proporcionar servicios auxiliares (como telemetría, almacenamiento en caché o inferencia de IA) y se administran como parte de la aplicación de App Service.

¿Por qué utilizar contenedores sidecar en App Service?

Sidecars le permite agregar nuevas funcionalidades, como la supervisión, el almacenamiento en caché, la inteligencia artificial o la lógica personalizada, sin modificar el código de aplicación principal (en aplicaciones de solo código) o el contenedor principal (en contenedores personalizados). Entre las ventajas se incluyen:

  • Separación de preocupaciones: Agregue o actualice los servicios independientemente de la aplicación principal.
  • Extensibilidad: Integre extensiones precompiladas o personalizadas (por ejemplo, OpenTelemetry, Redis, Datadog, Phi-3/4 ai models).
  • Flexibilidad operativa: Administre, actualice o escale sidecars junto con la aplicación.
  • Ruta de migración: Pase de Docker Compose o soluciones de múltiples contenedores a una plataforma gestionada y escalable (consulte Cómo migrar aplicaciones de Docker Compose a sidecars en Azure App Service).

¿Cómo funcionan los contenedores sidecar en App Service?

  • Roles de contenedor: cada aplicación habilitada para sidecar tiene un contenedor principal (isMain: true) y hasta nueve contenedores sidecar (isMain: false). En la configuración del contenedor, isMain: true designa el contenedor de aplicaciones principal. Todos los demás deben tener isMain: false.
  • Gestión de redes: Todos los contenedores de la aplicación comparten el mismo espacio de nombres de red y se comunican a través de localhost. No es necesario la resolución de nombres de servicio, así que use localhost:<port>. Cada contenedor debe escuchar en un puerto único. Solo se admiten los puertos 80 y 8080 para el tráfico HTTP externo. Para la comunicación interna, use cualquier puerto único disponible.

Importante

Dado que sidecars comparten el mismo espacio de nombres de red y entorno que la aplicación principal, ejecute solo imágenes de contenedor y código de confianza como sidecars.

  • Ciclo de vida: los contenedores sidecar se inician, detienen y escalan junto con el contenedor de la aplicación principal. Cuando la aplicación se escala o se reduce horizontalmente, todos los contenedores sidecar asociados siguen el mismo ciclo de vida automáticamente.
  • Configuration: Sidecars se pueden configurar mediante el portal de Azure, plantillas de ARM o la CLI. Especifique la imagen de contenedor, las variables de entorno y otras opciones de configuración para cada contenedor. La configuración de la aplicación se comparte entre todos los contenedores. También puede establecer variables de entorno específicas del contenedor.
  • Montajes de volumen: cada contenedor puede tener sus propios montajes de volumen.
  • Authentication: Sidecars pueden extraer imágenes de registros públicos o privados, incluido el Azure Container Registry. Use credenciales de administrador o identidad administrada para registros privados.

Tipos de contenedores sidecar

  • Contenedores sidecar personalizados:: cualquier imagen de contenedor que se proporcione, como OpenTelemetry Collector, NGINX o su propio microservicio.
  • Extensiones precompiladas: Contenedores admitidos oficialmente para:
    • IA (Phi-3, Phi-4): Agregue la inferencia SLM local (modelo de lenguaje pequeño) a la aplicación.
    • Redis: Agregue una caché local de Redis para el acceso rápido a los datos.
    • Datadog: Integre la supervisión y la observabilidad de Datadog.
    • Y mucho más a medida que Azure expande el catálogo.

Preguntas más frecuentes

¿Puedo usar sidecars en mis aplicaciones de Linux existentes?

Para las aplicaciones existentes de solo código de Linux (en contenedores integrados), consulte Tutorial: Configuración de un contenedor sidecar para una aplicación Linux en Azure App Service.

Para las aplicaciones de contenedor personalizadas existentes, consulte Habilitación de la compatibilidad con contenedores sidecar para contenedores personalizados de Linux.

¿Cómo puedo supervisar y solucionar problemas de contenedores sidecar?

Use Azure Monitor, Log Analytics y la hoja Diagnosticar y resolver en Azure Portal. Los registros de todos los contenedores están disponibles en el flujo de registro de App Service.

¿Existen limitaciones?

es posible que aún no se admitan App Service Environment (ASE) ni las nubes nacionales. Consulte la documentación de Azure más reciente para obtener actualizaciones.

Más recursos