Erkunden von Azure Container Apps

Abgeschlossen

Mit Azure Container Apps können Sie Microservices und containerisierte Anwendungen auf einer serverlosen Plattform ausführen, die auf Azure Kubernetes Service aufsetzt. Zu den gängigen Verwendungsmöglichkeiten von Azure Container Apps gehören die folgenden:

  • Bereitstellen von API-Endpunkten
  • Hosten von Hintergrundverarbeitungsanwendungen
  • Verarbeiten der ereignisgesteuerten Verarbeitung
  • Ausführen von Microservices

Auf Azure Container Apps aufbauende Anwendungen können basierend auf den folgenden Faktoren dynamisch skaliert werden: HTTP-Verkehr, ereignisgesteuerte Verarbeitung, CPU- oder Arbeitsspeicherauslastung und beliebige von KEDA unterstützte Skalierung.

Mit Azure Container Apps haben Sie folgende Möglichkeiten:

  • Mehrere Containerrevisionen ausführen und den Anwendungslebenszyklus der Container-App verwalten
  • Autoskalierung für Ihre Apps basierend auf einem von KEDA unterstützten Skalierungstrigger. Die meisten Anwendungen können auf Null skaliert werden. (Anwendungen, die nach CPU- oder Arbeitsspeicherauslastung skaliert werden, können nicht auf Null skaliert werden.)
  • HTTPS-Eingang aktivieren, ohne eine andere Azure-Infrastruktur verwalten zu müssen
  • Datenverkehr aufteilen auf mehrere Versionen einer Anwendung für Blau/Grün-Bereitstellungen und A/B-Testszenarien
  • Interne Eingangs- und Diensterfassung verwenden für sichere, rein interne Endpunkte mit integrierter DNS-basierter Dienstermittlung
  • Erstellen von Microservices mit Dapr und Zugreifen auf eine Vielzahl von APIs
  • Container von einer beliebigen Registrierung ausführen (öffentlich oder privat), einschließlich Docker Hub und Azure Container Registry (ACR)
  • Azure CLI-Erweiterung, Azure-Portal oder ARM-Vorlagen verwenden, um Ihre Anwendungen zu verwalten.
  • Geben Sie ein vorhandenes virtuelles Netzwerk an, wenn Sie eine Umgebung für Ihre Container-Apps erstellen.
  • Geheimnisse auf sichere Weise direkt in Ihrer Anwendung verwalten
  • Überwachen von Protokollen mit Azure Log Analytics.

Azure Container Apps-Umgebungen

Einzelne Container-Apps werden in einer einzelnen Container Apps-Umgebung bereitgestellt, die als sichere Grenze für Gruppen von Container-Apps fungiert. Container-Apps, die in derselben Umgebung bereitgestellt wurden, werden auch im gleichen virtuellen Netzwerk bereitgestellt und schreiben Protokolle in denselben Log Analytics-Arbeitsbereich. Möglicherweise stellen Sie ein vorhandenes virtuelles Netzwerk bereit, wenn Sie eine Umgebung erstellen.

Gründe für die Bereitstellung von Container-Apps in derselben Umgebung ergeben sich in Situationen, in denen Folgendes erforderlich ist:

  • Verwalten zugehöriger Dienste
  • Bereitstellen verschiedener Anwendungen im gleichen virtuellen Netzwerk
  • Instrumentieren von Dapr-Anwendungen, die über die Dapr-Dienstaufruf-API kommunizieren
  • Nutzung der gleichen Dapr-Konfiguration durch mehrere Anwendungen
  • Verwenden desselben Log Analytics-Arbeitsbereichs durch mehrere Anwendungen

Zu den Gründen für die Bereitstellung von Container-Apps in verschiedenen Umgebungen gehören Situationen, in denen Sie Folgendes sicherstellen möchten:

  • Zwei Anwendungen verwenden nie dieselben Computeressourcen
  • Zwei Dapr-Anwendungen können nicht über die Dapr-Dienstaufruf-API kommunizieren.

Microservices mit Azure Container Apps

Microservicearchitekturen ermöglichen ihnen das unabhängige Entwickeln, Upgraden, Versionieren und Skalieren von Kernfunktionalitätsbereichen in einem Gesamtsystem. Azure Container Apps bietet mit den folgenden Features die Grundlage für die Bereitstellung von Microservices:

  • Unabhängige Skalierung, Versionierung und Upgrades
  • Dienstermittlung
  • Native Dapr-Integration

Dapr-Integration

Bei der Implementierung eines Systems, das aus Microservices besteht, werden Funktionsaufrufe über das Netzwerk verteilt. Zur Unterstützung der verteilten Natur von Microservices müssen Sie Fehler, Wiederholungen und Timeouts berücksichtigen. Während Container Apps die Bausteine für die Ausführung von Microservices zur Verfügung stellt, bietet die Verwendung von Dapr ein noch umfangreicheres Modell zur Programmierung von Microservices. Dapr umfasst Features wie Einblick, Pub/Sub und Service-to-Service-Aufrufe mit gegenseitiger TLS, Wiederholungen und mehr.