SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
Micro, Nano, Mono? Microservices verständlich erklärt 1 | 48
Projekte. Beratung. Spezialisten.
Komplexität beherrschen
IKS-Thementag
28.03.2017
Christoph Schmidt-Casdorff
Micro, Nano, Mono? Microservices verständlich erklärt
Micro, Nano, Mono? Microservices verständlich erklärt 2 | 48
Agenda
Softwaresysteme unter Veränderungen
Was sind Microservices?
Aspekte der Microservice-Architektur
Zum Abschluss
Micro, Nano, Mono? Microservices verständlich erklärt 3 | 48
Softwaresysteme unter Veränderungen
Micro, Nano, Mono? Microservices verständlich erklärt 4 | 48
Auch Softwaresysteme altern
Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der
Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur
Micro, Nano, Mono? Microservices verständlich erklärt 5 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 6 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 7 | 48
Was sind Microservices?
Micro, Nano, Mono? Microservices verständlich erklärt 8 | 48
Das sind Microservices!
Modularisierung
Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der
Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur
Micro, Nano, Mono? Microservices verständlich erklärt 9 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 10 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 11 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 12 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 13 | 48
Isoliertes Deployment gegen Dependency Hell
Monolith Microservices
Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der
Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur
Micro, Nano, Mono? Microservices verständlich erklärt 14 | 48
Aspekte der
Microservice-Architektur
Micro, Nano, Mono? Microservices verständlich erklärt 15 | 48
Es gibt nicht die eine Microservices-Architektur
Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der
Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur
Micro, Nano, Mono? Microservices verständlich erklärt 16 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 17 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 18 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 19 | 48
Servicezentriert – Durchgängigkeit der Microservices
Facharchitektur
Domain Driven
Design
Deployment
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
Micro, Nano, Mono? Microservices verständlich erklärt 20 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 21 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 22 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 23 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 24 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 25 | 48
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 Service
Database 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
Micro, Nano, Mono? Microservices verständlich erklärt 26 | 48
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
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
Micro, Nano, Mono? Microservices verständlich erklärt 28 | 48
Deployment-Strategien – Mehrere Service-Instanzen
per Host Managed 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
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,…
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, . . .
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
Micro, Nano, Mono? Microservices verständlich erklärt 32 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 33 | 48
| | |
Synchrone Kommunikation Asynchrone Kommunikation
| | |
Shared
Database
Database 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
Micro, Nano, Mono? Microservices verständlich erklärt 34 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 35 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 36 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 37 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 38 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 39 | 48
Zum Abschluss
Micro, Nano, Mono? Microservices verständlich erklärt 40 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 41 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 42 | 48
Vielen Dank!
Fragen?
Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der
Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur
Micro, Nano, Mono? Microservices verständlich erklärt 43 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 44 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 45 | 48
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
Micro, Nano, Mono? Microservices verständlich erklärt 46 | 48
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
WWW.IKS-GMBH.COM
Micro, Nano, Mono? Microservices verständlich erklärt 48 | 48
Projekte. Beratung. Spezialisten.

Mais conteúdo relacionado

Destaque

JUG - Soup to Nuts with Self Contained Systems
JUG - Soup to Nuts with Self Contained SystemsJUG - Soup to Nuts with Self Contained Systems
JUG - Soup to Nuts with Self Contained SystemsDonovan Muller
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureKim Clark
 
NATS vs HTTP
NATS vs HTTPNATS vs HTTP
NATS vs HTTPApcera
 
Building microservices with azure functions
Building microservices with azure functionsBuilding microservices with azure functions
Building microservices with azure functionsJustin Maurer
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice ArchitectureNguyen Tung
 
Adapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleAdapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleApigee | Google Cloud
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .NetRichard Banks
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudEberhard Wolff
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Kim Clark
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitecturePaul Mooney
 
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureKelly Goetsch
 
REST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesREST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesEberhard Wolff
 
Microservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices SuccessMicroservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices SuccessApigee | Google Cloud
 
