© AVA Bitter/Shutterstock.com
ASP.NET Core Microservices in Kubernetes (AKS) betreiben

Kapitän im Service-Orchester


Containertechnologien wie Docker haben sich in den letzten Jahren auch im Microsoft-Technologieumfeld stark etabliert. Ein Container bietet viele Vorteile in Bezug auf Isolation, Abhängigkeitsmanagement und die Laufzeitumgebung einer Applikation. Für den professionellen Betrieb der Services benötigt man jedoch noch ein weiteres Werkzeug, das uns in den Bereichen Lastverteilung, Service Discovery, Speicherverwaltung und Ausfallsicherheit unterstützt: Kubernetes hat sich als führender Containerorchestrator durchgesetzt. Dieser Artikel zeigt, was man als ASP.NET-Core-Entwickler unternehmen muss, um seine Applikationen in Kubernetes zum Laufen zu bringen.

Anstelle eines großen Monolithen viele kleine Services zu verwenden, bietet in vielen Bereichen deutliche Vorteile. Microservices sind – wie der Name schon andeutet – nicht groß und entsprechend nimmt die Komplexität eines einzelnen Dienstes deutlich ab. Die Entwicklung kann auf ein Team beschränkt werden und eine Änderung bringt normalerweise einen überschaubaren Testaufwand mit sich. Das führt dazu, dass wir mit Microservices kleine und häufige Releases durchführen können – ideal für einen modernen und effizienten DevOps-Prozess. Leider ist nicht alles Gold, was glänzt und es existieren auch immer Nachteile. Auf die Herausforderungen im Bereich Softwarearchitektur werden wir in diesem Artikel nicht eingehen. Stattdessen werden wir uns auf den Betrieb dieser Services konzentrieren. Beim Verwalten von vielen kleinen Diensten muss sichergestellt werden, dass diese untereinander kommunizieren können. Bei einer Aktualisierung eines Service sollte das Gesamtsystem immer noch lauffähig bleiben und im Fehlerfall sollte dieser möglichst automatisch erkannt und behoben werden.

Cloud hin oder her: Am Ende läuft jede Dienstinstanz auf einer physikalischen oder virtuellen Maschine. Diese Instanzen manuell zu verwalten und entsprechend die Netzwerkadressierung zu aktualisieren, ist nahezu unmöglich. Genau hier benötigen wir Unterstützung von Kubernetes. Doch was bedeutet das für eine ASP.NET-Core-Applikation? Benötigt man Änderungen an der Architektur oder der Konfiguration?

Kubernetes mit Azure Kubernetes Services

Der einfachste Weg einen Kubernetes-Cluster im Microsoft-Umfeld zu betreiben, ist eine Instanz eines Azure Kubernetes Services (AKS) zu erstellen. Hierbei handelt es sich um einen Managed Service in Azure. Das bedeutet konkret, dass sich Microsoft um das Set-up, die Konfiguration, Aktualisierung und die Inte...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang