SlideShare ist ein Scribd-Unternehmen logo
1 von 135
Downloaden Sie, um offline zu lesen
#WISSENTEILEN
Aus der Rubrik „Spaß mit Microservices“
Transaktionen
#WISSENTEILEN
Lars Röwekamp | @_openKnowledge | @mobileLarson
#WISSENTEILEN
ÜBER OPEN KNOWLEDGE
Branchenneutrale Softwareentwicklung & IT-Beratung
#WISSENTEILEN
ÜBER MICH
Wer bin ich - und wenn ja, wie viele?
• CIO New Technologies
• Enterprise & Mobile
• Autor, Speaker, Coach & Mentor
• Snowboard & MTB Enthusiast (a.k.a. “stets bemüht“)
Lars Röwekamp (a.k.a. @mobileLarson)
#WISSENTEILEN#WISSENTEILEN
Agenda:
Wo liegt das Problem?
Die Alternative a.k.a. „Plan B“
TX via SAGA Pattern
#WISSENTEILEN
Wo liegt das
Problem?
#WISSENTEILEN
Der fette
MONOLITH
#WISSENTEILEN
#WISSENTEILEN
Use-Case
#WISSENTEILEN
Use-Case
#WISSENTEILEN
Use-Case
#WISSENTEILEN
Hey, lasst uns Microservices machen …
#WISSENTEILEN
Lasst und zusammengehörige Logik finden.
#WISSENTEILEN
Und in „kleine“ Services zerlegen.
#WISSENTEILEN
Upps, das gilt natürlich auch für die DB!
#WISSENTEILEN
Database per Service Pattern
#WISSENTEILEN
Use-Case
#WISSENTEILEN
Use-Case
#WISSENTEILEN
Use-Case
TX
#WISSENTEILEN
Das klappt nie im Leben!
(Anonymous, DB Admin)
#WISSENTEILEN
Wir brauchen Transaktionen!
(Anonymous, DB Admin)
#WISSENTEILEN#WISSENTEILEN
Die Alternative
a.k.a. „Plan B“
#WISSENTEILEN#WISSENTEILEN
„Benötigen wir wirklich eine
Transaktion oder gibt es einen
fachlich sinnvollen Plan B?“
#WISSENTEILEN
„Starbucks does not know
Two-Phase-Commit“
http://www.enterpriseintegrationpatterns.com/ramblings/18_starbucks.html
#WISSENTEILEN
The Real World is
not transactional!
#WISSENTEILEN
The Online World is
not transactional!
#WISSENTEILEN
#WISSENTEILEN
Plan „B“
Strategies
Order
Service
Inventory
Service
#2
#WISSENTEILEN
Strategie #1
Lazy Evaluation
#WISSENTEILEN
Plan B - Strategy #1: Lazy Evaluation
a.k.a. die „es kommt, wie es kommt“ Strategie
• TX fachlich aufsplitten, sequentiell
durchführen und schauen, ob es klappt
• im Problemfall alternative Logik ausführen
#WISSENTEILEN
Lazy
Evaluation
Order
Service
Inventory
Service
#2
#WISSENTEILEN
Lazy
Evaluation
Order
Service
Inventory
Service
checkOut
#2
#WISSENTEILEN
Lazy
Evaluation
Order
Service
Inventory
Service
checkOut
#1
decrement
#WISSENTEILEN
Strategie #2
Beeing Optimistic
#WISSENTEILEN
Plan B - Strategy #2: Beeing Optimistic
a.k.a. die „es wird schon gutgehen“ Strategie
• wie “Lazy Evaluation“ nur mit erhöhter
Wahrscheinlichkeit, dass die „Transaktion“
erfolgreich abläuft.
#WISSENTEILEN
Beeing
Optimistic
Order
Service
Inventory
Service
#2
#4
least known value
of items available:
#WISSENTEILEN
Beeing
Optimistic
Order
Service
Inventory
Service
checkOut
#2
#4
least known value
of items available:
#WISSENTEILEN
Beeing
Optimistic
Order
Service
Inventory
Service
checkOut
#1
decrement
#1
least known value
of items available:
#WISSENTEILEN
Strategie #3
Safeguard
#WISSENTEILEN
Plan B - Strategy #3: Safeguard
a.k.a. die „frag besser nochmal nach“ Strategie
• wie “Beeing Optimistic“ nur auf Basis von
„nearly Real-Time“ Daten
#WISSENTEILEN
Optimistic
w/ Safeguard
Order
Service
Inventory
Service
#2
#4
least known value
of items available:
#WISSENTEILEN
Optimistic
w/ Safeguard
Order
Service
Inventory
Service
checkOut
#2
#4
least known value
of items available:
#WISSENTEILEN
Optimistic
w/ Safeguard
Order
Service
Inventory
Service
checkOut
#2
inventory?
#4
least known value
of items available:
#WISSENTEILEN
Optimistic
w/ Safeguard
Order
Service
Inventory
Service
checkOut
#2
2 items left!
#2
least known value
of items available:
#WISSENTEILEN
Optimistic
w/ Safeguard
Order
Service
Inventory
Service
checkOut
#1
decrement
#1
least known value
of items available:
#WISSENTEILEN
Strategie #4
Plan „B“
#WISSENTEILEN
Order
Service
Inventory
Service
#0
Good to have
a Plan „B“
#1
least known value
of items available:
#WISSENTEILEN
Good to have
a Plan „B“
Order
Service
Inventory
Service
#0
checkOut
#1
least known value
of items available:
#WISSENTEILEN
Good to have
a Plan „B“
Order
Service
Inventory
Service
#0
checkOut
#1
least known value
of items available:
„Ist der
Datenstand
konsistent?“
#WISSENTEILEN
Good to have
a Plan „B“
Order
Service
Inventory
Service
#0
checkOut
#1
least known value
of items available:
„Kann ich
pünktlich
liefern?“*
*„Und ist der Datenstand
letztendlich konsistent
(aka eventual consistency)?“
#WISSENTEILEN#WISSENTEILEN
Plan B? Schön & gut, aber ich
brauche meine Transaktionen!
#WISSENTEILEN#WISSENTEILEN
TX via
SAGA Pattern
#WISSENTEILEN
Microservices mit „eigenen“ Daten
#WISSENTEILEN
Fachliche TX über Servicegrenzen hinweg
#WISSENTEILEN
(Quelle: Microservices Pattern, Chris Richardson)
#WISSENTEILEN
(Quelle: Microservices Pattern, Chris Richardson)
#WISSENTEILEN
(Quelle: Microservices Pattern, Chris Richardson)
„Sichtbarkeit"
Order Service
„Sichtbarkeit“
Customer Service
#WISSENTEILEN
it‘s all about
consistency
- eventual -
#WISSENTEILEN
Wie garantiere ich die Konsistent der
Daten über Servicegrenzen hinweg?
#WISSENTEILEN
Strategie #1
überdenke die
Servicegrenzen
#WISSENTEILEN
Die
„Service“
Strategie
#WISSENTEILEN
Die
„Service“
Strategie
#WISSENTEILEN
Geänderte Servicegrenzen
• technologisch eine super Lösung, aber …
• Problem der Verantwortlichkeiten
• Problem Bounded Context / Domänen Modell
• Vorteile der Microservices gehen verloren
• „Big Ball of Mud“ lässt grüßen
#WISSENTEILEN
Strategie #2
XA mit 2PC
#WISSENTEILEN
Die
„XA“
Strategie
#WISSENTEILEN
Die
„XA“
Strategie
Btw: DB locks
Btw: Chatty O(4n)
mit Retries = (n^2)
Btw: CAP Theorem
#WISSENTEILEN
Verteilte Transaktionen via XA
• aus Developer-Sicht wie lokale TX, aber …
• Verlust der losen Kopplung, da synchrone IPC
• kein Support durch „moderne Plattformen“*
* Cloud-Komponenten, noSQL, MQs
#WISSENTEILEN
Strategie #3
DIY 2PC
#WISSENTEILEN
Die
„DIY 2PC“
Strategie*
*Nein, das willst du nicht. Glaube mir!
#WISSENTEILEN
Strategie #4
Business TX via
SAGA Pattern
#WISSENTEILEN
Quelle:
SAGAS, Hector Garcia-Molina
& Kenneth Salem, January 1987
Die
„Saga“
Strategie
#WISSENTEILEN
Verteilte Transaktionen via SAGAs
SAGA Idee:
Abbilden einer verteilten fachlichen
Transaktion durch eine Abfolge lokaler
technischer Transitionen / Transaktionen
#WISSENTEILEN
Verteilte Transaktionen via SAGAs
#WISSENTEILEN
Verteilte Transaktionen via SAGAs
• Konsistenz von Daten zwischen Services
wird durch eine wohldefinierte Abfolge lokaler
Transitionen/Transaktionen erreicht.
• Service kommuniziert „erfolgreiche“ lokale
Transition/Transaktion an den nächsten
beteiligten Service*.
*mehr dazu später
#WISSENTEILEN
Die
„Saga“
Strategie
Invariante:
sum(open order)
is smaller or equals
customer.creditLimit
#WISSENTEILEN
Die
„Saga“
Strategie
Invariante:
sum(open order)
is smaller or equals
customer.creditLimit
#WISSENTEILEN
Die
„Saga“
Strategie
Invariante:
sum(open order)
is smaller or equals
customer.creditLimit
#WISSENTEILEN
Die
„Saga“
Strategie
Invariante:
sum(open order)
is smaller or equals
customer.creditLimit
#WISSENTEILEN
Die
„Saga“
Strategie
Invariante:
sum(open order)
is smaller or equals
customer.creditLimit
#WISSENTEILEN
Die
„Saga“
Strategie
Invariante:
sum(open order)
is smaller or equals
customer.creditLimit
#WISSENTEILEN
Wow, that
is simple!
What can
go wrong?
#WISSENTEILEN
Die
„Saga“
Strategie
#WISSENTEILEN
Die
„Saga“
Strategie
#WISSENTEILEN
Die
„Saga“
Strategie
CA = Compensation Algorith a.k.a.
Compensation Transaction
#WISSENTEILEN
Die
„Saga“
Strategie
CA = Compensation Algorith a.k.a.
Compensation Transaction
„Every Ti has its Ci“
#WISSENTEILEN
Verteilte Transaktionen via SAGAs
• wohldefinierte Abfolge von Compensation
Algorithms realisieren verteiltes Rollback
• Compensation Algorithms sind fachlicher
Code und somit Applikationslogik
• Abfolge von lokalen TXs & CAs kann
beliebig komplex werden!
#WISSENTEILEN
Frage:
Wie koordiniert
man das Ganze?
#WISSENTEILEN
Steuerung von SAGAs
TX 1
TX 2
TX 3
TX 4
TX 5
TX 6
order = PENDING
item = PENDINGAPPORVED
APPORVED
#WISSENTEILEN
Steuerung von SAGAs
• Choreographie
• Orchestrierung
#WISSENTEILEN
Steuerung von SAGAs
• Choreographie
• Orchestrierung
#WISSENTEILEN
Choreographie von SAGAs
• implizite Sequenzsteuerung
• verteilte Koordination durch Eventfluss
• „Wissen“ liegt bei den beteiligten Services
#WISSENTEILEN
Saga via
Choreography
#WISSENTEILEN
Saga via
Choreography
#WISSENTEILEN
Saga via
Choreography
#WISSENTEILEN
Saga via
Choreography
#WISSENTEILEN
Saga via
Choreography
#WISSENTEILEN
Saga via
Choreography
#WISSENTEILEN
Choreographie von SAGAs
• pro
lose gekoppelt (Teilnehmer kennen sich nicht)
relativ einfach zu implementieren
• contra
i.d.R. zyklische Abhängigkeiten
erhöhte Komplexität im Domänen-Modell
kein zentraler Business-Code (wann valide?)
#WISSENTEILEN
Choreographie von SAGAs
• btw lose Kopplung
Teilnehmer kennen sich zwar nicht, wissen aber
genau, was bei einem Event zu tun ist und wie
im Anschluss – durch ein eigenes Event – zu
antworten ist (a.k.a. pseudo lose Kopplung)
#WISSENTEILEN
Steuerung von SAGAs
• Choreographie
• Orchestrierung
#WISSENTEILEN
Orchestrierung von SAGAs
• explizite Sequenzsteuerung
• zentraler SAGA-Koordinator im Service
• Command / Handler Pattern
• beteiligte Services haben kein „Wissen“
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Orchestration von SAGAs
• pro
Logik ist einfach(er) zu verstehen
fachliche Kopplung nur unidirektional
keine zyklischen Abhängigkeiten
Separation of Concerns (Domain Logic vs. TX)
#WISSENTEILEN
Orchestration von SAGAs
• contra
„Smart Orchestrator & Dump Services“ Pattern,
d.h. Risiko, zu viel Business Logic im
Orchestrator zu zentralisieren
#WISSENTEILEN
Orchestration von SAGAs
• btw Orchestrator
Will man den wirklich selber bauen? Nein!
Alternative 1: Saga Framework
Alternative 2: Lightweight Workflow Engine
#WISSENTEILEN
Frage:
Und das kann
funktionieren?
#WISSENTEILEN
Konsistenz von Daten und Nachrichten
• Services veröffentlichen „Erfolgs“-Nachricht
direkt nach lokaler TX
• lokale TX und „Erfolgs“-Nachricht sind
atomare Einheit aus Sicht des Services
• garantierte Beendigung der Business TX*
*Message Broker buffered bei Bedarf die Message
#WISSENTEILEN
Konsistenz von Daten und Nachrichten
#WISSENTEILEN
Konsistenz von Daten und Nachrichten
#WISSENTEILEN
Konsistenz von Daten und Nachrichten
#WISSENTEILEN
Konsistenz von Daten und Nachrichten
#WISSENTEILEN
Konsistenz von Daten und Nachrichten
#WISSENTEILEN
Fehlende Isolation
• SAGA = ACD (ACID ohne Isolation)
• fehlende Isolation kann zu Anomalien führen
(lost updates, dirty reads, event race condition)
• Anomalien müssen soweit minimiert bzw.
verhindert werden, dass sie fachlich vertretbar
sind!
#WISSENTEILEN
#WISSENTEILEN
Überdenke deine
Prozesse
#WISSENTEILEN
Überdenke deine
Servicegrenzen
#WISSENTEILEN
Realisiere fachliche
Transaktionen
#WISSENTEILEN
Realisiere fachliche
Kompensationen
#WISSENTEILEN
Die Weisheit des Tages:
„Wenn deine Service-Landkarte am Ende
genauso aussieht, wie dein Monolith,
dann hattest du entweder vorher
kein Problem oder wirst zukünftig
eine Menge Probleme haben!“
#WISSENTEILEN
Verteilte Transaktionen via SAGAs
• „Database per Service“ Pattern erfordert
Alternative zu gewohnten Transaktionen
• Sagas simulieren verteilte Transaktion durch
Abfolge lokaler Transaktionen
• Saga Abfolge wird durch Choreographie oder
Orchestrierung koordiniert
#WISSENTEILEN
Herausforderungen von SAGAs
• Atomicity
Database & Event TX je Teilnehmer
• Reliability
Reliable Event-basierte Kommunikation
• Coupling
durch Choreographie oder Orchestration geht
die lose Kopplung teilweise verloren
#WISSENTEILEN
Herausforderungen von SAGAs
• Rollback
Compensation Transactions statt Rollback
• Isolation
SAGAs sind evtl. verflochten, d.h.
Intermediate-States sind für alle sichtbar
#WISSENTEILEN
? ? ?
@mobileLarson
@_openKnowledge
#WISSENTEILEN
Ressourcen
• SAGA Frameworks
Eventuate Tram Sagas
• Lightweight Workflow Engines
Zeebe.io
• See also
https://github.com/meirwah/awesome-workflow-engines
#WISSENTEILEN
Kontakt
LARS RÖWEKAMP
CIO NEW TECHNOLOGIES
lars.roewekamp@openknowledge.de
+49 (0)441 4082 – 0
@mobileLarson
@_openknowledge
OFFENKUNDIGGUT
#WISSENTEILEN
Bildnachweise
#19 © vasakna – fotolia.com
#25 © rawpixel.com – shutterstock.com
#43 © vadymvdrobot – fotolia.com
#82 © pathdoc – shutterstock.com
#119 © garagestock – shutterstock.com
All other pictures inside this presentation orginate
from pixabay.com or were created by my own.