Intro to Serverless AWS Web Apps
Intro to Serverless AWS Web AppsIntro to Serverless AWS Web Apps
Intro to Serverless AWS Web AppsKyle McKee
 
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...Andrew Morgan
 
10 Tips for failing at microservices
10 Tips for failing at microservices10 Tips for failing at microservices
10 Tips for failing at microservicesDavid Schmitz
 
Master the flow of microservices - because your business is more complex than...
Master the flow of microservices - because your business is more complex than...Master the flow of microservices - because your business is more complex than...
Master the flow of microservices - because your business is more complex than...Bernd Ruecker
 

Destaque (19)

JUG - Soup to Nuts with Self Contained Systems
JUG - Soup to Nuts with Self Contained SystemsJUG - Soup to Nuts with Self Contained Systems
JUG - Soup to Nuts with Self Contained Systems
 
Auth as a microservice
Auth as a microserviceAuth as a microservice
Auth as a microservice
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration Architecture
 
NATS vs HTTP
NATS vs HTTPNATS vs HTTP
NATS vs HTTP
 
Building microservices with azure functions
Building microservices with azure functionsBuilding microservices with azure functions
Building microservices with azure functions
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Adapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleAdapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at Google
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring Cloud
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright Future
 
REST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesREST vs. Messaging For Microservices
REST vs. Messaging For Microservices
 
Microservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices SuccessMicroservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices Success
 
Intro to Serverless AWS Web Apps
Intro to Serverless AWS Web AppsIntro to Serverless AWS Web Apps
Intro to Serverless AWS Web Apps
 
Haufe API Strategy
Haufe API StrategyHaufe API Strategy
Haufe API Strategy
 
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
 
10 Tips for failing at microservices
10 Tips for failing at microservices10 Tips for failing at microservices
10 Tips for failing at microservices
 
Master the flow of microservices - because your business is more complex than...
Master the flow of microservices - because your business is more complex than...Master the flow of microservices - because your business is more complex than...
Master the flow of microservices - because your business is more complex than...
 

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

Microservices und das Entity Control Boundary Pattern
Microservices und das Entity Control Boundary PatternMicroservices und das Entity Control Boundary Pattern
Microservices und das Entity Control Boundary PatternBrockhaus Consulting GmbH
 
BATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu MicroservicesBATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu MicroservicesBATbern
 
Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Christian Baranowski
 
Microservice architecture applied. 14 Praxis-Tipps für die Nutzung von Micros...
Microservice architecture applied. 14 Praxis-Tipps für die Nutzung von Micros...Microservice architecture applied. 14 Praxis-Tipps für die Nutzung von Micros...
Microservice architecture applied. 14 Praxis-Tipps für die Nutzung von Micros...Ramon Anger
 
Microservices - Architekturansatz mit grossen Herausforderungen und gewissen ...
Microservices - Architekturansatz mit grossen Herausforderungen und gewissen ...Microservices - Architekturansatz mit grossen Herausforderungen und gewissen ...
Microservices - Architekturansatz mit grossen Herausforderungen und gewissen ...engelschall
 
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSPSoftware Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSPChristian Guenther
 
Anatomie von Microservice Landschaften
Anatomie von Microservice LandschaftenAnatomie von Microservice Landschaften
Anatomie von Microservice LandschaftenMichael Plöd
 
Innovations- und Informationskultur mit Web 2.0 (2010)
Innovations- und Informationskultur mit Web 2.0 (2010)Innovations- und Informationskultur mit Web 2.0 (2010)
Innovations- und Informationskultur mit Web 2.0 (2010)Intelliact AG
 
BATbern41 Microservices@Enterprise
BATbern41 Microservices@EnterpriseBATbern41 Microservices@Enterprise
BATbern41 Microservices@EnterpriseBATbern
 
