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 )