Micro, Nano, Mono - Microservices verständlich erklärt.

48
Micro, Nano, Mono? Microservices verständlich erklärt 1 | 48 Projekte. Beratung. Spezialisten. Komplexität beherrschen IKS-Thementag 08.11.2016 Christoph Schmidt-Casdorff Micro, Nano, Mono? Microservices verständlich erklärt

Transcript of Micro, Nano, Mono - Microservices verständlich erklärt.

Page 1: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 1 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Projekte. Beratung. Spezialisten.

Komplexität beherrschen

IKS-Thementag

08.11.2016

Christoph Schmidt-Casdorff

Micro, Nano, Mono? Microservices verständlich erklärt

Page 2: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 2 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Agenda

Softwaresysteme unter Veränderungen

Was sind Microservices?

Aspekte der Microservice-Architektur

Zum Abschluss

Page 3: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 3 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Softwaresysteme unter Veränderungen

Page 4: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 4 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Auch Softwaresysteme altern

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 5: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 5 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Treiber der Alterung von Softwaresystemen

Veränderungen über die Zeit lassen Softwaresysteme altern.

Änderungen von fachlichen Anforderungen

Fehlererkennung und -behebung

Änderungen von nicht-funktionalen Anforderungen

Plattformwechsel

Teamwechsel

technologischen Anpassungen

Abbau technischer Schulden

Das macht die Komplexität von Softwaresystemen aus.

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 6: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 6 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Mögliche Auswirkungen von Veränderungsprozessen

Es dauert immer länger, um Releases freizugeben

Es ist fast nicht mehr möglich, neue Technologien zu integrieren

Fehler im System nehmen von Release zu Release zu

Fachliche Änderungen verstreuen sich über Ihre gesamte Anwendung

Oft ist gar nicht klar, welche Teile des Systems betroffen sind

Kleine Änderungen haben große Auswirkungen

Z.B. aufwendige Abnahme des Gesamtsystems

Ihre Datenbankstruktur ist unübersichtlich

Es ist nicht klar, welche Tabellen miteinander zu tun haben

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 7: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 7 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Was sind Microservices?

Page 8: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 8 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Das sind Microservices!

Modularisierung

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 9: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 9 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Microservice(s)-Architektur

beschreibt einen Architektur-Stil

Unabhängig von Technologien

D.h. Microservices = Microservice-Architektur

unterstützt Evolution von Architektur in komplexen Systemen

Unterstützt die Änderung der Architektur (Eigendynamik) durch Modularisierung

Architektur ist so dynamisch, wie die Einflüsse auf das System

Es gibt keine normierte Definition

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 10: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 10 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Eigenschaften von Microservice-Architekturen1)

Microservice-Architektur beschreibt ein System von lose gekoppelten

Services, welche sich über leichtgewichtige Kommunikation verständigen.

Kommunikation nur zwischen Microservices

Das Innere der Microservices ist strikt von der Außenwelt isoliert

Microservices sind unabhängig voneinander deploybar

1) Sehr häufig finden Sie eine Definition von Microservices über diese Eigenschaften [Fowler]

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 11: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 11 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Membran des Microservice – Public Interfaces

Membran regelt den

Austausch mit der Umwelt

Nachricht an den Service

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 12: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 12 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Membran des Microservice – Public Interfaces

Microservices bieten öffentliche Schnittstellen an

Kommunikation mit der Außenwelt nur über diese Schnittstellen

Public Interfaces

Public Interfaces erlauben die kontrollierte Abschottung eines Services

Es wird nur sichtbar, was sichtbar sein soll

Schnittstellen-Design muss auch evolutionär sein

Umgang mit Schnittstellenänderungen

Umgang mit Daten der Schnittstelle

Fehler im Design der Schnittstelle sind teuer

REST over HTTP(S) ist gängige Technologie für Public Interfaces

Es gibt noch weitere Technologien

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 13: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 13 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Isoliertes Deployment gegen Dependency Hell

Monolith Microservices

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 14: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 14 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Aspekte der

Microservice-Architektur

Page 15: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 15 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Es gibt nicht die eine Microservices-Architektur

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 16: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 16 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Spannungsfelder der Microservices-Architektur

Granularität – Größe von Microservices

Kommunikation zwischen den Microservices

Datenhaltung

Steuerung der Zusammenarbeit der Microservices

Technologische Autonomie der Microservices

Deployment-Strategien

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 17: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 17 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Granularität – Größe von Microservices

Regel für die Größe eines Microservices

100 – 1000 LOC findet man oft

one/two Pizza Team

