Tutorial Microservices und Azure, Teil 1: Verteilte Architektur statt Monolith
Microservices zu implementieren kann ein zeitraubender Prozess sein. Mit Microsofts Azure-Cloud spart man sich zumindest den Aufbau der Infrastruktur.
![Tutorial Microservices in der Azure-Cloud, Teil 1: Vom Monolith zur verteilten Architektur](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/2/8/0/9/0/3/4/nb-b24ce37d9d56953e.jpeg)
- Dr. Guido-Arndt Söldner
- Matthias Wessendorf
Viele Firmen haben Deployment-Monolithe im Einsatz, die heutigen Ansprüchen nicht mehr gerecht werden. Abhilfe versprechen Microservices, die durch ihre starke Modularisierung Stabilität garantieren und aufgrund der zugrunde liegenden Containertechnologie Skalierbarkeit ermöglichen. Bei der Implementierung von Microservices stehen Entwicklerteams neben der Programmierung vor der Frage, wie man Microservices betreiben kann. Falls man die dafür notwendige Infrastruktur nicht selbst im eigenen Rechenzentrum aufbauen will, bietet sich dafür die Public Cloud an. Unser Tutorial zeigt, wie man dies in der Azure Cloud bewerkstelligen kann.
Das Tutorial besteht aus drei Teilen. Der erste Teil widmet sich der Frage, wie man einen Monolith in eine Microservice-basierte Architektur überführen kann. Er stellt die wichtigsten Dienste zum Betreiben vor, die Grundlagen von Containern, Kubernetes sowie virtuellen Netzwerken und wie man Load Balancer in Azure deployen und konfigurieren kann. Der zweite Teil geht auf das Planen und Durchführen neuer Microservice-Releases ein, die dafür notwendigen Continuous-Deployment-Strategien und wie man sie in Azure umsetzen kann. Außerdem stellt er die Dienste Azure DevOps Services und Azure Pipelines und ihre Nutzung zum automatisierten Deployen von Containern vor. Der dritte Teil betrachtet die operativen Aspekte beim Betrieb der Microservices in Azure: Sicherheitsaspekte wie Role-based Access Control, Monitoring, Logging, den Einsatz eines Service-Meshs, Health-Checks, aber auch Skalierbarkeitsfragen. Gegenstand des Tutorials sind zwei verschiedene Microservices: ein mit Angular entwickelter Frontend-Microservice und ein Backend-Microservice, der mit dem Spring-Boot-Framework implementiert ist.
Unabhängig und stabil
Microservices sind ein Architekturansatz zum modularen Aufbau von Anwendungssoftware. Eine Microservice-Architektur bietet Vorteile wie eine größere Unabhängigkeit der einzelnen Komponenten der Anwendung. Da man Microservices klassischerweise mit Containern implementiert, kann man sie unabhängig voneinander deployen und unterschiedliche Technologien nutzen. Der Absturz eines einzelnen Containers bringt somit die Applikation als Ganzes nicht zum Erliegen. Auch sind die Entwicklungsteams frei in der Technologieauswahl und nutzen Frameworks und Bibliotheken, mit denen sie am schnellsten ans Ziel kommen. Insgesamt kann man eine auf der Microservice-Architektur basierende Applikation langfristig stabiler und skalierbarer betreiben.
Das war die Leseprobe unseres heise-Plus-Artikels "Tutorial Microservices und Azure, Teil 1: Verteilte Architektur statt Monolith". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.