Weitere ähnliche Inhalte

Was ist angesagt?

Microservices Migration: Vom Monolithen zu Microservices
Microservices Migration: Vom Monolithen zu MicroservicesMicroservices Migration: Vom Monolithen zu Microservices
Microservices Migration: Vom Monolithen zu MicroservicesOPEN KNOWLEDGE GmbH
 
Microservices mit dem MicroProfile
Microservices mit dem MicroProfileMicroservices mit dem MicroProfile
Microservices mit dem MicroProfileOPEN KNOWLEDGE GmbH
 
Java EE goes Microservices. Are you serious?
Java EE goes Microservices. Are you serious?Java EE goes Microservices. Are you serious?
Java EE goes Microservices. Are you serious?OPEN KNOWLEDGE GmbH
 
CQRS, der etwas andere Architekturansatz
CQRS, der etwas andere ArchitekturansatzCQRS, der etwas andere Architekturansatz
CQRS, der etwas andere ArchitekturansatzOPEN KNOWLEDGE GmbH
 
Herausforderung „Multi-Channel“-Architektur
Herausforderung „Multi-Channel“-ArchitekturHerausforderung „Multi-Channel“-Architektur
Herausforderung „Multi-Channel“-ArchitekturOPEN KNOWLEDGE GmbH
 
