SlideShare a Scribd company logo
@berndruecker
Orchestration of
microservices
Some
Service
Some
Service
Some
Service
Some
Service
Some
Service
Some
Service
Some
Service
Microservices…
Some boring groundwork*
* incomplete and inacurate, but useful
Blocking
Non-blocking
sync async
What is a good place to be?
Blocking
sync async
Non-blocking
Synchronous communication
is the crystal meth of
distributed programming
Todd Montgomery and Martin Thompson
in “How did we end up here” at GOTO Chicago 2015
What is a good place to be?
Blocking
sync async
Non-blocking
There will be challenges anyway!
Blocking
sync async
Non-blocking
Warning:
Contains Opinion
Berlin, Germany
bernd.ruecker@camunda.com
@berndruecker
Bernd Ruecker
Co-founder and
Developer Advocate of
Camunda
Some communication challenges
can be solved by state machines
aka workflow engines.
We will do coding with
Other tools availabe
(e.g. Uber Cadence)
Photo by pxhere, available under Creative Commons CC0 1.0 license.
Challenge: communication problems
Distributed systems
Distributed systems
Distributed systems
Challenge: communication problems
Credit
Card
Payment
Strategy: Ignore
Strategy: Ignore
Frequency?
Impact?
Fix later?
Strategy: Rethrow error?
Challenge: communication problems
Credit
Card
Payment
Order
Some
Service
Some
Service
Some
Service
Some
Service
Some
Service
Some
Service
Some
Service
Then you get this!
Some
Service
Some
Service
Some
Service
Some
Service
Some
Service
Some
Service
Some
Service
Strategy: Retry
Credit
Card
Payment
Requirement: Idempotency of services!
Photo by pixabay, available under Creative Commons CC0 1.0 license.
Requirement: Idempotency of services!
Photo by Chr.Späth, available under Public Domain.
Strategy: Retry
Credit
Card
Payment
Charge Credit Card
cardNumber
amount
Charge Credit Card
cardNumber
Amount
transactionId
Not idempotent
Idempotent
Distributed systems
Strategy: stateful retry
Credit
Card
Payment
Persist thing
(Entity, Document, Actor, …)
State machine or
workflow engine
DIY = effort
and accidental
complexity
Scheduling, Versioning,
operating, visibility,
scalability, …
Handling
State
GopherCon UK 2018 - Orchestration of microservices
Client
Zeebe
Zeebe
Broker
Your
applicationModel
defined here
and executed
here
Workers subscribe
(pub/sub)
JVM
Polyglott, e.g. Go, Java,
C#, Node, …
Live hacking
https://github.com/flowing/flowing-retail/tree/master/rest
Client
Zeebe
Zeebe
Broker
Your
application
Streaming / reactive
Scale elastically and
horizontally
Event streaming
Peer-to-peer cluster
Single Writer
Consensus via Raft
Model
defined here
and executed
here
Workers subscribe
Workflow automation at scale!
low latency,
high-throughput
low frequency,
latency doesn‘t matter
What people think workflow
automation can do
What we currently teach
workflow automation
to be able to do
What workflow automation
can already do today
GopherCon UK 2018 - Orchestration of microservices
Zeebes Role
Blocking
sync async
Most often Zeebe
is used from
services
Non-blocking
Zeebes Role
Blocking
Non-blocking
sync async
Some customers
envision Zebe as
work distribution
BPMN
Business Process
Model and Notation
ISO Standard
BPMN
Executable
and mature Easy to
understand*
Widespread
*(for Biz, Dev, and Ops)
GopherCon UK 2018 - Orchestration of microservices
Zeebe Status
Working towards 1.0 end of the year
But back to concepts
Challenge: network errors
Credit
Card
Payment
Payment
Stateful retry
Credit
Card
REST
What if stateful retry gives up?
Credit
Card
Payment
REST
It is impossible to
differentiate certain
failure scenarios.
Independant of
communication style!
Service
Provider
Client
Stateful retry & cleanup
Credit
Card
Payment
REST
Know what‘s going on
Challenges around message correlation
Challenge: Timeout handling Credit
Card
Payment
+ Incident handling /
alarming
Challenge: Timeout handling Credit
Card
Payment
Challenge: Correlation multiple messages
Challenge: Correlation multiple messages
Zeebe can buffer messages (if workflow not yet ready)
Sophisticated
message correlation
possibilities
Challenges around consistency
Customer example
Service
(e.g. Go)
Kafka
RDMS
1. 3.
2.
Customer example
Service
(e.g. Go)
Kafka
RDMS
1. 3.
2.
GopherCon UK 2018 - Orchestration of microservices
Customer example
Service
(e.g. Go)
Kafka
RDMS
1. 3.
2.
Similar when calling multiple services
Similar when calling multiple services
Orchestration
The microservice community favours an
alternative approach: smart endpoints and
dumb pipes.
[… Microservices …] are choreographed using
simple RESTish protocols rather than complex
protocols such as WS-Choreography or BPEL or
orchestration by a central tool.
https://www.martinfowler.com/articles/microservices.html
GopherCon UK 2018 - Orchestration of microservices
Peer-to-peer communication
Checkout
Payment
Inventory
Shipment
Peer-to-peer communication
Checkout
Payment
Inventory
Shipment
The danger is that it's very easy to make
nicely decoupled systems with event
notification, without realizing that you're
losing sight of that larger-scale flow, and
thus set yourself up for trouble in future
years.
https://martinfowler.com/articles/201701-event-driven.html
The danger is that it's very easy to make
nicely decoupled systems with event
notification, without realizing that you're
losing sight of that larger-scale flow, and
thus set yourself up for trouble in future
years.
https://martinfowler.com/articles/201701-event-driven.html
The danger is that it's very easy to make
nicely decoupled systems with event
notification, without realizing that you're
losing sight of that larger-scale flow, and
thus set yourself up for trouble in future
years.
https://martinfowler.com/articles/201701-event-driven.html
Microservice pioneers
have become aware
Peer-to-peer communication
Checkout
Payment
Inventory
Shipment
Fetch the goods
before the
payment
Peer-to-peer communication
Checkout
Payment
Inventory
Shipment
Fetch the goods
before the
payment
Order
Extract the end-to-end responsibility
Checkout
Payment
Inventory
Shipment
Order
Checkout
Payment
Inventory
Shipment
Order
Checkout
Payment
Inventory
Shipment
Order
Checkout
Payment
Inventory
Shipment
Workflow engine itself can run
decentralized or centralized
# Every way of
remote communication has challenges
# Some challenges require
stateful components
# Complex peer-to-peer communication
can lead to problems,
balance choreography and orchestration
Thank you!
bernd.ruecker@camunda.com
@berndruecker
https://bernd-ruecker.com
https://blog.bernd-ruecker.com
https://github.com/flowing
https://www.infoq.com/articles/events-
workflow-automation
Contact:
Slides:
Blog:
Code:
https://www.infoworld.com/article/3254777/
application-development/
3-common-pitfalls-of-microservices-
integrationand-how-to-avoid-them.html
https://thenewstack.io/5-workflow-automation-
use-cases-you-might-not-have-considered/