Exakte Metrik für der Größe ist m.E. nicht zielführend

Die Größe wird durch Verantwortlichkeit definiert

?

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 18: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 18 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Wo kommen Services her?

Services werden durch Geschäftsprozesse und (Fach-)Domänen bestimmt

Services werden durch das Business definiert

Stabilisiert das System

Microservices sind die technische Umsetzung von Geschäftsvorfällen

Grob, grob, grob ….

Facharchitektur muss die Services fachlich vorgegeben

Zwischen Business und Entwicklung muss eine Brücke geschlagen sein

Domain Driven Design (DDD) liefert eine Methode, Microservices konsistent zu

designen

Microservices entstehen durch technische Adaption des DDD

Vereinfacht

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 19: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 19 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Servicezentriert – Durchgängigkeit der Microservices

FacharchitekturDomain Driven

DesignDeployment

Betrieb

Services sind ein durchgängiges Konzept

Stabil über alle Lebenszyklen eines Systems

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 20: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 20 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Wo kommen Services her?

Microservices scheitern, falls sie nicht durch eine

Facharchitektur gestützt werden.

Falls Microservices nicht die Fachlichkeiten wiederspiegeln,

ergeben sich die gleichen Probleme wie bei Monolithen.

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 21: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 21 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Services sind . . .

kohärent

Ein Microservices ist für abgeschlossene, konsistente Menge an Funktionalität zuständig

Siehe auch Single Responsibility Principle (SRP)

autonom

Die Erledigung seiner Aufgabe hängt nicht von anderen Services ab

Wir sehen später, welche Konsequenzen diese Forderungen haben können

Dies sind Ziele, keine Gesetze

Können im Zweifel aufgeweicht werden

Aber nicht zu sehr ;-)

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 22: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 22 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Granularität – Größe von Microservices

Große Microservices Kleine Microservices

| | |

Enge Kopplung durch mehr Kommunikation

Überschaubar/verstehbar

Aufwendigeres Deployment

Lose Kopplung durch weniger Kommunikation

Starke innere Kopplung

Monolithische Tendenzen

Wird durch fachliche Verantwortlichkeit bestimmt

Dennoch bleibt eine Bandbreite …

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 23: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 23 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Kommunikation

Microservices-Architektur führt zu verteilten Systemen

=> verteilte Kommunikation

7 irrige Annahmen über verteilte Systeme (7 fallacies of distributed Computing [wikipedia-2])

Netzwerk ist stabil und verlässlich

Es gibt keine Latenzzeiten

Netzwerk ist sicher und geschützt

. . .

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 24: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 24 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Kommunikation zwischen Microservices

Synchrone Kommunikation

Synchrone Kommunikation wartet auf Antwort

Microservice hängt vom Antwortverhalten des Partnerservice ab

Erhöht die Kopplung der Microservices

Verringert Autonomie

Beispiel: REST

Asynchrone Kommunikation

Fire and Forget

Beispiel: Messagequeues

Synchrone Kommunikation Asynchrone Kommunikation

| | |

Enge(re) Kopplung

Einfaches Programmiermodell

Anfällige Kommunikation

Lose Kopplung

Komplexes Programmiermodell

Stabile Kommunikation

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 25: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 25 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Datenhaltung

Enge und implizite Kopplung

Einfaches Programmiermodell

Anfällige Kohärenz

Lose Kopplung

Sehr gute Skalierbarkeit

Komplexes Betriebsmodell

Stabile Kohärenz

Shared Database

Shared Database System,

Database per ServiceDatabase System per Service

| | |

Lose Kopplung

Komplexeres Programmiermodell

Stabile Kohärenz

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 26: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 26 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Steuerung der Zusammenarbeit

Orchestrierung

Zentrale Instanz koordiniert die Zusammenarbeit der Services

Automatische Workflows (BPEL, BPMN )

Massive Kenntnis über Services <-> viel implizites Wissen der Services

Choreographie

Interaktion unter Gleichgestellten

Keine zentrale Instanz

Koordination statt zentraler Kontrolle

ChoreographieOrchestrierung

| | |

Zentrale Kontrolle

Synchrone Kommunikation

Enge Kopplung

Koordination unter Gleichgestellten

Asynchrone Kommunikation möglich

Lose Kopplung

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 27: Micro, Nano, Mono  - Microservices verständlich erklärt.

Technologische Autonomie

Isoliertes Deployment verbessert die technologische Autonomie

Kommunikationsverfahren müssen immer zwischen Microservices abgestimmt

werden

Fragestellungen:

Wie viele Technologien kann meine Entwicklung vertragen/beherrschen?

Wie viele verschiedene Datenbanksysteme kann mein Betrieb beherrschen?

Wie viel Wert lege ich auf Abbau technischer Schulden pro Microservice?

Technologische Autonomie

des Services

Enge technologische

Rahmenbedingungen

| | |

Enge technologische Kopplung

Technologische Koordination

Kleiner Zoo an Technologien

Lose technologische Kopplung

Wenig technologische Koordination

Umfangreicher Zoo an Technologien

Abbau technischer Schulden pro Service

Page 28: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 28 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Deployment-Strategien – Mehrere Service-Instanzen

per HostManaged Laufzeitumgebung für Services

Ist in der Regel ein Prozess

z.B. ApplicationServer, OSGi, ESB

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 29: Micro, Nano, Mono  - Microservices verständlich erklärt.

Deployment-Strategien – Service Instanz pro

Virtueller Maschine Infrastruktur, um Services

• zu verteilen

• zu starten

• zu finden

Ein Service pro Maschine/VM

Public Infrastructure, z.B. Amazon EC2

Tools, z.B. Netflix Stack mit

Eureka, Ribbon, Zuul,…

Page 30: Micro, Nano, Mono  - Microservices verständlich erklärt.

Deployment-Strategien – Service Instanz pro

Container Infrastruktur, um Container

• zu verteilen

• zu starten

• zu finden

Ein Service pro Container

Mehrere Container pro Host/VM

Public Infrastructure, z.B. Amazon EC2, GAE

Cloud Foundry, OpenStack

Tools, z.B. Docker Engine, Kubernetes, Apache

Mesos, . . .

Page 31: Micro, Nano, Mono  - Microservices verständlich erklärt.

Deployment-Strategien – Serverless Deployment

Amazon Web Services

zλλλλ

Datenhaltung

Streaming

E-Mail

HTTP

λλλλ

λλλλ

λλλλ

Infrastruktur-Services

Nano-Services

Bsp: Amazon AWS Lambda

Kinesis

S3, DynamoDB

API Gateway

Page 32: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 32 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Deployment-Szenarien

Mehrere Service-Instanzen

pro Host/Maschine (JEE)

Service-Instanz

pro Container (Docker)

Service-Instanz

pro VM (Netflix)

Nicht für Skalierung optimierte Infrastruktur

Klassisches Deployment

Nicht isolierte Laufzeitumgebung

Nicht automatisierte Infrastruktur

Geht ohne DevOps

Für Skalierung optimierte Infrastruktur

Isolierte Laufzeitumgebung

Automatisierte Infrastruktur

Geht nicht ohne DevOps

| | |

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 33: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 33 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

| | |

Synchrone Kommunikation Asynchrone Kommunikation

| | |

Shared

DatabaseDatabase System

per Service

Database

per Service

| | |

Enge technologische

Rahmenbedingungen

Technologische Autonomie

des Service

| | |

Orchestrierung Choreographie

| | |

Große Microservices Kleine Microservices

| | |

Mehrere Services

pro Instanz

Service-Instanz

pro Container (Docker)

Service-Instanz

pro VM (Netflix)

Jede Domäne ist anders

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 34: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 34 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Weitere Herausforderungen

Logging und Monitoring

Je mehr Beteiligte, desto entscheidender ist Logging und Monitoring

Informationen aller Microservices müssen zentral zusammengeführt werden

Sammeln, speichern, suchen und aufbereiten

Jeder Microservice integriert sich selbst

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 35: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 35 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Weitere Herausforderungen

Logging und Monitoring

Security

Autorisierung und Authentifizierung der Kommunikation

SSO + Loadbalancing

Delegationsverfahren wie OAuth2, ….

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 36: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 36 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Weitere Herausforderungen

Logging und Monitoring

Security

Testverfahren

Testverfahren auf Ebene der Microservices

Consumer-Driven-Tests

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 37: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 37 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Weitere Herausforderungen

Logging und Monitoring

Security

Testverfahren

Fehlertoleranz und Resilienz – design for failure

Absicherung gegen Nicht-Erreichbarkeiten

Implementiert jeder Microservice für sich

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 38: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 38 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Jede Domäne ist anders

Es gibt nicht die eine Microservice-Architektur

Ihre Microservices-Architektur muss

Ihre Probleme lösen

Ihren Anforderungen entsprechen

Ihre Gegebenheiten respektieren

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 39: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 39 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Zum Abschluss

Page 40: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 40 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Microservices . . .

sind ein Architekturstil

