Partager via


Les sidecars dans le service d'applications Azure

Dans les applications App Service Linux (applications en code seule et conteneurs personnalisés), un side-car est un conteneur auxiliaire qui s’exécute dans le même environnement que votre conteneur d’application principal. Les sidecars peuvent fournir des services de prise en charge (comme la télémétrie, la mise en cache ou l’inférence IA) et sont gérés dans le cadre de votre application App Service.

Pourquoi utiliser des side-cars sur App Service ?

Les side-cars vous permettent d’ajouter de nouvelles fonctionnalités, telles que la surveillance, la mise en cache, l’IA ou la logique personnalisée, sans modifier votre code d’application principal (dans les applications code uniquement) ou votre conteneur principal (dans des conteneurs personnalisés). Les avantages sont les suivants :

  • Séparation des préoccupations : Ajoutez ou mettez à jour des services indépendamment de votre application principale.
  • Extensibilité: Intégrez des extensions prédéfinies ou personnalisées (par exemple, OpenTelemetry, Redis, Datadog, Phi-3/4 AI).
  • Flexibilité opérationnelle : gérez, mettez à niveau ou mettez à l’échelle des side-cars avec votre application.
  • Chemin de migration : Passer de Docker Compose ou de solutions multi-conteneurs à une plateforme managée et évolutive (consultez Migrer des applications Docker Compose vers des sidecars dans Azure App Service).

Comment fonctionnent les sidecars dans App Service ?

  • Rôles de conteneur : Chaque application avec sidecar a un conteneur principal (isMain: true) et jusqu’à neuf conteneurs sidecar (isMain: false). Dans la configuration du conteneur, isMain: true désigne le conteneur d’application principal. Tous les autres doivent avoir isMain: false.
  • Réseautage: Tous les conteneurs de l’application partagent le même espace de noms réseau et communiquent sur localhost. Il n’est pas nécessaire de résoudre les noms de service, utilisez donc localhost:<port>. Chaque conteneur doit écouter sur un port unique. Seuls les ports 80 et 8080 sont pris en charge pour le trafic HTTP externe. Pour la communication interne, utilisez n’importe quel port unique disponible.
  • Cycle de vie : les sidecars démarrent, s’arrêtent et s’effectuent à l’échelle avec le conteneur d’application principal. Lorsque votre application effectue un scale-out ou un scale-in, tous les conteneurs sidecar associés suivent automatiquement le même cycle de vie.
  • Configuration: Les side-cars peuvent être configurés via le portail Azure, les modèles ARM ou l’interface CLI. Vous spécifiez l’image conteneur, les variables d’environnement et d’autres paramètres pour chaque conteneur. Les paramètres d’application sont partagés entre tous les conteneurs. Vous pouvez également définir des variables d’environnement spécifiques au conteneur.
  • Montages de volume : Chaque conteneur peut avoir ses propres montages de volume.
  • Authentification : Les sidecars peuvent extraire des images à partir de registres publics ou privés, incluant Azure Container Registry. Utilisez une identité gérée ou des identifiants d'administrateur pour les registres privés.

Types de sidecars

  • Sidecars personnalisés : toute image conteneur que vous fournissez, telle qu’OpenTelemetry Collector, NGINX ou votre propre microservice.
  • Extensions prédéfinies : Conteneurs officiellement pris en charge pour :
    • IA (Phi-3, Phi-4) : Ajoutez une inférence SLM locale (modèle de petite langue) à votre application.
    • Redis : Ajoutez un cache Redis local pour un accès rapide aux données.
    • Datadog : Intégrez la surveillance et l’observabilité de Datadog.
    • Et bien plus encore, Azure développe le catalogue.

Questions fréquentes

Puis-je utiliser des sidecars dans mes applications Linux existantes ?

Pour les applications linux uniquement existantes (dans des conteneurs intégrés), consultez Tutoriel : Configurer un conteneur sidecar pour une application Linux dans Azure App Service.

Pour les applications de conteneur personnalisées existantes, consultez Activer la prise en charge des sidecars pour les conteneurs personnalisés Linux.

Comment surveiller et dépanner les sidecars ?

Utilisez Azure Monitor, Log Analytics et le panneau Diagnostiquer et Résoudre dans le portail Azure. Les journaux d’activité de tous les conteneurs sont disponibles dans le flux de journaux App Service.

Existe-t-il des limitations ?

App Service Environment (ASE) et clouds nationaux peuvent ne pas encore être pris en charge. Consultez la documentation Azure la plus récente pour connaître les mises à jour.

Plus de ressources