Microservices Integration
Challenges and Solutions
Felix Müller
Technical Consultant
Who I am?
Felix Müller
@felixlmueller
Distributed systems
Distributed systems
Asynchronous
communication
Distributed
Transactions
Communication
is complex
Communication
is complex
Some
Service
Some
Service
Some
Service
Some
Service
Some
Service
Some
Service
Some
Service
Failure will happen.
Accept it!
But keep it local!
Be resilient.
Photo by Tookapic, available under Creative Commons CC0 1.0 license.
Translation :
„There was an error
while sending your
boarding pass“
Check-in
Web-UI
User
Current situation
Check-in
Barcode
Generator
Web-UI
Output
Mgmt
Current situation
User
Check-in
Barcode
Generator
Web-UI
Output
Mgmt
Current situation
User
Circuit
Breaker
Photo by CITYEDV, available under Creative Commons CC0 1.0 license.
Check-in
Barcode
Generator
Web-UI
Output
Mgmt
Current situation
Circuit
breaker
User
Felix Müller: Microservices Integration: Challenges and Solutions - Camunda Days Oslo, CPH, Amsterdam
Fail fast
is important
Fail fast
is important
but not enough!
Check-in
Barcode
Generator
Web-UI
Output
Mgmt
Current situation – the bad part
User
Check-in
Barcode
Generator
Web-UI
Output
Mgmt
Current situation – the bad part
User
Check-in
Barcode
Generator
Web-UI
Output
Mgmt
Current situation – the bad part
Stateful
Retry
User
Translation:
It‘s your problem
now.
We are having some technical
difficulties and cannot present you
your boarding pass right away.
But we do actively retry ourselves, so
lean back, relax and we will send it
on time.
…just made this up…
Check-in
Barcode
Generator
Web-UI
Output
Mgmt
Possible situation – much better!
User
Check-in
Barcode
Generator
Web-UI
Output
Mgmt
Possible situation – much better!
Stateful
Retry
User
Check-in
Barcode
Generator
Web-UI
Output
Mgmt
Stateful
Retry
Possible situation – much better!
The failure
never leaves
this scope!
User
Persist thing
(Entity, Document, Actor, …)
State machine or
workflow engine
Typical
concerns
DIY = effort,
accidental
complexity
Complex, proprietary,
heavyweight, slow,
don‘t scale,
developer adverse
Scheduling, Versioning,
operating, visibility,
scalability, …
Handling
State
Let‘s try this with a simple example
Credit
Card
Payment
REST
Live hacking
https://github.com/flowing/flowing-
retail/blob/master/rest/java/payment/src/main/java/io/flowing/retail/payment/port/resthacks/PaymentRestHack
sControllerV3.java
Payment
Now you have a state machine!
Credit
Card
REST
Distributed systems introduce complexity you have to tackle!
Credit
Card
Payment
REST
Distributed
systems
It is impossible to
differentiate certain
failure scenarios.
Independant of
communication style!
Service
Provider
Client
Distributed systems introduce complexity you have to tackle!
Credit
Card
Payment
REST
Distributed systems introduce complexity you have to tackle!
Credit
Card
Payment
REST
Do it reliably
Workflows live within
service boundaries
Credit
Card
Payment
REST
Check-in
Barcode
Generator
Web-UI
User
Output
Mgmt
Workflows live within
service boundaries
Manifold architecture options
https://blog.bernd-ruecker.com/architecture-options-to-run-a-workflow-engine-6c2419902d91
Manifold architecture options
https://blog.bernd-ruecker.com/architecture-options-to-run-a-workflow-engine-6c2419902d91
Manifold architecture options
https://blog.bernd-ruecker.com/architecture-options-to-run-a-workflow-engine-6c2419902d91
generateBoardingPass
HTTP 200 OK
HTTP 202 ACCEPTED
Check-in
A synchronous response is possible in the
happy case, otherwise it is switched to
asynchronous processing.
Asynchronous
communication
Check-in
Barcode
Generator
Web-UI
User
Output
Mgmt
Asynchronous communication
You need to
monitor
timeouts
Check-in
Barcode
Generator
Web-UI
User
Output
Mgmt
Remember…
The failure
never leaves
this scope!
Workflow…
Easy to
handle time
Workflow…
has to implement
Timeout, Retry
has to implement
Idempotence
Client Service Provider
Manifold architecture options
The
image
part with
relationsh
ip ID rId4
was not
found in
the file.
https://blog.bernd-ruecker.com/architecture-options-to-run-a-workflow-engine-6c2419902d91
Manifold architecture options
https://blog.bernd-ruecker.com/architecture-options-to-run-a-workflow-engine-6c2419902d91
The
image
part with
relationsh
ip ID rId4
was not
found in
the file.
Manifold architecture options
https://blog.bernd-ruecker.com/architecture-options-to-run-a-workflow-engine-6c2419902d91
The
image
part with
relationsh
ip ID rId4
was not
found in
the file.
Distributed
Transactions
Distributed
Transactions
Distributed transactions using compensation *
Compensation
*aka Sagapattern
Eventual consistency
Temporarily
inconsistent state
But only
temporarily!
has to implement
Timeout, Retry,
Compensation
has to offer
Compensation
has to implement
Idempotence
Client Service Provider
has to implement
Timeout, Retry,
Compensation
has to offer
Compensation
has to implement
Idempotency
Client Service ProviderDon‘t forget
about state
# Be aware of complexity of distributed systems
# Know strategies and tools to handle it
e.g. Circuit breaker (Hystrix)
Workflow engine for stateful retry, waiting, timeout,
compensation, and visibility (Camunda)
Live Coding:
External Tasks
Remember this? External Tasks – The Pull Principle
Remember this? Let‘s implement it...
Temporarily
inconsistent state
But only
temporarily!
Live hacking
# External Tasks are the perfect fit for a
decoupled Microservice architecture with Camunda
# External Tasks are the perfect fit for a
decoupled Microservice architecture with Camunda
… and help you to solve some other problems along the way:
. Polyglot programming
. Scaling and Clustering
. Decoupling
. Natural transactions for distributed systems
Thank you

