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
08.11.2016
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

Mais procurados

TGIC - Trusted German Insurance Cloud
TGIC - Trusted German Insurance CloudTGIC - Trusted German Insurance Cloud
TGIC - Trusted German Insurance CloudFSP GmbH
 
IoT Ecosystem Broschüre
IoT Ecosystem BroschüreIoT Ecosystem Broschüre
IoT Ecosystem BroschüreJanz Tec AG
 
IT-Governance - die Wolke fest im Griff. Wiedemann Proventa SecTXL (Hamburg) ...
IT-Governance - die Wolke fest im Griff. Wiedemann Proventa SecTXL (Hamburg) ...IT-Governance - die Wolke fest im Griff. Wiedemann Proventa SecTXL (Hamburg) ...
IT-Governance - die Wolke fest im Griff. Wiedemann Proventa SecTXL (Hamburg) ...Dietmar Georg Wiedemann
 
Achim Schuch (Chori Technologie)
Achim Schuch (Chori Technologie)Achim Schuch (Chori Technologie)
Achim Schuch (Chori Technologie)Praxistage
 
Erfahrungsbericht: "Bring Your Own Device" in Verbindung mit einem Software-K...
Erfahrungsbericht: "Bring Your Own Device" in Verbindung mit einem Software-K...Erfahrungsbericht: "Bring Your Own Device" in Verbindung mit einem Software-K...
Erfahrungsbericht: "Bring Your Own Device" in Verbindung mit einem Software-K...Univention GmbH
 
abtis veranstaltet 7. IT Symposium Mittelstand in Pforzheim
abtis veranstaltet 7. IT Symposium Mittelstand in Pforzheimabtis veranstaltet 7. IT Symposium Mittelstand in Pforzheim
abtis veranstaltet 7. IT Symposium Mittelstand in Pforzheimbhoeck
 
Cloud-Sicherheit entmystifiziert
Cloud-Sicherheit entmystifiziertCloud-Sicherheit entmystifiziert
Cloud-Sicherheit entmystifiziertAlexander Junk
 

Mais procurados (7)

TGIC - Trusted German Insurance Cloud
TGIC - Trusted German Insurance CloudTGIC - Trusted German Insurance Cloud
TGIC - Trusted German Insurance Cloud
 
IoT Ecosystem Broschüre
IoT Ecosystem BroschüreIoT Ecosystem Broschüre
IoT Ecosystem Broschüre
 
IT-Governance - die Wolke fest im Griff. Wiedemann Proventa SecTXL (Hamburg) ...
IT-Governance - die Wolke fest im Griff. Wiedemann Proventa SecTXL (Hamburg) ...IT-Governance - die Wolke fest im Griff. Wiedemann Proventa SecTXL (Hamburg) ...
IT-Governance - die Wolke fest im Griff. Wiedemann Proventa SecTXL (Hamburg) ...
 
Achim Schuch (Chori Technologie)
Achim Schuch (Chori Technologie)Achim Schuch (Chori Technologie)
Achim Schuch (Chori Technologie)
 
Erfahrungsbericht: "Bring Your Own Device" in Verbindung mit einem Software-K...
Erfahrungsbericht: "Bring Your Own Device" in Verbindung mit einem Software-K...Erfahrungsbericht: "Bring Your Own Device" in Verbindung mit einem Software-K...
Erfahrungsbericht: "Bring Your Own Device" in Verbindung mit einem Software-K...
 
abtis veranstaltet 7. IT Symposium Mittelstand in Pforzheim
abtis veranstaltet 7. IT Symposium Mittelstand in Pforzheimabtis veranstaltet 7. IT Symposium Mittelstand in Pforzheim
abtis veranstaltet 7. IT Symposium Mittelstand in Pforzheim
 
Cloud-Sicherheit entmystifiziert
Cloud-Sicherheit entmystifiziertCloud-Sicherheit entmystifiziert
Cloud-Sicherheit entmystifiziert
 

Destaque

Hybrid cloud architecture & connectivity
Hybrid cloud architecture & connectivityHybrid cloud architecture & connectivity
Hybrid cloud architecture & connectivityWolfgang Schmidt
 

Destaque (18)

Hybrid cloud architecture & connectivity
Hybrid cloud architecture & connectivityHybrid cloud architecture & connectivity
Hybrid cloud architecture & connectivity
 
Agilität - Mythen, Trens, best Practices
Agilität - Mythen, Trens, best PracticesAgilität - Mythen, Trens, best Practices
Agilität - Mythen, Trens, best Practices
 