Herausforderung „Multi-Channel Architecture”
Herausforderung „Multi-Channel Architecture”Herausforderung „Multi-Channel Architecture”
Herausforderung „Multi-Channel Architecture”OPEN KNOWLEDGE GmbH
 
Der goldene Schnitt – Wie schneide ich Microservices richtig?
Der goldene Schnitt – Wie schneide ich Microservices richtig?Der goldene Schnitt – Wie schneide ich Microservices richtig?
Der goldene Schnitt – Wie schneide ich Microservices richtig?OPEN KNOWLEDGE GmbH
 
App war gestern: Mobile Engagement als Teil der Enterprise-Strategie
App war gestern: Mobile Engagement als Teil der Enterprise-StrategieApp war gestern: Mobile Engagement als Teil der Enterprise-Strategie
App war gestern: Mobile Engagement als Teil der Enterprise-StrategieOPEN KNOWLEDGE GmbH
 
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?OPEN KNOWLEDGE GmbH
 
Modern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaModern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaOPEN KNOWLEDGE GmbH
 
Mobile Ideation – der sanfte Weg zum mobilen Mehrwert
Mobile Ideation – der sanfte Weg zum mobilen MehrwertMobile Ideation – der sanfte Weg zum mobilen Mehrwert
Mobile Ideation – der sanfte Weg zum mobilen MehrwertOPEN KNOWLEDGE GmbH
 
