Date post: | 12-Apr-2017 |
Category: |
Software |
Upload: | maibornwolff |
View: | 704 times |
Download: | 3 times |
Schnittmuster für Microservices
Alexander Hofmann Martin Sturzenhecker MaibornWoff GmbH
z
So haben wir bisher gebaut
Datenbank
Fassadenschicht
Präsentationsschicht
Dialogkernschicht
Businesslogikschicht
Datenzugriffsschicht
Clie
nt
Se
rve
r
Vertrags-dialog
Kunden-dialog
Vertrag Kunde CRM CRM- System
Und jetzt kommt der Heilige Gral!
Microservices
Endlich
Delta Deployments!
Endlich
echte Isolation!
Endlich
leicht testbar!
Endlich
keine Abhängigkeiten!
Endlich
schneller!
Endlich
coole Technik!
Endlich
DevOps!
Neuer
Technik-Zoo!
Diese Verteilung macht mich fertig!
Mist – Gesamtverbund
nicht robust!
Datenkonsistenz im Eimer …
Fehlersuche ist die Pest!
Arghhh …
Redundanzen!
Der Betrieb kann das nicht!
Microservices Was ist anders ?
Zug- Allokation
Zug- Reihenfolge
Fahrplan
Zug- Reihenfolge-
Tracking Wo ist der Zug?
Auf den Schnitt kommt es an
Klassisch oder Micro?
Klassisch für „Manufaktur-
systeme“: hohe Daten- integration
Micro für „Fließbandsysteme“:
hohe Funktions-autonomie
Fachlich oder technisch?
Geschnitten wird fachlich
Isolation ist das Top-Ziel
Use Case- statt
Objektschnitt
Conway‘s Law
nutzen
GUI in jeden Service
integrieren
Mini oder MAXI?
Nicht zu klein schneiden
100 LOC sind Quatsch!
Je kleiner der Service, desto mehr Kommuni-
kation
3-5 Aktivitäten im Service
Der 1. Schnitt ist oft zu klein
Redundant oder nicht?
Redundanz ist der Preis
für die strenge Isolation
Keine DB- Integration
1 Service hat Schreibhoheit auf Attribut-
ebene
Trenne Kernattribute und service-spezifische
Attribute
Mehr oder weniger verteilt?
Kommunika-tionskomplexi-
tät wächst exponentiell
15 Services bilden ein Kabinett
Robuste Schnittstellen
bauen
BigPicture malen
Versionie- rung von
Anfang an
Daniel
Marc
Frowin
Philippe
Volker