More Related Content

PDF
Webinar "Communication Between Loosely Coupled Microservices"
PDF
3 common pitfalls in microservice integration
PDF
Kafka Summit 2018: Monitoring and Orchestration of Your Microservices Landsca...
PDF
QCon London 2018: 3 common pitfalls in microservice integration and how to av...
PDF
WJAX 2017: Workflow and state machines at scale
PDF
Long running processes in DDD
PDF
JAX 2017 talk: Orchestration of microservices
PDF
Master the flow of microservices - because your business is more complex than...
Webinar "Communication Between Loosely Coupled Microservices"
3 common pitfalls in microservice integration
Kafka Summit 2018: Monitoring and Orchestration of Your Microservices Landsca...
QCon London 2018: 3 common pitfalls in microservice integration and how to av...
WJAX 2017: Workflow and state machines at scale
Long running processes in DDD
JAX 2017 talk: Orchestration of microservices
Master the flow of microservices - because your business is more complex than...

What's hot (20)

PDF
Goto meetup Stockholm - Let your microservices flow
PDF
Camunda Con Live 2020 Keynote - Microservice Orchestration and Integration
PDF
Java User Group Maas-Rhine February 2018: 7 sins of workflow
PDF
2019 DACH Roadshow - Workflow Automation in Microservices Architectures
PDF
JAX 2019 - Workflow automation reinvented
PDF
JFS 2021 - The Process Automation Map
PDF
JFS 2017 - Orchestration of microservices
PDF
Workflow automation with BPMN. Lessons learned.
PDF
CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...
PDF
JavaBin Oslo: Open source workflow and rule management with Camunda
PDF
2019 - Lost in transaction
PDF
7 sins of workflow
PDF
DDD Europe 2019: Lost in transaction
PDF
QCon NYC 2019 - Workflow automation reinvented
PDF
CamundaCon 2018: The Role of Workflows in Microservices (Camunda)
PDF
CamundaCon 2020 Keynote - The Return of Process Automation
PDF
O'Reilly SA NYC 2018: Complex event flows in distributed systems
PDF
QCon 2019 - Opportunities and Pitfalls of Event-Driven Utopia
PPTX
Camunda Day Amsterdam 2019: Workflow Automation in Microservices Architecture...
PDF
Jfokus 2018: Lost in transaction - Strategies to deal with (in-)consistency ...
Goto meetup Stockholm - Let your microservices flow
Camunda Con Live 2020 Keynote - Microservice Orchestration and Integration
Java User Group Maas-Rhine February 2018: 7 sins of workflow
2019 DACH Roadshow - Workflow Automation in Microservices Architectures
JAX 2019 - Workflow automation reinvented
JFS 2021 - The Process Automation Map
JFS 2017 - Orchestration of microservices
Workflow automation with BPMN. Lessons learned.
CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...
JavaBin Oslo: Open source workflow and rule management with Camunda
2019 - Lost in transaction
7 sins of workflow
DDD Europe 2019: Lost in transaction
QCon NYC 2019 - Workflow automation reinvented
CamundaCon 2018: The Role of Workflows in Microservices (Camunda)
CamundaCon 2020 Keynote - The Return of Process Automation
O'Reilly SA NYC 2018: Complex event flows in distributed systems
QCon 2019 - Opportunities and Pitfalls of Event-Driven Utopia
Camunda Day Amsterdam 2019: Workflow Automation in Microservices Architecture...
Jfokus 2018: Lost in transaction - Strategies to deal with (in-)consistency ...
Ad

