Verwaltung und Vorgänge für den Azure-Container-Apps – Zielzonenbeschleuniger
Schauen Sie sich die Features und Dienste von Azure Container Apps an, die Ihnen beim Entwerfen und Verwalten Ihrer App für langfristige Integrität und Stabilität zur Verfügung stehen.
Grundlegendes zu den Grenzwerten für Container-Apps.
Erwägen Sie das Isolieren von Workloads auf Netzwerk-, Compute-, Monitor- oder Datenebene.
Lernen Sie, wie Sie den Ressourcenverbrauch von Workloads kontrollieren können.
Verwenden Sie Integritätssonden, um den Zustand der Anwendung zu melden und wiederherzustellen.
Verwenden Sie Dapr, um sichere Verbindungen mit externen Diensten herzustellen.
Verwenden Sie die Protokollierung und Überwachung, um Einblicke in alle mit Ihren Anwendungen verbundenen Probleme zu erhalten.
Verwenden Sie Warnungen während kritischer Anwendungs- und Systemereignisse, um sicherzustellen, dass Mitarbeiter bei Anwendungsfehlern schnelle Maßnahmen ergreifen können.
Definieren Sie eine Skalierungsstrategie um sicherzustellen, dass genügend Kapazität verfügbar ist, um den Datenverkehr für Ihre Anwendung zu verarbeiten, während die nicht verwendete Kapazität minimiert wird. Skalierungstrigger umfassen die CPU- oder Speicherauslastung zusammen mit jedem KEDA-unterstützten Scaler.
Machen Sie sich mit Envoy vertraut, da Azure Container Apps es als Netzwerkproxy verwendet.
Beachten Sie die Anforderungen an die Wiederherstellungszeit (RTO) und den Wiederherstellungspunkt (RPO) im Zusammenhang mit Business Continuity und Disaster Recovery. Definieren Sie eine Vereinbarung zum Servicelevel (SLA) für Ihre Infrastruktur und Anwendung. Erfahren Sie mehr über die SLA für Azure Container Apps. Informationen zu monatlichen Uptimeberechnungen finden Sie im Abschnitt SLA-Details.
Je nach den spezifischen Anforderungen für Ihre Anwendung müssen Sie möglicherweise Hochverfügbarkeitsmaßnahmen anwenden, um den fortgesetzten Betrieb sicherzustellen, wenn Probleme mit der zugrunde liegenden Azure-Plattform auftreten. In Azure können Sie mit den verschiedenen Zonen und Regionen Lösungen für hohe Verfügbarkeit erstellen:
Verfügbarkeitszonen sind Fehlerisolationskonstrukte im Azure-Rechenzentrumsdesign. Jede Zone hat ihre eigene Stromversorgung, ihr eigenes Netzwerk und ihre eigene Kühlung, um das Risiko von Ausfällen in anderen Zonen zu minimieren. Zur Verwendung von Verfügbarkeitszonen kann jede Azure-Ressource entweder in einer bestimmten Zone („zonal“) oder in allen Zonen („zonenredundant“) bereitgestellt werden.
Lösungen mit mehreren Regionen bieten die höchste Fehlerisolation und höchste Zuverlässigkeit, sind jedoch aufgrund der höheren Wartezeit zwischen den geografischen Regionen oft schwieriger zu implementieren. Diese Wartezeit kann zu Verzögerungen bei der Datenreplikation führen. Weitere Informationen zum Design mit mehreren Regionen finden Sie in der Dokumentation zu Azure Mission Critical.
Erwägen Sie die Verwendung von Azure DevOps und GitHub, um automatisierte Methoden zum Verwalten von Entwicklungs-, Build- und Bereitstellungsprozessen bereitzustellen.
Empfehlungen
Nach Umgebung isolieren: Erstellen sie unterschiedliche Container-Apps-Umgebungen für die vollständige Ressourcenisolation. Vermeiden Sie die Verwendung von Revisionen zur Erstellung mandantenspezifischer Container-Apps. Weitere Informationen hierzu finden Sie in Azure Container Apps in einer mehrinstanzfähigen Lösung.
Verwenden von Grenzwerten für die Berechnung von Ressourcen: Verwenden Sie Container CPU- und Arbeitsspeicherressourcenanforderungen, um die Compute- und Arbeitsspeicherressourcen in einer Umgebung zu verwalten. Containerstandardgrenzwerte sind 2 vCPU und 4 GiB für Compute und Arbeitsspeicher.
Verwenden von Integritätssonden: Fügen Sie Ihren Container-Apps Integritätssonden hinzu. Stellen Sie sicher, dass Revisionen
livenessProbe
,readinessProbe
undstartupProbe
enthalten. Weitere Informationen hierzu finden Sie in Azure Container Apps Integritätstests.Konfigurieren sie Integritätssonden ordnungsgemäß: Die Integritätssonde ist für das Tätigen von Aufrufen an einen Endpunkt verantwortlich und erwartet, dass ein Erfolgsstatuscode empfangen wird, in der Regel im HTTP 2xx-Bereich, wenn sich das System in einem fehlerfreien Zustand befindet. Es wird empfohlen, dass dieser Endpunkt nicht nur die Systemintegrität, sondern auch die Integrität kritischer nachgelagerter Komponenten wie Datenbanken, Speicher und Messagingdienste überprüft. Um eine kontinuierliche Kaskade von Integritätsprüfungen zu vermeiden, ist es wichtig, die nachgelagerten Integritätsantworten für eine kurze Zeitspanne zwischenzuspeichern.
Protokollieren Sie umfassend: Erstellen Sie Log Analytics-Abfragen, um nach Warnungen, Fehlern und kritischen Nachrichten zu suchen.
Anwendungsprotokolle werden durch Container-Ausgabemeldungen (
stdout
/stderr
) generiert. Wenn Dapr aktiviert ist, enthält die Konsolenausgabe sowohl Anwendungscontainer- als auch Dapr-Sidecar-Nachrichten. Lesen Sie Protokollüberwachung, um weitere Details zum Abfragen von Protokollprotokollen mithilfe von Protokollanalysen zu erfahren.Systemprotokolle werden von Azure Container Apps generiert.
Aktivieren Sie die visuelle Ablaufverfolgung: Wenn Sie Dapr aktivieren, konfigurieren Sie den DaprAIInstrumentationKey auf ACA-Umgebungsebene, um die verteilte Ablaufverfolgung von Container-Apps in der Azure Application Insights-Anwendungszuordnung zu visualisieren.
Verwenden Sie das Application Insights SDK: Die Verwendung des Application Insights SDK für Anwendungsdaten als Agent für die automatische Instrumentierung wird noch nicht unterstützt.
Verwenden Sie Verfügbarkeitszonen: Wenn Sie hohe Verfügbarkeit benötigen, verwenden Sie Verfügbarkeitszonen für alle Ressourcen. Stellen Sie sicher, dass nicht nur Ihre Container-Apps zonenredundant sind, sondern auch angrenzende Dienste, die zum Erfüllen von Anforderungen erforderlich sind, z. B. Datenbanken, Speicher- und Messagingdienste.
Verwenden Sie verteilte Replikation: Stellen Sie für Notfallwiederherstellungszwecke sicher, dass Ihre Anwendungsdaten und der Quellcode in mehr als einer Azure-Region verfügbar sind. Azure Storage-Konten ermöglichen z. B. georeplizierten Speicher und Azure SQL-Datenbanken die Platzierung von Lesereplikaten in anderen Regionen.
Automatisieren Sie Builds: Verwenden Sie die End-to-End-Automatisierung, um Ihre Azure Container Apps-Anwendungen zu erstellen und bereitzustellen.
Verwenden Sie eine Containerregistrierung: Speichern Sie Ihre Containerimages in Azure Container Registry (ACR), und erstellen Sie per Georeplikation in jeder AKS-Region eine Instanz der Registry.
Testen Sie Ihren Notfallwiederherstellungsplan: Erstellen und testen Sie einen Notfallwiederherstellungsplan in regelmäßigen Abständen mithilfe von Schlüsselfehlerszenarien. Weitere Informationen finden Sie unter Sicherungstest und Notfallwiederherstellung.