FAQs zur Technik
FAQs zur TechnikFAQs zur Technik
FAQs zur Technik
 
App-Projekte richtig steuern
App-Projekte richtig steuernApp-Projekte richtig steuern
App-Projekte richtig steuern
 
Mehr Softwarequalität: Softwarequalität ist steuerbar
Mehr Softwarequalität: Softwarequalität ist steuerbarMehr Softwarequalität: Softwarequalität ist steuerbar
Mehr Softwarequalität: Softwarequalität ist steuerbar
 
Mehr Softwarequalität: Technische Schulden (IKS-Thementag: 05.05.2015)
Mehr Softwarequalität: Technische Schulden (IKS-Thementag: 05.05.2015)Mehr Softwarequalität: Technische Schulden (IKS-Thementag: 05.05.2015)
Mehr Softwarequalität: Technische Schulden (IKS-Thementag: 05.05.2015)
 
iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb
iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb
iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb
 
Mehr Softwarequalität: Qualität als Treiber (IKS-Thementag: 05.05.2015)
Mehr Softwarequalität: Qualität als Treiber (IKS-Thementag: 05.05.2015)Mehr Softwarequalität: Qualität als Treiber (IKS-Thementag: 05.05.2015)
Mehr Softwarequalität: Qualität als Treiber (IKS-Thementag: 05.05.2015)
 
Mehr Softwarequalitä: Usability
Mehr Softwarequalitä: UsabilityMehr Softwarequalitä: Usability
Mehr Softwarequalitä: Usability
 
Einfuehrung in mongo_db_iks
Einfuehrung in mongo_db_iksEinfuehrung in mongo_db_iks
Einfuehrung in mongo_db_iks
 
Test-Automation mit Selenium WebDriver - ein Artikel der iks im dotnetpro
Test-Automation mit Selenium WebDriver - ein Artikel der iks im dotnetproTest-Automation mit Selenium WebDriver - ein Artikel der iks im dotnetpro
Test-Automation mit Selenium WebDriver - ein Artikel der iks im dotnetpro
 
Apps als motor zur digitalen transformation
Apps als motor zur digitalen transformationApps als motor zur digitalen transformation
Apps als motor zur digitalen transformation
 
"RCP-Hilfe-System" - Ein Artikel im Eclipse Magazin 6/2010
"RCP-Hilfe-System" - Ein Artikel im Eclipse Magazin 6/2010"RCP-Hilfe-System" - Ein Artikel im Eclipse Magazin 6/2010
"RCP-Hilfe-System" - Ein Artikel im Eclipse Magazin 6/2010
 
Mehr Softwarequalität: Team-Cleancoding
Mehr Softwarequalität: Team-CleancodingMehr Softwarequalität: Team-Cleancoding
Mehr Softwarequalität: Team-Cleancoding
 
Softwarequalität: Definitionen, Grenzen, Wünsche - Vortrag IKS-Meeting im Jan...
Softwarequalität: Definitionen, Grenzen, Wünsche - Vortrag IKS-Meeting im Jan...Softwarequalität: Definitionen, Grenzen, Wünsche - Vortrag IKS-Meeting im Jan...
Softwarequalität: Definitionen, Grenzen, Wünsche - Vortrag IKS-Meeting im Jan...
 
Mehr Softwarequalität: Technische Schulden
Mehr Softwarequalität: Technische SchuldenMehr Softwarequalität: Technische Schulden
Mehr Softwarequalität: Technische Schulden
 
Mehr Softwarequalität: Qualität als Treiber
Mehr Softwarequalität: Qualität als TreiberMehr Softwarequalität: Qualität als Treiber
Mehr Softwarequalität: Qualität als Treiber
 
Service goes green
Service goes greenService goes green
Service goes green
 

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
 
Modernisierung in Zeiten wie diesen
Modernisierung in Zeiten wie diesenModernisierung in Zeiten wie diesen
Modernisierung in Zeiten wie diesenenpit GmbH & Co. KG
 
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
 
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
 
DevOps in der Praxis
DevOps in der PraxisDevOps in der Praxis
DevOps in der Praxisinovex GmbH
 
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
 
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
 
Modernisierung in Zeiten wie diesen
Modernisierung in Zeiten wie diesenModernisierung in Zeiten wie diesen
Modernisierung in Zeiten wie diesen
 
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...
 
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
 
DevOps in der Praxis
DevOps in der PraxisDevOps in der Praxis
DevOps in der Praxis
 
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
 
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 08.11.2016 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.