Similar to GopherCon UK 2018 - Orchestration of microservices (20)

PDF
Moving beyond request reply - designing smarter APIs
PDF
JCon Live 2023 - Lice coding some integration problems
PDF
SOA, Microservices and Event Driven Architecture
PDF
Collaboration of (micro-)services
PPTX
Should you be using an event driven architecture - IDA IT (short version)
PDF
Monitoring and Orchestration of your Microservices Landscape with Kafka and Z...
PDF
WeAreDevelopers Live 2024 - Mastering long-running processes in modern archit...
PDF
Communication between (micro-)services - Bernd Rücker - Codemotion Amsterdam ...
PPTX
Designing Fault Tolerant Microservices
PDF
Cloudstate—Towards Stateful Serverless
PPTX
Fault Tolerance in Distributed Environment
PDF
Bernd Ruecker - 3 Common Pitfalls in Microservice Integration - Codemotion Be...
PDF
Bernd Ruecker - 3 Common Pitfalls in Microservice Integration - Codemotion Be...
PDF
Camunda Day New York 2019: Workflow Automation in Microservices Architectures...
PDF
Reactive Summit 2020 - How state helps you to stay reactive
PDF
Complex Event Flows in Distributed Systems (Bernd Ruecker, Camunda) Kafka Sum...
PDF
Destination Automation: Automating Processes in Modern Hipster Architectures
PDF
Complex event flows in distributed systems (QCon London 2019)
PDF
Microservies Vienna - Lost in transactions
PDF
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Moving beyond request reply - designing smarter APIs
JCon Live 2023 - Lice coding some integration problems
SOA, Microservices and Event Driven Architecture
Collaboration of (micro-)services
Should you be using an event driven architecture - IDA IT (short version)
Monitoring and Orchestration of your Microservices Landscape with Kafka and Z...
WeAreDevelopers Live 2024 - Mastering long-running processes in modern archit...
Communication between (micro-)services - Bernd Rücker - Codemotion Amsterdam ...
Designing Fault Tolerant Microservices
Cloudstate—Towards Stateful Serverless
Fault Tolerance in Distributed Environment
Bernd Ruecker - 3 Common Pitfalls in Microservice Integration - Codemotion Be...
Bernd Ruecker - 3 Common Pitfalls in Microservice Integration - Codemotion Be...
Camunda Day New York 2019: Workflow Automation in Microservices Architectures...
Reactive Summit 2020 - How state helps you to stay reactive
Complex Event Flows in Distributed Systems (Bernd Ruecker, Camunda) Kafka Sum...
Destination Automation: Automating Processes in Modern Hipster Architectures
Complex event flows in distributed systems (QCon London 2019)
Microservies Vienna - Lost in transactions
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Ad

