micro, nano, mono? microservices verständlich erklärt
Upload: iks-gesellschaft-fuer-informations-und-kommunikationssysteme-mbh
Post on 05-Apr-2017
24 views
TRANSCRIPT
![Page 1: Micro, Nano, Mono? Microservices verständlich erklärt](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/1.jpg)
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
28.03.2017
Christoph Schmidt-Casdorff
Micro, Nano, Mono? Microservices verständlich erklärt
![Page 2: Micro, Nano, Mono? Microservices verständlich erklärt](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/23.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/26.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/27.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/28.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/29.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/30.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/31.jpg)
Deployment-Strategien – Serverless Deployment
Amazon Web Services
zλλλλ
Datenhaltung
Streaming
HTTP
λλλλ
λλλλ
λλλλ
Infrastruktur-Services
Nano-Services
Bsp: Amazon AWS Lambda
Kinesis
S3, DynamoDB
API Gateway
![Page 32: Micro, Nano, Mono? Microservices verständlich erklärt](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/32.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/33.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/34.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/35.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/36.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/37.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/38.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/39.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/40.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/41.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/42.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/43.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/44.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/45.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/46.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/47.jpg)
WWW.IKS-GMBH.COM
![Page 48: Micro, Nano, Mono? Microservices verständlich erklärt](https://reader031.vdocuments.site/reader031/viewer/2022022410/58e51e8e1a28ab624e8b5791/html5/thumbnails/48.jpg)
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.