Schnittmuster für Microservices von MaibornWolff

Preview:

Citation preview

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

alexander.hofmann@maibornwolff.de; @ALEX_H0FMANN

martin.sturzenhecker@maibornwolff.de; @msturzen

Recommended