Gestion et opérations pour Azure Container Apps - Accélérateur de zone d’atterrissage
Passez en revue les fonctionnalités et services d’Azure Container Apps disponibles pour vous aider à concevoir et à maintenir votre application pour une intégrité et une stabilité à long terme.
Comprendre les limites de Container Apps.
Envisagez d’isoler les charges de travail au niveau du réseau, du calcul, du moniteur ou des données.
Découvrez comment contrôler la consommation des ressources par charges de travail.
Utilisez des sondes d’intégrité pour vous aider à signaler et à récupérer de la détérioration de l’intégrité de l’application.
Utilisez Dapr pour établir des connexions sécurisées à des services externes.
Utilisez la journalisation et la supervision pour fournir des informations sur les problèmes associés à vos applications.
Utilisez alertes pendant les événements critiques de l’application et du système pour vous assurer que le personnel des opérations peut prendre des mesures rapides en cas d’échecs de l’application.
Définissez une stratégie de mise à l’échelle pour garantir une capacité suffisante pour gérer le trafic vers votre application, tout en réduisant la capacité inutilisée. Les déclencheurs de mise à l’échelle incluent l’utilisation du processeur ou de la mémoire, ainsi que tout dispositif de mise à l'échelle pris en charge par KEDA.
Familiarisez-vous avec Envoy, car Azure Container Apps l’utilise en tant que proxy réseau.
Tenez compte des exigences de l’objectif de délai de récupération (RTO) et de l’objectif de point de récupération (RPO) autour de la continuité d’activité et de la reprise d’activité. Définissez un contrat de niveau de service (SLA) pour votre infrastructure et votre application. Découvrez le contrat SLA pour Azure Container Apps. Consultez la section Détails du contrat de niveau de service pour plus d’informations sur les calculs de temps d’activité mensuels.
Selon les exigences spécifiques de votre application, vous devrez peut-être utiliser des mesures de haute disponibilité pour garantir une opération continue en cas de problème avec la plateforme Azure sous-jacente. Dans Azure, les différentes zones et régions vous permettent de créer des solutions pour la haute disponibilité :
Zones de disponibilité sont des constructions d’isolation des erreurs dans la conception du centre de données Azure. Chaque zone a sa propre puissance, son réseau et son refroidissement pour réduire le risque de pannes réparties entre les zones. Pour utiliser des zones de disponibilité, chaque ressource Azure peut être déployée dans une zone spécifique (« zonal ») ou sur toutes les zones (« redondantes interzone »).
Les solutions multirégions offrent le niveau le plus élevé d’isolation des pannes et la fiabilité la plus élevée, mais sont souvent plus difficiles à implémenter en raison de la latence plus élevée entre les régions géographiques. Cette latence peut entraîner des retards de réplication des données. Pour plus d’informations sur la conception multirégion, consultez la documentation Azure Mission Critical.
Envisagez d’utiliser Azure DevOps et GitHub pour fournir des moyens automatisés de gérer les processus de développement, de génération et de déploiement.
Recommandations
Isoler par environnement: créez des environnements Container Apps distincts pour une isolation complète des ressources. Évitez d’utiliser des révisions pour créer des container apps spécifiques au locataire. Pour plus d’informations, consultez Azure Container Apps dans la solution mutualisée.
Utilisez des limites pour les ressources de calcul: utilisez conteneurs de ressources processeur et ressources mémoire limites pour gérer les ressources de calcul et de mémoire dans un environnement. Les limites par défaut du conteneur sont respectivement 2 processeurs virtuels et 4 Gio pour le calcul et la mémoire.
Utiliser des sondes d’intégrité: ajoutez des sondes d’intégrité à vos applications conteneur. Vérifiez que les révisions contiennent
livenessProbe
,readinessProbe
etstartupProbe
. Pour plus d’informations, consultez sondes d’intégrité Azure Container Apps.Configurer correctement les sondes d’intégrité: la sonde d’intégrité est chargée d’effectuer des appels à un point de terminaison et s’attend à recevoir un code d’état de réussite, généralement dans la plage HTTP 2xx, lorsque le système est dans un état sain. Il est recommandé que ce point de terminaison effectue des vérifications non seulement sur l’intégrité du système, mais également sur l’intégrité des composants en aval critiques, tels que les bases de données, le stockage et les services de messagerie. Pour éviter une cascade continue de vérifications d’intégrité, il est important d’implémenter la mise en cache des réponses d’intégrité en aval pendant une courte durée.
Journaliser largement: créez des requêtes Log Analytics pour rechercher des avertissements, des erreurs et des messages critiques.
Journaux d’application sont générés par les messages de sortie de console de conteneurs (
stdout
/stderr
). Lorsque Dapr est activé, la sortie de la console contient à la fois le conteneur d’applications et les messages sidecar Dapr. Passez en revue surveillance des journaux pour plus d’informations sur la façon d’interroger les journaux à l’aide de Log Analytics.Journaux système sont générés par Azure Container Apps.
Activer le suivi visuel: lorsque vous activez Dapr, configurez l' « DaprAIInstrumentationKey » au niveau de l’environnement ACA pour visualiser le suivi distribué des applications conteneur dans la carte des applications Azure Application Insights.
Utiliser le Kit de développement logiciel (SDK) Application Insights: l’utilisation du Kit de développement logiciel (SDK) Application Insights pour les données d’application comme agent d’instrumentation automatique n’est pas encore prise en charge.
Utiliser des zones de disponibilité: quand vous avez besoin d’une haute disponibilité, utilisez des zones de disponibilité sur toutes les ressources. Assurez-vous que non seulement vos Container Apps sont redondantes interzone, mais également les services adjacents requis pour répondre aux demandes, telles que les bases de données, le stockage et les services de messagerie.
Utiliser la réplication distribuée : à des fins de récupération d’urgence, vérifiez que vos données d’application et votre code source sont disponibles dans plusieurs régions Azure. Par exemple, les comptes stockage Azure autorisent le stockage géorépliqué et les bases de données Azure SQL autorisent la mise en place de réplicas en lecture dans d’autres régions.
Automatiser les builds: utilisez l’automatisation de bout en bout pour générer et déployer vos applications Azure Container Apps.
Utiliser un registre de conteneurs: stockez vos images conteneur dans Azure Container Registry et géorépliquer le registre dans chaque région ACA.
Tester votre plan de récupération d’urgence: créez et testez régulièrement un plan de récupération d’urgence à l’aide de scénarios d’échecs clés. Pour plus d’informations, consultez Test de la sauvegarde et de la récupération d’urgence.