Microservice

Eintrag zuletzt aktualisiert am: 10.05.2021

Ein Microservice wird angesehen als eine Form von SOA („SOA done right“), bei der man zahlreiche kleine Dienste schreibt. Es ist ein Modularisierungskonzept, dass die Beherrschbarkeit eines System erhöhen soll. Es erlaubt unabhängige Entwicklung, auch in verschiedenen Sprachen, Frameworks und Teams.

Ein Microservice umfasst
  • Daten
  • Logik
  • Ggf. auch UI (Micro-App / "Self Contained Systems" - SCS)

Wenn ein Microservice nur aus sehr wenigen Programmcodezeilen besteht, nennt man ihn Nanoservice.

Organisatorisch wird ein Microservice von einem kleinen Entwicklungsteam (ca. 3 bis 10 Personen) betreut.

Eigenschaften der Microservices

Viele kleine Dienste für jeweils kleine Aufgabe
Eigener Datenbestand
Eigene Prozesse
Leichtgewichtige Protokolle: oft HTTP und JSON (REST)
Plattformunabhängigkeit
Technikunabhängigkeit
Unabhängige Entwicklung/Versionierung
Unabhängiges Deployment (Einfacher Ersatz) / Unabhängige URL
Unabhängige Skalierung
Interaktion mit Daten oder anderen Microsservices
Zugeordnet zu einem (kleinen) Entwicklungsteam inkl. Daten!

Aufgaben des Teams

Fachliche Analyse
Architektur
Entwicklung
Test
Dokumentation
Deploymentskripte
ggf. auch Deloyment und Betrieb (vgl. Amazon: "You build it, you run it" https://www.safaribooksonline.com/library/view/programming-amazon-ec2/9781449303617/ch01s03.html )