API-Design, Microarchitecture und Testing
API-Design, Microarchitecture und TestingAPI-Design, Microarchitecture und Testing
API-Design, Microarchitecture und TestingOPEN KNOWLEDGE GmbH
 
The Day after – nach dem Release ist vor dem Release
The Day after – nach dem Release ist vor dem ReleaseThe Day after – nach dem Release ist vor dem Release
The Day after – nach dem Release ist vor dem ReleaseOPEN KNOWLEDGE GmbH
 

Was ist angesagt? (20)

Microservices Migration: Vom Monolithen zu Microservices
Microservices Migration: Vom Monolithen zu MicroservicesMicroservices Migration: Vom Monolithen zu Microservices
Microservices Migration: Vom Monolithen zu Microservices
 
Microservices mit dem MicroProfile
Microservices mit dem MicroProfileMicroservices mit dem MicroProfile
Microservices mit dem MicroProfile
 
Hands-On Microservices mit Java
Hands-On Microservices mit JavaHands-On Microservices mit Java
Hands-On Microservices mit Java
 
Java EE goes Microservices. Are you serious?
Java EE goes Microservices. Are you serious?Java EE goes Microservices. Are you serious?
Java EE goes Microservices. Are you serious?
 
CQRS, der etwas andere Architekturansatz
CQRS, der etwas andere ArchitekturansatzCQRS, der etwas andere Architekturansatz
CQRS, der etwas andere Architekturansatz
 