Osudio + commercetools Webinar: Microservices - Flexibilität und Geschwindigk...
Osudio + commercetools Webinar: Microservices - Flexibilität und Geschwindigk...Osudio + commercetools Webinar: Microservices - Flexibilität und Geschwindigk...
Osudio + commercetools Webinar: Microservices - Flexibilität und Geschwindigk...Dirk Hoerig
 
Modernisierung in Zeiten wie diesen
Modernisierung in Zeiten wie diesenModernisierung in Zeiten wie diesen
Modernisierung in Zeiten wie diesenenpit GmbH & Co. KG
 
DWX Developer Week 2015 - Microservice architecture applied
DWX Developer Week 2015 - Microservice architecture appliedDWX Developer Week 2015 - Microservice architecture applied
DWX Developer Week 2015 - Microservice architecture appliedRamon Anger
 
Modulare Enterprise Systeme - Eine Einführung
Modulare Enterprise Systeme - Eine EinführungModulare Enterprise Systeme - Eine Einführung
Modulare Enterprise Systeme - Eine EinführungAndreas Weidinger
 
Mind the Gap - Architecture versus Code @ W-JAX 2016
Mind the Gap - Architecture versus Code @ W-JAX 2016Mind the Gap - Architecture versus Code @ W-JAX 2016
Mind the Gap - Architecture versus Code @ W-JAX 2016Oliver Fischer
 
Schöne, neue Servicewelt - Leseprobe
Schöne, neue Servicewelt - LeseprobeSchöne, neue Servicewelt - Leseprobe
Schöne, neue Servicewelt - LeseprobeDirk Zimmermann
 
Pragmatic SOA - Beschränken auf das Wesentliche
Pragmatic SOA - Beschränken auf das WesentlichePragmatic SOA - Beschränken auf das Wesentliche
Pragmatic SOA - Beschränken auf das Wesentliche1&1
 
DevOps in der Praxis
DevOps in der PraxisDevOps in der Praxis
DevOps in der Praxisinovex GmbH
 
Mobile Days Kongress mobile Instandhaltung 2019
Mobile Days Kongress mobile Instandhaltung 2019Mobile Days Kongress mobile Instandhaltung 2019
Mobile Days Kongress mobile Instandhaltung 2019RODIAS GmbH
 

Semelhante a Micro, Nano, Mono? Microservices verständlich erklärt (20)

Microservices und das Entity Control Boundary Pattern
Microservices und das Entity Control Boundary PatternMicroservices und das Entity Control Boundary Pattern
Microservices und das Entity Control Boundary Pattern
 
BATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu MicroservicesBATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu Microservices
 
Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
 
Microservice architecture applied. 14 Praxis-Tipps für die Nutzung von Micros...
Microservice architecture applied. 14 Praxis-Tipps für die Nutzung von Micros...Microservice architecture applied. 14 Praxis-Tipps für die Nutzung von Micros...
Microservice architecture applied. 14 Praxis-Tipps für die Nutzung von Micros...
 
Microservices - Architekturansatz mit grossen Herausforderungen und gewissen ...
Microservices - Architekturansatz mit grossen Herausforderungen und gewissen ...Microservices - Architekturansatz mit grossen Herausforderungen und gewissen ...
Microservices - Architekturansatz mit grossen Herausforderungen und gewissen ...
 
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSPSoftware Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
 
Anatomie von Microservice Landschaften
Anatomie von Microservice LandschaftenAnatomie von Microservice Landschaften
Anatomie von Microservice Landschaften
 
Innovations- und Informationskultur mit Web 2.0 (2010)
Innovations- und Informationskultur mit Web 2.0 (2010)Innovations- und Informationskultur mit Web 2.0 (2010)
Innovations- und Informationskultur mit Web 2.0 (2010)
 
BATbern41 Microservices@Enterprise
BATbern41 Microservices@EnterpriseBATbern41 Microservices@Enterprise
BATbern41 Microservices@Enterprise
 
