wie passt das zusammen?€¦ · microservices und enterprise-software –wie passt das zusammen?...
TRANSCRIPT
![Page 1: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/1.jpg)
9. März 2020 @ AK MSDO
Microservices und Enterprise-SoftwareWie passt das zusammen?
CAU Kiel, Arbeitsgruppe Software Engineering
Holger Knoche
![Page 2: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/2.jpg)
Agenda
Microservices und Enterprise-Software – Wie passt das zusammen?
1. Microservices vs. Enterprise-Software?
2. Häufige Reibungspunkte
3. Weg zu einer Referenzarchitektur?
Holger Knoche ― 09.03.2020 2
![Page 3: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/3.jpg)
Eigenschaften µS-Beispiele
Microservices und Enterprise-Software – Wie passt das zusammen?
• Einfache, kurze Prozesse für den Endkunden
• Dynamische, offene Workloads
• Web- oder App-basiert
• Offenheit gegenüber Veränderungen
• Häufig „junge“ Anwendungen
Prioritäten– Elastizität / Skalierbarkeit
– Verfügbarkeit
– Time to Market
Holger Knoche ― 09.03.2020 4
![Page 4: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/4.jpg)
Enterprise-Software
Microservices und Enterprise-Software – Wie passt das zusammen?
• Komplexe, teils lange Prozesse (z.B. Kreditantrag, Lebensversicherung)
• Stabile und bekannte Anzahl professioneller Anwender
• Stabilität der Arbeitsabläufe bevorzugt
• Oft „alte“ Anwendungen oder –bestandteile
Prioritäten
– Wartbarkeit / Evolvierbarkeit
– Verfügbarkeit
Holger Knoche ― 09.03.2020 5
![Page 5: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/5.jpg)
Totale Gegensätze?
Microservices und Enterprise-Software – Wie passt das zusammen?
Nein, denn:
• Agilität und TTM werden im Enterprise-Umfeld wichtiger
– Unterschiedliche Evolutionsgeschwindigkeit
– Abschied von klassischen Releaseprozessen
• Trend zum Customer Self-Service
• Microservices versprechen weitere Vorteile:
– Gesteigerte Entwicklerproduktivität
– Bessere Testbarkeit
– Höhere Wartbarkeit
Holger Knoche ― 09.03.2020 6
![Page 6: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/6.jpg)
Totale Gegensätze?
Microservices und Enterprise-Software – Wie passt das zusammen?
Aber:
• Unabhängige Deploybarkeit ist absolute Voraussetzung
• Inklusive Spezifikation der notwendigen Umgebung
Holger Knoche ― 09.03.2020 7
![Page 7: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/7.jpg)
Häufige Reibungspunkte
Microservices und Enterprise-Software – Wie passt das zusammen?
• Wiederverwendung
• Integration
• Transaktionen
• Prozessteuerung / Workflow
• Wo schneide ich wie?
Holger Knoche ― 09.03.2020 8
![Page 8: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/8.jpg)
Wiederverwendung
Microservices und Enterprise-Software – Wie passt das zusammen? Holger Knoche ― 09.03.2020 9
Enterprise Microservices
Starkdafür
Eherdagegen
![Page 9: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/9.jpg)
Wiederverw.: Argumente
Microservices und Enterprise-Software – Wie passt das zusammen?
Enterprise:
– Zentralisierung von Änderungen, insb. Fehlerfixes
– Effizienzgewinn, keine Redundanz
Microservices:
– Schafft starke Bindungen und zementiert den Provider
– Führt zum unbemerkten Einsickern evtl. unerwünschter Änderungen
– Erschwert unabhängige Evolution
Holger Knoche ― 09.03.2020 10
![Page 10: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/10.jpg)
Wiederverw.: Meinung
Microservices und Enterprise-Software – Wie passt das zusammen?
Anhaltspunkt: Das Single Responsibility Principle(SRP): „A module should be responsible to one, and only one, actor.“
Konsequenz: Wiederverwendung nur…
– …für denselben Aktor (Stakeholder) oder
– …falls alle Aktoren desbezüglich indifferent sind und
– …die unabhängige Evolution nicht behindert wird
Holger Knoche ― 09.03.2020 11
![Page 11: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/11.jpg)
Integration
Microservices und Enterprise-Software – Wie passt das zusammen? Holger Knoche ― 09.03.2020 12
Enterprise Microservices
Integrationmöglichst früh
Integrationmöglichst spät
![Page 12: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/12.jpg)
Integration: Argumente
Microservices und Enterprise-Software – Wie passt das zusammen?
Enterprise
– Früh „höherwertige“ Services schaffen
– DB-Integration ist performant
Microservices
– DB-Integration widerspricht Microservices
– Gefahr von „chatty services“
– Gute Parallelisierbarkeit erst im UI
Holger Knoche ― 09.03.2020 13
![Page 13: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/13.jpg)
Integration: Meinung
Microservices und Enterprise-Software – Wie passt das zusammen?
Grundstrategie: Möglichst späte Integration mit flankierenden Performancemustern
– Replikation in lokale DB (Achtung: Ggf. Nutzungsbedingungen des Providers)
– CQRS, falls sinnvoll
– Batch-APIs (z.B. mit GraphQL)
Holger Knoche ― 09.03.2020 14
![Page 14: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/14.jpg)
Transaktionen
Microservices und Enterprise-Software – Wie passt das zusammen? Holger Knoche ― 09.03.2020 15
Enterprise Microservices
Eigentlichimmer
Nur lokal
![Page 15: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/15.jpg)
Transaktionen: Argumente
Microservices und Enterprise-Software – Wie passt das zusammen?
Enterprise
– Bietet Sicherheit im Abbruchfall
– War schon immer so
Microservices
– Verteilte Transaktionen behindern Skalierung und Verfügbarkeit
– TX werden nicht von allen DBs unterstützt
– Verteilte TX machen immer Probleme
– Die Geschäftsprozesse bieten oft Alternativen
Holger Knoche ― 09.03.2020 16
![Page 16: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/16.jpg)
Transaktionen: Meinung
Microservices und Enterprise-Software – Wie passt das zusammen?
Grundstrategie: Vermeidung verteilter Transaktionen
– Prüfung der Geschäftsprozesse auf inhärente Sicherheitsmechanismen
– Vermeiden der „großen Abschlusstransaktion“
– Geeigneter Prozess- und Komponentenschnitt
– Ggf. Nutzung von Sagas
Holger Knoche ― 09.03.2020 17
![Page 17: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/17.jpg)
Workflow
Microservices und Enterprise-Software – Wie passt das zusammen? Holger Knoche ― 09.03.2020 18
Enterprise Microservices
Sehr beliebt Bloß keineOrchestrierung
![Page 18: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/18.jpg)
Workflow: Argumente
Microservices und Enterprise-Software – Wie passt das zusammen?
Enterprise
– Prozessteuerung ist notwendig, insb. lange Prozesse
– Erlauben Monitoring des Geschäftsbetriebs
Microservices
– Orchestrierung führt zu stärkerer Kopplung
– Choreographie bevorzugt, da geringere Kopplung
– Workflow-Engines erfordern ggf. Co-Deployment
Holger Knoche ― 09.03.2020 19
![Page 19: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/19.jpg)
Workflow: Meinung
Microservices und Enterprise-Software – Wie passt das zusammen?
Grundstrategie: Workflow ist okay, wo sinnvoll, aber mit Bedacht:
– Innerhalb eines Teams ist Co-Deploymenteinigermaßen unschädlich
– Trotzdem Versionierung o.ä. erforderlich
– Teamübergreifend stabile Prozesse anstreben, die Subprozesse per Event anstoßen
Holger Knoche ― 09.03.2020 20
![Page 20: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/20.jpg)
Schnittmuster?
Microservices und Enterprise-Software – Wie passt das zusammen?
Microservices, SCS, Verticals,… – Was denn nun?
• Abgrenzung der Begriffe zueinander schwierig
• Technisch geprägt (Deployment)
• Organisatorisch nur schwach verankert
• Bezug zu DDD teils schwierig
• Kaum Anhalt für Verortung benötigter Konzepte (Workflow, Saga)
Holger Knoche ― 09.03.2020 21
![Page 21: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/21.jpg)
Relevante Dimensionen
Microservices und Enterprise-Software – Wie passt das zusammen?
Fachlich-organisatorisch
– Team
– Aktor / Stakeholder
– (Sub-)domäne
– Domäne / Organisation
– „Öffentlichkeit“
DDD
– Bounded Context
– Aggregate Root
Holger Knoche ― 09.03.2020 22
![Page 22: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/22.jpg)
Relevante Dimensionen (contd)
Microservices und Enterprise-Software – Wie passt das zusammen?
Technisch
– Deployment
– Deployable
– Service
– SCS
Holger Knoche ― 09.03.2020 23
![Page 23: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/23.jpg)
Zusammenspiel
Microservices und Enterprise-Software – Wie passt das zusammen?
• Keine teamübergreifenden technischen Konstrukte
• Services behandeln Aggregate Roots oder „kleine“ Bounded Contexts, SCS nur noch BCs
• Evolvierbare Kontrakte mit zunehmender Lebensdauer auf höheren Ebenen
• Domain Events spätestens ab SCS
• Für Härtefälle: Batch APIs
• Jedes Deployable realisiert in sich abgeschlossene Schritte (nur hier TX zulässig)
Holger Knoche ― 09.03.2020 24
![Page 24: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/24.jpg)
Zusammenspiel (contd)
Microservices und Enterprise-Software – Wie passt das zusammen?
• Jedes technische Artefakt ist einem Aktor zugeordnet oder stabil indifferent
• Orchestrierung innerhalb von Teams (Workflow, Saga), darüber nach Möglichkeit Explikation im Prozess
• Übergeordnete Prozesse möglichst stabil und über Events koordiniert bzw. per UI integriert
Holger Knoche ― 09.03.2020 25
![Page 25: Wie passt das zusammen?€¦ · Microservices und Enterprise-Software –Wie passt das zusammen? Enterprise –Bietet Sicherheit im Abbruchfall –War schon immer so Microservices](https://reader033.vdocuments.net/reader033/viewer/2022052804/604f98aa76421164cf1fe4d7/html5/thumbnails/25.jpg)
Fazit
Microservices und Enterprise-Software – Wie passt das zusammen?
Grundsätzlich gehen Microservice-Konzepte und Enterprise-Software zusammen.
Allerdings:
• Unabhängiges Deployment ist notwendig
• Kompromisse können und müssen ggf. anders ausgelegt werden
Holger Knoche ― 09.03.2020 26