Less Server vs. Serverless?
Less Server vs. Serverless?Less Server vs. Serverless?
Less Server vs. Serverless?
 
App-Delivery-Pipeline
App-Delivery-PipelineApp-Delivery-Pipeline
App-Delivery-Pipeline
 
KI und Architektur
KI und ArchitekturKI und Architektur
KI und Architektur
 
Herausforderung „Multi-Channel“-Architektur
Herausforderung „Multi-Channel“-ArchitekturHerausforderung „Multi-Channel“-Architektur
Herausforderung „Multi-Channel“-Architektur
 
Herausforderung „Multi-Channel Architecture”
Herausforderung „Multi-Channel Architecture”Herausforderung „Multi-Channel Architecture”
Herausforderung „Multi-Channel Architecture”
 
Der goldene Schnitt – Wie schneide ich Microservices richtig?
Der goldene Schnitt – Wie schneide ich Microservices richtig?Der goldene Schnitt – Wie schneide ich Microservices richtig?
Der goldene Schnitt – Wie schneide ich Microservices richtig?
 
App war gestern: Mobile Engagement als Teil der Enterprise-Strategie
App war gestern: Mobile Engagement als Teil der Enterprise-StrategieApp war gestern: Mobile Engagement als Teil der Enterprise-Strategie
App war gestern: Mobile Engagement als Teil der Enterprise-Strategie
 