Unterstützen evolutionäre Architektur

werden durch fachliche Geschäftsvorfälle bestimmt

Architektur ist individuell

Muss an Anforderungen und Gegebenheiten Ihres Unternehmens angepasst werden

müssen in einem System bewusst und konsequent angewendet werden

Systeme neigen zu impliziten Kopplungen

sind an keine Technologie gebunden

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 41: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 41 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Microservices . . .

basieren auf einem übergreifenden, durchgängigen fachlichen Servicekonzept

Ohne dieses durchgängige Konzept sind Microservices nur sehr schwer zu beherrschen

spielen ihre Stärken und Potential voll aus, wenn sie

durch agile Methoden unterstützt werden

durch automatisierte Infrastruktur unterstützt werden (DevOps)

durch passende Organisationsstrukturen unterstützt werden

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 42: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 42 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Vielen Dank!

Fragen?

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 43: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 43 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Referenzen

[Fowler] http://martinfowler.com/articles/microservices.html

[schlemm] A. Schlemm http://www.thur.de/philo/som/somkomplex.htm

[schoeneberg] Komplexitätsmanagement in Unternehmen; Schoeneberg

http://www.springer.com/de/book/9783658012830

[Peinl] Überblick über Docker-Cluster-Technologien - Peinl 2016 (SIGS-

DATACOM)

http://www.sigs-

datacom.de/uploads/tx_dmjournals/peinl_OTS_Microservices_Docker_16.pdf

[SOA-Manifest] http://soa-manifest.de/

[RAML] http://raml.org/

[wikipedia-1] https://de.wikipedia.org/wiki/Komplexit%C3%A4t

[wikipedia-2] https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing

[wikipedia-3] https://de.wikipedia.org/wiki/Cynefin-Framework

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 44: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 44 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

https://blog.iks-gmbh.com/was-ist-eine-microservice-architektur/

http://samnewman.io/blog/2015/04/07/microservices-for-greenfield/

https://genehughson.wordpress.com/2015/05/18/microservices-

sharpening-the-focus/

https://genehughson.wordpress.com/2014/05/23/carving-it-up-

microservices-monoliths-conways-law/

http://simplearchitectures.blogspot.de/2012/09/snowman-architecture-

part-one-overview.html

https://genehughson.wordpress.com/2014/11/24/microservice-principles-

and-enterprise-it-architecture/

https://genehughson.wordpress.com/2014/06/04/more-on-microservices-

boundaries-governance-reuse-complexity/

https://www.tigerteam.dk/2014/micro-services-its-not-only-the-size-that-

matters-its-also-how-you-use-them-part-1/ Teile 1-6

http://www-db.cs.wisc.edu/cidr/cidr2007/papers/cidr07p15.pdf

Weiterführende Literatur

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 45: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 45 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Bildreferenzen

https://pixabay.com/de/fischernetze-fischernetz-fischerei-101992/

https://pixabay.com/de/bienen-bienenstock-imkerei-honig-486872/

https://pixabay.com/de/bienenwabe-honigwabe-honig-lecker-1564956/

https://pixabay.com/de/blumenwiese-wiesenblumen-sommerwiese-

1657016/

https://pixabay.com/de/himmel-wolken-sonnenstrahlen-414198/

https://pixabay.com/de/sonne-abendrot-morgenrot-209495/

https://pixabay.com/de/adler-vogel-raubvogel-greifvogel-339125/

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 46: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 46 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Impulsvorträge für Ihr Unternehmen

Überblick über das gesamte Angebot an Impulsvorträgen unter:

www.iks-gmbh.com/impulsvotraege

Ihr Nutzen:

Unabhängiges, aktuelles Expertenwissen.

Individuell auf Ihr Publikum und Ihr Unternehmen zugeschnittene Vorträge.

Referenten mit langjähriger und branchenübergreifender Expertise in der IT-

Beratung.

Praxisnahe Vorträge, die aus Projektarbeit entstanden sind, frei von

Produktwerbung.

Ideale Ergänzung für Ihre Führungskräftetreffen, Abteilungsmeetings, Hausmessen,

Innovation Days, Konferenzen, Open Spaces, Kick-off-Meetings oder

Zukunftsworkshops.

Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der

Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur

Page 47: Micro, Nano, Mono  - Microservices verständlich erklärt.

WWW.IKS-GMBH.COM

Page 48: Micro, Nano, Mono  - Microservices verständlich erklärt.

Micro, Nano, Mono? Microservices verständlich erklärt 48 | 48

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Projekte. Beratung. Spezialisten.