Azure

Mircosoft ist ein Anbieter in Cloud Computing und bietet mit Azure eine leistungsstarke Cloud-Computing-Plattform.1 Die Plattform bietet eine Vielzahl von Diensten wie virtuelle Maschinen, Datenbanken, Speicher, künstliche Intelligenz, Container Lösungen, maschinelles Lernen, Internet der Dinge (IoT). 2 Sie ist vergleichbar mit anderen Cloud Computing Plattformen wie z.B. Amazon Web Services, Google Cloud, u.v.m. 3 Es handelt sich hierbei primär um eine Public Cloud.

In Kapitel Cloud wurde die verschiedenen Service Modelle der Cloud erläutert. Die In diesem Kapitel folgenden Services von Azure, lassen sich diesen Kategorien zuordnen, wie in der Abbildung 1 dargestellt. Diese enthält jedoch auch App Services und Azure Functions, welche nicht direkt mit Containern in Verbindung stehen vollständigkeitshalber und für den Kontext sind diese jedoch nicht entfernt worden.

Azure Services

Azure Container Instances

Eine wichtige Technologie in Microsoft Azure ist die Azure Container Instance (ACI). Die ACI ist ein Plattformdienst, der es ermöglicht, containerisierte Lösungen schnell und einfach bereitzustellen, ohne sich um die Einrichtung einer Infrastruktur kümmern zu müssen. Diese ACI lassen sich auch mithilfe des Azure Kubernetes Service orchestrieren. Außerdem lassen sich ACI Ereignisgesteuert aktivieren, sodass diese z.B. nur gestartet werden wenn Sie benötigt werden und danach wieder herunterfahren. Auch sind die ACI sehr kostengünstig im Vergleich zu einer virtuellen Maschine. Auf den Kostenvergleich wird jedoch zu einem späteren Zeitpunkt detailierter eingegangen. Es gibt verschiede Wege eine Containerinstanz bereitzustellen, u.a. über das Azure Portal, die Azure CLI, eine ARM-Vorlage, die Docker CLI, YAML, oder eine mithilfe einer Pipelineanbindung. 4 Wichtig ist jedoch zu beachten, dass ACI nativ keine Konzepte für die Skalierung, Lastausgleich und Zertifikate enthält. Man müsste mehrere Instanzen erstellen umd eine Skalierbarkeit zu erreichen. Nur in Verbindung mit Azure Kubernetes Service lässt sich eine elastische Skalierung umsetzen. 5

Azure Container Registry

Eine weitere wichtige Technologie in Microsoft Azure ist die Azure Container Registry (ACR), die es ermöglicht, benutzerdefinierte Images zentral zu speichern und sie von anderen Entwicklern und Diensten nutzen zu lassen. Ähnlich wie bei einem zentralen GIT-Repository für Code können Entwickler ihre Images in der Container-Registry ablegen. Diese Images können dann von Entwicklern und Diensten abgerufen und lokal oder in der Cloud verwendet werden. Durch die Verwendung von Versionsnummern können mehrere Versionen eines Images erstellt werden, um unterschiedliche Versionen in Containern oder in Azure ausgeführten Diensten zu unterstützen.6

Azure Container Apps

ACA ermöglichen die Erstellung serverloser Microservices auf Basis von Containern. Die Plattform ist optimiert für die Ausführung universeller Container und eignet sich besonders für Anwendungen mit einer Vielzahl von in Containern bereitgestellten Microservices. Die Technologie basiert auf Kubernetes und nutzt zusätzlich Open-Source-Technologien wie Dapr, KEDA und envoy. Sie unterstützt Apps im Kubernetes-Stil sowie Microservices, was Dienstermittlung und Datenverkehrstrennung einschließt. Ein wesentliches Merkmal ist die Unterstützung ereignisgesteuerter Anwendungsarchitekturen durch Skalierung basierend auf Datenverkehr und dem Abruf von Ereignisquellen wie Warteschlangen. Interessanterweise erlaubt ACA auch eine Skalierung auf 0, was bedeutet, dass Ressourcen bei Inaktivität heruntergefahren werden können. Dies kann gerade in der Nacht oder an Wochenenden und Feiertagen zu kostenersparnissen führen. Darüber hinaus ermöglicht die Plattform zeitintensive Prozesse und die Ausführung von Hintergrundaufgaben. Es ist jedoch wichtig zu beachten, dass sie keinen direkten Zugriff auf die Kubernetes-API bietet. Für solchen Zugriff wird Azure Kubernetes Service empfohlen. 7

Azure Kubernetes Service

AKS ist ein verwalteter Container-Orchestierungsdienst und ist fokussiert auf die Bereitstellung eines Kubernetes Clusters. Die betriebliche Komplexität der Kubernetes Verwaltung wird reduziert, indem Routineaufgaben wie die Zustandsüberwachung sowie die Verwaltung des master nodes (Hauptknoten) auf die Azure Plattform verlagert wird. 8 Der Vorteil von AKS besteht im vollen Zugriff auf die Kubernetes API. Dies ist auch der größte Unterschied zum recht ähnlichen Service von Azure der ACA. Es bietet die Möglichkeit einzelne Container zu überwachen und diese bedarfsgerecht zu verwalten. Die Verwaltung von Kubernetes kann jedoch schnell sehr komplex werden. Ebenso ist die Kostenstruktur für AKS komplex.

Kubernetes Funktionsweise

Grundlegend besteht ein Kubernetes Cluster aus zwei Hauptkomponenten: der Steuerungsebene und den Knoten. Die Steuerungsebene stellt grundlegende Kubernetes-Dienste und Orchestrierungsfunktionen bereit, während die Knoten die eigentlichen Anwendungsworkloads ausführen. Knoten sind die Ausführungsumgebung für Anwendungen und bestehen aus wiederum aus Komponenten wie kubelet (verarbeitet Orchestrierungsanforderungen und Containerausführung), kube-proxy (verwaltet Netzwerkdatenverkehr) und der Containerruntime (ermöglicht die Ausführung von containerisierten Anwendungen). Anwendungen werden in Kubernetes durch Pods repräsentiert, wobei ein Pod eine Instanz einer Anwendung darstellt. Bereitstellungen werden verwendet, um identische Pods zu verwalten und bieten Möglichkeiten zur Aktualisierung und Skalierung von Anwendungen.

Weiter zu CI/CD


  1. Bala, R./Smith, D./Ji, Kevin, Wright, David/Borrega, M. A. (2022): Magic Quadrant for Cloud Infrastructure and Platform Services. Hrsg. von Gartner. url: (https://gtnr.it/3XQlcv2 (Abruf: 04. 07. 2023). 

  2. vgl. Microsoft (2023): Was ist Azure? url: https://azure.microsoft.com/de-de/resources/cloud-computing-dictionary/what-is-azure/ (Abruf: 04. 07. 2023). 

  3. vgl. Bala, R./Smith, D./Ji, Kevin, Wright, David/Borrega, M. A. (2022): Magic Quadrant for Cloud Infrastructure and Platform Services. Hrsg. von Gartner. url: (https://gtnr.it/3XQlcv2 (Abruf: 04. 07. 2023). 

  4. vgl. Microsoft (2023): Bereitstellen eines AKS-Clusters (Azure Kubernetes Service) mithilfe einer ARM-Vorlage. url: https://learn.microsoft.com/de-de/azure/aks/learn/quick-kubernetes-deploy-rm-template?tabs=azure-cli (Abruf: 15. 08. 2023). 

  5. vgl. Microsoft (2023) Hrsg: Vergleich von Container-Apps mit anderen Azure-Containeroptionen. url: https://learn.microsoft.com/de-de/azure/container-apps/compare-options (Abruf: 27. 07. 2023). 

  6. vgl. Gorman, B. L. (2023): Developing Solutions for Microsoft Azure Certification Companion: Hands-on Preparation and Practice for Exam AZ-204. 1st ed. 2023. Certification Study Companion Series. Berkeley, CA: Apress/Imprint Apress. isbn: 9781484293003. doi: 10.1007/978-1-4842-9300-3

  7. vgl. Microsoft (2023): Grundlegende Kubernetes-Konzepte für Azure Kubernetes Service (AKS). url: https://learn.microsoft.com/de-de/azure/aks/concepts-clusters-workloads (Abruf: 15. 08. 2023). 

  8. vgl. Buchanan, S. (2019): Introducing Azure Kubernetes Service: A Practical Guide to Container Orchestration. 1st edition. Erscheinungsort nicht ermittelbar/Boston, MA: Apress/ Safari. isbn: 9781484255193. url: https://www.oreilly.com/library-access/?next=/library/view/-/9781484255193/ (Abruf: 10. 07. 2023). (S.64 f.)