API Design Strategy
API Design StrategyAPI Design Strategy
API Design Strategy
 
Business-Mehrwert durch KI
Business-Mehrwert durch KIBusiness-Mehrwert durch KI
Business-Mehrwert durch KI
 
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
 
Modern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaModern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit Java
 
Serverless: The Missing Manual
Serverless: The Missing ManualServerless: The Missing Manual
Serverless: The Missing Manual
 
Mobile Ideation – der sanfte Weg zum mobilen Mehrwert
Mobile Ideation – der sanfte Weg zum mobilen MehrwertMobile Ideation – der sanfte Weg zum mobilen Mehrwert
Mobile Ideation – der sanfte Weg zum mobilen Mehrwert
 
API-Design, Microarchitecture und Testing
API-Design, Microarchitecture und TestingAPI-Design, Microarchitecture und Testing
API-Design, Microarchitecture und Testing
 
The Day after – nach dem Release ist vor dem Release
The Day after – nach dem Release ist vor dem ReleaseThe Day after – nach dem Release ist vor dem Release
The Day after – nach dem Release ist vor dem Release
 

Ähnlich wie Spaß mit Microservices: Transaktionen

Mittendrin statt nur dabei: Microservices und Transaktionen
Mittendrin statt nur dabei: Microservices und TransaktionenMittendrin statt nur dabei: Microservices und Transaktionen
Mittendrin statt nur dabei: Microservices und TransaktionenOPEN KNOWLEDGE GmbH
 
Shared Data in verteilten Architekturen
Shared Data in verteilten ArchitekturenShared Data in verteilten Architekturen
Shared Data in verteilten ArchitekturenOPEN KNOWLEDGE GmbH
 
Mobile- & Offline-First: Mehr als nur Buzzword-Bingo
Mobile- & Offline-First: Mehr als nur Buzzword-BingoMobile- & Offline-First: Mehr als nur Buzzword-Bingo
Mobile- & Offline-First: Mehr als nur Buzzword-BingoOPEN KNOWLEDGE GmbH
 
INTEGRATION VON SECURITY-CHECKS IN DIE CI-PIPELINE
INTEGRATION VON SECURITY-CHECKS IN DIE CI-PIPELINEINTEGRATION VON SECURITY-CHECKS IN DIE CI-PIPELINE
INTEGRATION VON SECURITY-CHECKS IN DIE CI-PIPELINEOPEN KNOWLEDGE GmbH
 
Minimal Viable Product - ein Mythos bei Corporates!
Minimal Viable Product - ein Mythos bei Corporates!Minimal Viable Product - ein Mythos bei Corporates!
Minimal Viable Product - ein Mythos bei Corporates!Corporate Startup Summit
 
Mobile Ideation aka "Der mobile Mehrwert"
Mobile Ideation aka "Der mobile Mehrwert"Mobile Ideation aka "Der mobile Mehrwert"
Mobile Ideation aka "Der mobile Mehrwert"OPEN KNOWLEDGE GmbH
 
TechEvent 2019: Serverless - Ist das was für mich?; Thorsten Maier - Trivadis
TechEvent 2019: Serverless - Ist das was für mich?; Thorsten Maier - TrivadisTechEvent 2019: Serverless - Ist das was für mich?; Thorsten Maier - Trivadis
TechEvent 2019: Serverless - Ist das was für mich?; Thorsten Maier - TrivadisTrivadis
 
Offline-first Architekturen: Wer bitte braucht schon Internet
Offline-first Architekturen: Wer bitte braucht schon InternetOffline-first Architekturen: Wer bitte braucht schon Internet
Offline-first Architekturen: Wer bitte braucht schon InternetOPEN KNOWLEDGE GmbH
 
Unternehmenspräsentation der agentbase AG aus Paderborn
Unternehmenspräsentation der agentbase AG aus PaderbornUnternehmenspräsentation der agentbase AG aus Paderborn
Unternehmenspräsentation der agentbase AG aus Paderbornagentbase AG
 
Data Thinking & Content Marketing. Wie geht das zusammen?
Data Thinking & Content Marketing. Wie geht das zusammen?Data Thinking & Content Marketing. Wie geht das zusammen?
Data Thinking & Content Marketing. Wie geht das zusammen?Kai Bösterling
 