More from Bernd Ruecker (20)

PDF
QCon London: Mastering long-running processes in modern architectures
PDF
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
PDF
JFall - Process Oriented Integration
PDF
CamundaCon NYC 2023 Keynote - Shifting into overdrive with process orchestration
PDF
JavaLand 2023 - Process Oriented Integration
PDF
CraftConf: Surviving the hyperautomation low code bubbl
PDF
Mastering Data for Higher Business Impact - at Commerzbank Innovation Summit
PDF
Camunda Chapter Hamburg - Surviving the hyperautomation low code bubble
PDF
Loosely or lousily coupled - Understanding communication patterns in microser...
PDF
CamundaCon 2022 Keynote: The Process Orchestration Journey
PDF
JAX 2022 - Loosely or lousily coupled
PDF
JCon 2021 - Loosely or lousily coupled
PDF
Kafka Summit 2021 - Apache Kafka meets workflow engines
PDF
Process Automation Forum April 2021 - Practical Process Automation
PDF
Micronaut Webinar 2021 - Process Automation Introduction
PDF
Automating Processes in Modern Architectures
PDF
OOP 2021 - Leverage the full potential of your hipster architecture
PDF
GOTOpia 2020 - Balancing Choreography and Orchestration
PDF
Kafka Summit 2020: If an event is published to a topic and no one is around t...
PDF
Camunda Meetup: Rethink Business Processes and User Experience to Leverage Th...
QCon London: Mastering long-running processes in modern architectures
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
JFall - Process Oriented Integration
CamundaCon NYC 2023 Keynote - Shifting into overdrive with process orchestration
JavaLand 2023 - Process Oriented Integration
CraftConf: Surviving the hyperautomation low code bubbl
Mastering Data for Higher Business Impact - at Commerzbank Innovation Summit
Camunda Chapter Hamburg - Surviving the hyperautomation low code bubble
Loosely or lousily coupled - Understanding communication patterns in microser...
CamundaCon 2022 Keynote: The Process Orchestration Journey
JAX 2022 - Loosely or lousily coupled
JCon 2021 - Loosely or lousily coupled
Kafka Summit 2021 - Apache Kafka meets workflow engines
Process Automation Forum April 2021 - Practical Process Automation
Micronaut Webinar 2021 - Process Automation Introduction
Automating Processes in Modern Architectures
OOP 2021 - Leverage the full potential of your hipster architecture
GOTOpia 2020 - Balancing Choreography and Orchestration
Kafka Summit 2020: If an event is published to a topic and no one is around t...
Camunda Meetup: Rethink Business Processes and User Experience to Leverage Th...

Recently uploaded (20)

PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Approach and Philosophy of On baking technology
PPT
Teaching material agriculture food technology
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Spectroscopy.pptx food analysis technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Electronic commerce courselecture one. Pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Approach and Philosophy of On baking technology
Teaching material agriculture food technology
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Spectroscopy.pptx food analysis technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Digital-Transformation-Roadmap-for-Companies.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Dropbox Q2 2025 Financial Results & Investor Presentation
NewMind AI Weekly Chronicles - August'25 Week I
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Reach Out and Touch Someone: Haptics and Empathic Computing
Electronic commerce courselecture one. Pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Network Security Unit 5.pdf for BCA BBA.
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Advanced methodologies resolving dimensionality complications for autism neur...

GopherCon UK 2018 - Orchestration of microservices