Osudio + commercetools Webinar: Microservices - Flexibilität und Geschwindigk...
Osudio + commercetools Webinar: Microservices - Flexibilität und Geschwindigk...Osudio + commercetools Webinar: Microservices - Flexibilität und Geschwindigk...
Osudio + commercetools Webinar: Microservices - Flexibilität und Geschwindigk...
 
Modernisierung in Zeiten wie diesen
Modernisierung in Zeiten wie diesenModernisierung in Zeiten wie diesen
Modernisierung in Zeiten wie diesen
 
microservices
microservicesmicroservices
microservices
 
DWX Developer Week 2015 - Microservice architecture applied
DWX Developer Week 2015 - Microservice architecture appliedDWX Developer Week 2015 - Microservice architecture applied
DWX Developer Week 2015 - Microservice architecture applied
 
Modulare Enterprise Systeme - Eine Einführung
Modulare Enterprise Systeme - Eine EinführungModulare Enterprise Systeme - Eine Einführung
Modulare Enterprise Systeme - Eine Einführung
 
Mind the Gap - Architecture versus Code @ W-JAX 2016
Mind the Gap - Architecture versus Code @ W-JAX 2016Mind the Gap - Architecture versus Code @ W-JAX 2016
Mind the Gap - Architecture versus Code @ W-JAX 2016
 
Schöne, neue Servicewelt - Leseprobe
Schöne, neue Servicewelt - LeseprobeSchöne, neue Servicewelt - Leseprobe
Schöne, neue Servicewelt - Leseprobe
 
Pragmatic SOA - Beschränken auf das Wesentliche
Pragmatic SOA - Beschränken auf das WesentlichePragmatic SOA - Beschränken auf das Wesentliche
Pragmatic SOA - Beschränken auf das Wesentliche
 
DevOps in der Praxis
DevOps in der PraxisDevOps in der Praxis
DevOps in der Praxis
 
Mobile Days Kongress mobile Instandhaltung 2019
Mobile Days Kongress mobile Instandhaltung 2019Mobile Days Kongress mobile Instandhaltung 2019
Mobile Days Kongress mobile Instandhaltung 2019
 
OSLC in Aktion
OSLC in AktionOSLC in Aktion
OSLC in Aktion
 

Mais de IKS Gesellschaft für Informations- und Kommunikationssysteme mbH

Mais de IKS Gesellschaft für Informations- und Kommunikationssysteme mbH (20)

Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingtEs wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
 
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
 
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdfThementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
 
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
 
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdfThementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
 
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdfThementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
 
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdfThementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
 
Thementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdfThementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdf
 
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdfThementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
 
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdfThementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
 
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 

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

  • 1. Micro, Nano, Mono? Microservices verständlich erklärt 1 | 48 Projekte. Beratung. Spezialisten. Komplexität beherrschen IKS-Thementag 28.03.2017 Christoph Schmidt-Casdorff Micro, Nano, Mono? Microservices verständlich erklärt
  • 2. Micro, Nano, Mono? Microservices verständlich erklärt 2 | 48 Agenda Softwaresysteme unter Veränderungen Was sind Microservices? Aspekte der Microservice-Architektur Zum Abschluss
  • 3. Micro, Nano, Mono? Microservices verständlich erklärt 3 | 48 Softwaresysteme unter Veränderungen
  • 4. Micro, Nano, Mono? Microservices verständlich erklärt 4 | 48 Auch Softwaresysteme altern Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur
  • 5. Micro, Nano, Mono? Microservices verständlich erklärt 5 | 48 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
  • 6. Micro, Nano, Mono? Microservices verständlich erklärt 6 | 48 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
  • 7. Micro, Nano, Mono? Microservices verständlich erklärt 7 | 48 Was sind Microservices?
  • 8. Micro, Nano, Mono? Microservices verständlich erklärt 8 | 48 Das sind Microservices! Modularisierung Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur
  • 9. Micro, Nano, Mono? Microservices verständlich erklärt 9 | 48 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
  • 10. Micro, Nano, Mono? Microservices verständlich erklärt 10 | 48 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
  • 11. Micro, Nano, Mono? Microservices verständlich erklärt 11 | 48 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
  • 12. Micro, Nano, Mono? Microservices verständlich erklärt 12 | 48 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
  • 13. Micro, Nano, Mono? Microservices verständlich erklärt 13 | 48 Isoliertes Deployment gegen Dependency Hell Monolith Microservices Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur
  • 14. Micro, Nano, Mono? Microservices verständlich erklärt 14 | 48 Aspekte der Microservice-Architektur
  • 15. Micro, Nano, Mono? Microservices verständlich erklärt 15 | 48 Es gibt nicht die eine Microservices-Architektur Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur
  • 16. Micro, Nano, Mono? Microservices verständlich erklärt 16 | 48 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
  • 17. Micro, Nano, Mono? Microservices verständlich erklärt 17 | 48 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
  • 18. Micro, Nano, Mono? Microservices verständlich erklärt 18 | 48 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
  • 19. Micro, Nano, Mono? Microservices verständlich erklärt 19 | 48 Servicezentriert – Durchgängigkeit der Microservices Facharchitektur Domain Driven Design Deployment 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
  • 20. Micro, Nano, Mono? Microservices verständlich erklärt 20 | 48 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
  • 21. Micro, Nano, Mono? Microservices verständlich erklärt 21 | 48 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
  • 22. Micro, Nano, Mono? Microservices verständlich erklärt 22 | 48 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
  • 23. Micro, Nano, Mono? Microservices verständlich erklärt 23 | 48 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
  • 24. Micro, Nano, Mono? Microservices verständlich erklärt 24 | 48 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
  • 25. Micro, Nano, Mono? Microservices verständlich erklärt 25 | 48 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 Service Database 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
  • 26. Micro, Nano, Mono? Microservices verständlich erklärt 26 | 48 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
  • 27. 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
  • 28. Micro, Nano, Mono? Microservices verständlich erklärt 28 | 48 Deployment-Strategien – Mehrere Service-Instanzen per Host Managed 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
  • 29. 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,…
  • 30. 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, . . .
  • 31. 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
  • 32. Micro, Nano, Mono? Microservices verständlich erklärt 32 | 48 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
  • 33. Micro, Nano, Mono? Microservices verständlich erklärt 33 | 48 | | | Synchrone Kommunikation Asynchrone Kommunikation | | | Shared Database Database 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
  • 34. Micro, Nano, Mono? Microservices verständlich erklärt 34 | 48 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
  • 35. Micro, Nano, Mono? Microservices verständlich erklärt 35 | 48 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
  • 36. Micro, Nano, Mono? Microservices verständlich erklärt 36 | 48 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
  • 37. Micro, Nano, Mono? Microservices verständlich erklärt 37 | 48 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
  • 38. Micro, Nano, Mono? Microservices verständlich erklärt 38 | 48 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
  • 39. Micro, Nano, Mono? Microservices verständlich erklärt 39 | 48 Zum Abschluss
  • 40. Micro, Nano, Mono? Microservices verständlich erklärt 40 | 48 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
  • 41. Micro, Nano, Mono? Microservices verständlich erklärt 41 | 48 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
  • 42. Micro, Nano, Mono? Microservices verständlich erklärt 42 | 48 Vielen Dank! Fragen? Softwaresysteme unter Veränderungen | Was sind Microservices? | Aspekte der Microservice-Architektur | Zum Abschluss | Referenzen | Weiterführende Literatur
  • 43. Micro, Nano, Mono? Microservices verständlich erklärt 43 | 48 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
  • 44. Micro, Nano, Mono? Microservices verständlich erklärt 44 | 48 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
  • 45. Micro, Nano, Mono? Microservices verständlich erklärt 45 | 48 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
  • 46. Micro, Nano, Mono? Microservices verständlich erklärt 46 | 48 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
  • 48. Micro, Nano, Mono? Microservices verständlich erklärt 48 | 48 Projekte. Beratung. Spezialisten.