Mobile POS: wie E-Commerce und stationärer Handel zusammen wachsen
Mobile POS: wie E-Commerce und stationärer Handel zusammen wachsenMobile POS: wie E-Commerce und stationärer Handel zusammen wachsen
Mobile POS: wie E-Commerce und stationärer Handel zusammen wachsenyoungculture
 
Etecture Blockchain MeetUp
Etecture Blockchain MeetUpEtecture Blockchain MeetUp
Etecture Blockchain MeetUpRoman Kessler
 
Digital Change
Digital ChangeDigital Change
Digital ChangeSven Ruoss
 
Confluent DCCS Retail Webinare - Kundenerwartungen im Wandel
Confluent DCCS Retail Webinare - Kundenerwartungen im WandelConfluent DCCS Retail Webinare - Kundenerwartungen im Wandel
Confluent DCCS Retail Webinare - Kundenerwartungen im Wandelconfluent
 
Quarterly Technology Briefing - Big Data - Germany
Quarterly Technology Briefing - Big Data - GermanyQuarterly Technology Briefing - Big Data - Germany
Quarterly Technology Briefing - Big Data - GermanyThoughtworks
 

Ähnlich wie Spaß mit Microservices: Transaktionen (20)

Mittendrin statt nur dabei: Microservices und Transaktionen
Mittendrin statt nur dabei: Microservices und TransaktionenMittendrin statt nur dabei: Microservices und Transaktionen
Mittendrin statt nur dabei: Microservices und Transaktionen
 
Shared Data in verteilten Architekturen
Shared Data in verteilten ArchitekturenShared Data in verteilten Architekturen
Shared Data in verteilten Architekturen
 
Java EE meets Microservices
Java EE meets MicroservicesJava EE meets Microservices
Java EE meets Microservices
 
Mobile- & Offline-First: Mehr als nur Buzzword-Bingo
Mobile- & Offline-First: Mehr als nur Buzzword-BingoMobile- & Offline-First: Mehr als nur Buzzword-Bingo
Mobile- & Offline-First: Mehr als nur Buzzword-Bingo
 
INTEGRATION VON SECURITY-CHECKS IN DIE CI-PIPELINE
INTEGRATION VON SECURITY-CHECKS IN DIE CI-PIPELINEINTEGRATION VON SECURITY-CHECKS IN DIE CI-PIPELINE
INTEGRATION VON SECURITY-CHECKS IN DIE CI-PIPELINE
 
Minimal Viable Product - ein Mythos bei Corporates!
Minimal Viable Product - ein Mythos bei Corporates!Minimal Viable Product - ein Mythos bei Corporates!
Minimal Viable Product - ein Mythos bei Corporates!
 
Enterprise Java on Steroids
Enterprise Java on SteroidsEnterprise Java on Steroids
Enterprise Java on Steroids
 
Der perfekte Microservice
Der perfekte MicroserviceDer perfekte Microservice
Der perfekte Microservice
 
Mobile Ideation aka "Der mobile Mehrwert"
Mobile Ideation aka "Der mobile Mehrwert"Mobile Ideation aka "Der mobile Mehrwert"
Mobile Ideation aka "Der mobile Mehrwert"
 
TechEvent 2019: Serverless - Ist das was für mich?; Thorsten Maier - Trivadis
TechEvent 2019: Serverless - Ist das was für mich?; Thorsten Maier - TrivadisTechEvent 2019: Serverless - Ist das was für mich?; Thorsten Maier - Trivadis
TechEvent 2019: Serverless - Ist das was für mich?; Thorsten Maier - Trivadis
 
Offline-first Architekturen: Wer bitte braucht schon Internet
Offline-first Architekturen: Wer bitte braucht schon InternetOffline-first Architekturen: Wer bitte braucht schon Internet
Offline-first Architekturen: Wer bitte braucht schon Internet
 
Unternehmenspräsentation der agentbase AG aus Paderborn
Unternehmenspräsentation der agentbase AG aus PaderbornUnternehmenspräsentation der agentbase AG aus Paderborn
Unternehmenspräsentation der agentbase AG aus Paderborn
 
Data Thinking & Content Marketing. Wie geht das zusammen?
Data Thinking & Content Marketing. Wie geht das zusammen?Data Thinking & Content Marketing. Wie geht das zusammen?
Data Thinking & Content Marketing. Wie geht das zusammen?
 
Enterprise Java auf Diät
Enterprise Java auf DiätEnterprise Java auf Diät
Enterprise Java auf Diät
 