More Related Content

PPTX
Paul Lungu: Microservices Integration: Challenges and Solutions - Camunda Day...
PDF
Jakob Freund: Camunda for IT Executives - Camunda Days
PDF
Patricio Zambrano: Live Demo: Camunda Cockpit - Camunda Day NYC
PDF
The 7 sins of workflow
PDF
CamundaCon 2018: Custom Batch Extension (Holisticon)
PPTX
Camunda Product Update – The present and the future of Process Automation
PPTX
Camunda BPM 7.13 Webinar
PDF
JavaBin Oslo: Open source workflow and rule management with Camunda
Paul Lungu: Microservices Integration: Challenges and Solutions - Camunda Day...
Jakob Freund: Camunda for IT Executives - Camunda Days
Patricio Zambrano: Live Demo: Camunda Cockpit - Camunda Day NYC
The 7 sins of workflow
CamundaCon 2018: Custom Batch Extension (Holisticon)
Camunda Product Update – The present and the future of Process Automation
Camunda BPM 7.13 Webinar
JavaBin Oslo: Open source workflow and rule management with Camunda

What's hot (20)

PPTX
CamundaCon 2018: Workflow Automation at Scale (24 Hour Fitness)
PDF
Camunda BPM 7.2 - English
PDF
CamundaCon 2018: Big Workflow in Action: Zeebe Live Hacking (Camunda)
PDF
Case study: Camunda BPM in PwC project
PDF
[Webinar] Transforming Telcos with Digital Process Automation (December 10, 2...
PPTX
Roadshow 2018 - Microservices mit Camunda
PPTX
Predictive Process Monitoring in Camunda
PDF
camunda for developer-friendly BPM
PDF
2016 JFall Camunda BPM
PDF
[Webinar] Camunda Optimize Release 3.0
PDF
Camunda bpm 7.0-release-webinar-en
PDF
Master the flow of microservices - because your business is more complex than...
PDF
Webinar: BPMN with camunda
PDF
Camunda BPM at bpmNEXT 2016
PDF
Goto meetup Stockholm - Let your microservices flow
PDF
Camunda BPM 7.4 - What can you expect from the next release?
PDF
Camunda BPM 7.2: Performance and Scalability (English)
PDF
Webinar: Camunda und Liferay
PPTX
Extending human workflow preparing people and processes for the digital era w...
PDF
Long running processes in DDD
CamundaCon 2018: Workflow Automation at Scale (24 Hour Fitness)
Camunda BPM 7.2 - English
CamundaCon 2018: Big Workflow in Action: Zeebe Live Hacking (Camunda)
Case study: Camunda BPM in PwC project
[Webinar] Transforming Telcos with Digital Process Automation (December 10, 2...
Roadshow 2018 - Microservices mit Camunda
Predictive Process Monitoring in Camunda
camunda for developer-friendly BPM
2016 JFall Camunda BPM
[Webinar] Camunda Optimize Release 3.0
Camunda bpm 7.0-release-webinar-en
Master the flow of microservices - because your business is more complex than...
Webinar: BPMN with camunda
Camunda BPM at bpmNEXT 2016
Goto meetup Stockholm - Let your microservices flow
Camunda BPM 7.4 - What can you expect from the next release?
Camunda BPM 7.2: Performance and Scalability (English)
Webinar: Camunda und Liferay
Extending human workflow preparing people and processes for the digital era w...
Long running processes in DDD
Ad

Similar to Felix Müller: Microservices Integration: Challenges and Solutions - Camunda Days Oslo, CPH, Amsterdam (20)

PDF
Bernd Ruecker - 3 Common Pitfalls in Microservice Integration - Codemotion Be...
PDF
Bernd Ruecker - 3 Common Pitfalls in Microservice Integration - Codemotion Be...
PDF
QCon London 2018: 3 common pitfalls in microservice integration and how to av...
PDF
Microservies Vienna - Lost in transactions
PDF
3 common pitfalls in microservice integration
PPTX
Fault Tolerance in Distributed Environment
PDF
Expect the unexpected: Prepare for failures in microservices
PDF
Jfokus 2018: Lost in transaction - Strategies to deal with (in-)consistency ...
PDF
OSDC 2019 | The Benefits of Orchestration in Distributed Systems by Niall Deehan
PDF
Integration strategies best practices- Mulesoft meetup April 2018
PDF
WeAreDevelopers Live 2024 - Mastering long-running processes in modern archit...
PPTX
Designing Fault Tolerant Microservices
PDF
JCon Live 2023 - Lice coding some integration problems
PDF
Cloudstate—Towards Stateful Serverless
PDF
Architecting for Failures in micro services: patterns and lessons learned
PDF
Resilience Planning & How the Empire Strikes Back
PDF
An exception occurred - Please try again
PPTX
Cassandra Lunch #88: Cadence
PDF
Reliability and Resilience Patterns
PPTX
Stability Patterns for Microservices
Bernd Ruecker - 3 Common Pitfalls in Microservice Integration - Codemotion Be...
Bernd Ruecker - 3 Common Pitfalls in Microservice Integration - Codemotion Be...
QCon London 2018: 3 common pitfalls in microservice integration and how to av...
Microservies Vienna - Lost in transactions
3 common pitfalls in microservice integration
Fault Tolerance in Distributed Environment
Expect the unexpected: Prepare for failures in microservices
Jfokus 2018: Lost in transaction - Strategies to deal with (in-)consistency ...
OSDC 2019 | The Benefits of Orchestration in Distributed Systems by Niall Deehan
Integration strategies best practices- Mulesoft meetup April 2018
WeAreDevelopers Live 2024 - Mastering long-running processes in modern archit...
Designing Fault Tolerant Microservices
JCon Live 2023 - Lice coding some integration problems
Cloudstate—Towards Stateful Serverless
Architecting for Failures in micro services: patterns and lessons learned
Resilience Planning & How the Empire Strikes Back
An exception occurred - Please try again
Cassandra Lunch #88: Cadence
Reliability and Resilience Patterns
Stability Patterns for Microservices
Ad

More from camunda services GmbH (20)

PPTX
Using Camunda on Kubernetes through Operators
PPTX
Tips on how to build Camunda Run for production
PPTX
Process Driven Customer Interaction
PPTX
Exploring Automation in Government
PDF
The Pulse of Process Automation
PDF
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
PDF
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
PDF
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
PDF
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
PDF
Process Automation Forum Zurich, finnova AG Bankware
PDF
Process Automation Forum Munich, Swiss Life
PDF
Process Automation Forum Vienna, A1 & J-IT
PDF
Process Automation Forum Vienna, Raiffeisen
PDF
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
PDF
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
PDF
[Webinar] Announcing the Camunda Cloud Public Beta - February 2020
PDF
Zeebe + Operate January 2020 Update
PDF
Optimize 2.7 Release Webinar
PDF
Camunda BPM 7.12 Release Webinar
PDF
I want my process back! #microservices #serverless
Using Camunda on Kubernetes through Operators
Tips on how to build Camunda Run for production
Process Driven Customer Interaction
Exploring Automation in Government
The Pulse of Process Automation
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
Process Automation Forum Zurich, finnova AG Bankware
Process Automation Forum Munich, Swiss Life
Process Automation Forum Vienna, A1 & J-IT
Process Automation Forum Vienna, Raiffeisen
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
[Webinar] Announcing the Camunda Cloud Public Beta - February 2020
Zeebe + Operate January 2020 Update
Optimize 2.7 Release Webinar
Camunda BPM 7.12 Release Webinar
I want my process back! #microservices #serverless

Recently uploaded (20)

PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PDF
Two-dimensional Klein-Gordon and Sine-Gordon numerical solutions based on dee...
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
UiPath Agentic Automation session 1: RPA to Agents
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PPTX
The various Industrial Revolutions .pptx
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
DOCX
search engine optimization ppt fir known well about this
Final SEM Unit 1 for mit wpu at pune .pptx
A contest of sentiment analysis: k-nearest neighbor versus neural network
A comparative study of natural language inference in Swahili using monolingua...
Module 1.ppt Iot fundamentals and Architecture
The influence of sentiment analysis in enhancing early warning system model f...
Two-dimensional Klein-Gordon and Sine-Gordon numerical solutions based on dee...
Zenith AI: Advanced Artificial Intelligence
UiPath Agentic Automation session 1: RPA to Agents
NewMind AI Weekly Chronicles – August ’25 Week III
Convolutional neural network based encoder-decoder for efficient real-time ob...
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
The various Industrial Revolutions .pptx
1 - Historical Antecedents, Social Consideration.pdf
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Microsoft Excel 365/2024 Beginner's training
Enhancing emotion recognition model for a student engagement use case through...
Getting started with AI Agents and Multi-Agent Systems
Credit Without Borders: AI and Financial Inclusion in Bangladesh
search engine optimization ppt fir known well about this

Felix Müller: Microservices Integration: Challenges and Solutions - Camunda Days Oslo, CPH, Amsterdam