05. Juni 2023 | Lesedauer: 3 Minuten

Azure Container Apps: Einfache Bereitstellung und Verwaltung von containerisierten Anwendungen

Azure Container Apps ist ein vollständig verwalteter Dienst von Azure, der sich darauf konzentriert, die Bereitstellung von Anwendungen zu vereinfachen, indem er sich um die Infrastrukturkonfiguration und -verwaltung kümmert. Im Gegensatz zu Kubernetes, das für die Verwaltung von sehr großen und komplexen Systemen mit flexiblen Konfigurationsanforderungen geeignet ist und daher ein hohes Fachwissen erfordert, ist Azure Container Apps eine geeignete Alternative für kleine bis mittelgroße Systeme, die keine individuellen Einstellungen erfordern. Azure Container Apps ermöglicht eine schnellere und einfachere Anwendungsbereitstellung und bietet Entwickler:innen die Möglichkeit, sich mehr auf die Anwendungsentwicklung zu konzentrieren.

Azure Container Apps
Azure Container Apps wurde Ende 2021 veröffentlicht und basiert auf der Container-Orchestrierungsplattform Kubernetes. 

Außerdem bietet Azure Container Apps eine einfache Bereitstellung von containerisierten Anwendungen in der Azure-Cloud. Entwickler:innen können ihre containerisierten Anwendungen auf Azure Container Apps hochladen und dann die Containergröße, Ressourcenverwendung und andere Einstellungen konfigurieren. Der Service skaliert die Anzahl der Container automatisch, um die Nachfrage zu bewältigen, und bietet integrierte Sicherheits- und Überwachungsfunktionen für den Schutz und die Überwachung von containerisierten Anwendungen.

Die technische Umsetzung erfolgt auf folgende Weise: Azure Container Apps stellt zwei Arten von Ressourcen bereit: eine Container-App-Umgebung und eine Container-App. Die Container-Apps innerhalb einer Umgebung werden in demselben virtuellen Netzwerk bereitgestellt, sodass sie leicht miteinander kommunizieren können. Die Umgebung bietet auch eine zentrale Stelle für das Schreiben von Protokollen in denselben Log Analytics-Arbeitsbereich. Die Umgebung kann mit einem Kubernetes-Namespace verglichen werden. 

Innerhalb einer Container-App befinden sich containerisierte Anwendungen, die zusammen als Gruppe von Containern, auch als Pods bezeichnet, bereitgestellt und skaliert werden können. Die Container-App teilt sich denselben Speicher und Netzwerk und kann eine beliebige Laufzeit und Programmiersprache verwenden.

Revision: Durch die Verwendung von Revisionen können Sie verschiedene Versionen einer Container-App erstellen, testen und bereitstellen, ohne die vorhandenen Produktionsversionen zu beeinträchtigen.

Container App und Microservices
Azure Container Apps stellt zwei Arten von Ressourcen bereit: eine Container-App-Umgebung und eine Container-App. 

Azure Container Apps ist besonders gut geeignet für die Bereitstellung und Verwaltung von Microservices in der Cloud. Dieser Service erlaubt es Entwickler:innen, jeden einzelnen Microservice in einem eigenen Container zu betreiben, was eine hohe Flexibilität und Skalierbarkeit ermöglicht. Durch die unabhängige Ausführung jedes Containers, können Microservices separat skaliert werden, um auf Anforderungen reagieren zu können.

Dieses Beispiel demonstriert, wie Microservice-Container ohne Aufwand für die Verwaltung einer komplexen Infrastruktur und Containerorchestrierung bereitgestellt werden können.

Azure Container Apps
Die Integration zu anderen Azure Diensten gestaltet sich nahtlos und unkompliziert.

Azure Container Apps ist ein verwalteter Service in Azure, daher ist die Integration zu anderen Azure Diensten nahtlos und einfach. Azure-Dienste wie Azure Monitor, Azure Log Analytics und Azure DevOps können leicht integriert werden, um die Überwachung, Protokollierung und Bereitstellung von Container-Apps zu verbessern.

Azure Resource Manager-Templates und Azure PowerShell ermöglichen die Automatisierung und Verwaltung von Azure Container Apps. Mit diesen Tools können Entwickler:innen wiederkehrende Aufgaben automatisieren und ihre Anwendungsbereitstellung beschleunigen, was Zeit und Ressourcen spart und die Effizienz erhöht.

Azure Container Apps enthält zudem folgende Tools:

  • Dapr (Distributed Application Runtime): Dapr ist ein Open-Source-Toolkit, das die Entwicklung von Microservices-Anwendungen erleichtert und beschleunigt. Es bietet eine Reihe von Diensten, die bei der Entwicklung von Anwendungen helfen, darunter Persistenz, Messaging, Tracing, Sicherheit und mehr. 
  • Ingress-Controller: Der Ingress-Controller leitet den Datenverkehr auf die entsprechenden Container-Apps weiter, basierend auf dem in der Anforderung angegebenen Hostnamen und Pfad. Somit lässt sich der Datenverkehr in den Anwendungen verwalten.
  • KEDA (Kubernetes-based Event Driven Autoscaling): KEDA ein Open-Source-Projekt, das eine Kubernetes-basierte Methode zum automatischen Skalieren von Workloads auf Basis von ereignisgesteuerten Workloads bietet. Es integriert sich mit Kubernetes, um Anwendungen auf der Grundlage von Ereignissen wie Queues, Kafka und anderen Ereignis-Backends zu skalieren. Das ermöglicht die Automatisierung der Skalierung Ihrer Anwendungen je nach Bedarf.

 

Wenn Sie mehr darüber erfahren möchten, wie Sie Azure Container Apps in Ihrem Projekt einsetzen können, zögern Sie nicht, unser Expertenteam zu kontaktieren.

Experten kontaktieren Newsletter abonnieren

Autoren

Waldemar Hoffmann

Als Cloud-Softwareentwickler bei M&M Software konzentriert sich Waldemar Hoffmann auf die Entwicklung und Implementierung skalierbarer und zuverlässiger Microservice-Lösungen im Azure-Umfeld. Dabei setzt er auf innovative Technologien und bewährte Best Practices, um die Effizienz, Wartbarkeit und Entwicklung von Systemen kontinuierlich zu verbessern, sowie die Entwicklungsprozesse zu optimieren. 

LinkedIn Profil

Kevin Schneider

Kevin Schneider ist derzeit Masterstudent der Informatik an der Hochschule Furtwangen und arbeitet als Werkstudent bei der M&M Software GmbH. Zuvor hat er seinen Bachelor in Allgemeiner Informatik an derselben Fakultät abgeschlossen. In seiner Bachelorarbeit, welche er in Zusammenarbeit mit M&M Software GmbH verfasste, untersuchte er den Einsatz des Containerdienstes Azure Container Apps sowie dessen Mehrwert im Vergleich zu anderen Containerdiensten.