Mobile POS: wie E-Commerce und stationärer Handel zusammen wachsen
Mobile POS: wie E-Commerce und stationärer Handel zusammen wachsenMobile POS: wie E-Commerce und stationärer Handel zusammen wachsen
Mobile POS: wie E-Commerce und stationärer Handel zusammen wachsen
 
Etecture Blockchain MeetUp
Etecture Blockchain MeetUpEtecture Blockchain MeetUp
Etecture Blockchain MeetUp
 
Digital Change
Digital ChangeDigital Change
Digital Change
 
SEO Longtail KPI's
SEO Longtail KPI'sSEO Longtail KPI's
SEO Longtail KPI's
 
Confluent DCCS Retail Webinare - Kundenerwartungen im Wandel
Confluent DCCS Retail Webinare - Kundenerwartungen im WandelConfluent DCCS Retail Webinare - Kundenerwartungen im Wandel
Confluent DCCS Retail Webinare - Kundenerwartungen im Wandel
 
Quarterly Technology Briefing - Big Data - Germany
Quarterly Technology Briefing - Big Data - GermanyQuarterly Technology Briefing - Big Data - Germany
Quarterly Technology Briefing - Big Data - Germany
 

Mehr von OPEN KNOWLEDGE GmbH

Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!OPEN KNOWLEDGE GmbH
 
From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. OPEN KNOWLEDGE GmbH
 
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & CoReady for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & CoOPEN KNOWLEDGE GmbH
 
Machine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsMachine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsOPEN KNOWLEDGE GmbH
 
It's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale NetzeIt's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale NetzeOPEN KNOWLEDGE GmbH
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungOPEN KNOWLEDGE GmbH
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusOPEN KNOWLEDGE GmbH
 
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?OPEN KNOWLEDGE GmbH
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“OPEN KNOWLEDGE GmbH
 
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...OPEN KNOWLEDGE GmbH
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“OPEN KNOWLEDGE GmbH
 
Maschinen ohne Gewissen: wenn KI auf Ethik trifft
Maschinen ohne Gewissen: wenn KI auf Ethik trifftMaschinen ohne Gewissen: wenn KI auf Ethik trifft
Maschinen ohne Gewissen: wenn KI auf Ethik trifftOPEN KNOWLEDGE GmbH
 
Modern Web: Trends der Webentwicklung
Modern Web: Trends der WebentwicklungModern Web: Trends der Webentwicklung
Modern Web: Trends der WebentwicklungOPEN KNOWLEDGE GmbH
 
Technische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceTechnische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceOPEN KNOWLEDGE GmbH
 
Von „less Server" zu Serverless: eine Reise durch die Cloud
Von „less Server" zu Serverless: eine Reise durch die CloudVon „less Server" zu Serverless: eine Reise durch die Cloud
Von „less Server" zu Serverless: eine Reise durch die CloudOPEN KNOWLEDGE GmbH
 

Mehr von OPEN KNOWLEDGE GmbH (19)

Nie wieder Log-Files!
Nie wieder Log-Files!Nie wieder Log-Files!
Nie wieder Log-Files!
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
 
From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud.
 
API Expand Contract
API Expand ContractAPI Expand Contract
API Expand Contract
 
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & CoReady for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
 
Machine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsMachine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.js
 
It's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale NetzeIt's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale Netze
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch Automatisierung
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: Quarkus
 
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
 
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
 
Serverless Survival Guide
Serverless Survival GuideServerless Survival Guide
Serverless Survival Guide
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
 
Maschinen ohne Gewissen: wenn KI auf Ethik trifft
Maschinen ohne Gewissen: wenn KI auf Ethik trifftMaschinen ohne Gewissen: wenn KI auf Ethik trifft
Maschinen ohne Gewissen: wenn KI auf Ethik trifft
 
Modern Web: Trends der Webentwicklung
Modern Web: Trends der WebentwicklungModern Web: Trends der Webentwicklung
Modern Web: Trends der Webentwicklung
 
Technische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceTechnische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte Entwicklungsperformance
 
Von „less Server" zu Serverless: eine Reise durch die Cloud
Von „less Server" zu Serverless: eine Reise durch die CloudVon „less Server" zu Serverless: eine Reise durch die Cloud
Von „less Server" zu Serverless: eine Reise durch die Cloud
 
Testing APIs & Microservices
Testing APIs & MicroservicesTesting APIs & Microservices
Testing APIs & Microservices
 

Spaß mit Microservices: Transaktionen