iX 1/2020
S. 134
Praxis
Softwareentwicklung

Tutorial Microservices in der Azure-Cloud, Teil 1: Vom Monolith zur verteilten Architektur

Aus Groß mach Klein

Guido-Arndt Söldner, Matthias Wessendorf

Microservices zu implementieren, kann ein zeitraubender Prozess sein. Mit Microsofts Azure-Cloud spart man sich zumindest den Aufbau der Infrastruktur.

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. Das 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, Kuber­netes 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 Con­trol, Monitoring, Logging, den Einsatz eines Service-Meshs, Health-Checks, aber auch Skalierbarkeitsfragen. Gegenstand des Tutorials sind zwei verschiedene Micro­services: ein mit Angular entwickelter Front­end-Microservice und ein Back­end-Microservice, der mit dem Spring-Boot-Frame­work implementiert ist.

Kommentieren