SlideShare a Scribd company logo
Orchestration of microservices
mail@bernd-ruecker.com
With thoughts from http://flowing.io
@berndruecker | @martinschimak
Software is
eating the
world.
Marc Andreessen,
Entrepreneur &
Investor
„
Applications
Platforms &
collaborating
systems
to pivot | pivoted, pivoted | [Tech]
If you are not
embarrassed
by the first
version of your
product, you’ve
launched too
late.
Reid Hoffman,
Co-Founder LinkedIn
(and others)
„
Microservices: It is about speed and agility at scale
• Small components with
clear responsibilities
• Isolation
• Autonomy
• Replaceability
• Flexibility
• Experimentation
• Resilience
• Individual
scalability
DevOps, polyglott, asynchronous, reactive, message- / event-driven
Example
Checkout Payment Inventory Shipping
Bus
Example
Checkout Payment Inventory Shipping
Bus
Order
Placed
Does not
know
recepient
Does not
know
sender
Decentral data
management
Smart endpoints
and dumb pipes
Event: Fact that
happened in the past,
Immutable fact,
0..n recepients
Order
Placed
Customer
status
changed
Misconceptions in the microservice community
*Picture randomly taken from http://wareflo.com/2016/11/from-apis-to-microservices-workflow-orchestration-and-choreography-across-healthcare-organizations/. Not connected to statements on slide.
Orchestration…
…introduces single point of
failure…
…leads to god services…
…leads to tight coupling…
„
End-to-end capabilities using event flows?
InventoryPayment ShippingCheckout
Order
placed
Payment
received
Goods
fetched
Goods
shipped
Shipping
Goods
shipped
End-to-end capabilities using event flows?
InventoryPaymentCheckout
Order
placed
Payment
received
Goods
fetched
Please fetch
the goods
while waiting
for payment
Some
customers can
pay via invoice
…
Commanding is equally important!
InventoryPaymentOrder ShippingCheckout
Bus
Order
Placed
Event: Fact,
happened in the past,
immutable,
0..n recepients
Order
Placed
Retrieve
Payment
Command: Intend,
1 recipient.
Fetch
Goods
Ship
Goods
End-to-end capability as 1st class citizen
InventoryPaymentOrder ShippingCheckout
Core
Capabilities
Support
Capabilities
Business
Capabilities
Event command transformation
Payment
Retrieve
Payment
Order
Placed Order
Command
Something has to happen
in the future
1 recipient
Event
Something has
happend
in the past
0..n recipients
Conciously
decide where to
do the coupling
Transformation
Customer
Status
Changed
How to implement?
Microservice architectures are distributed systems
InventoryPaymentOrder ShippingCheckout
Bus
Distributed systems
Service A
Challenge: Synchronous collaboration
Call
service B
Service B
The network is unreliable
Hystrix adds circuit
breaker & fail fast
Retry capability & async
behavior is missing
Service A
Challenge: Asynchronous collaboration
Send
message
to B
Service B
Wait for
response
Timeout handling
Message correlation &
deduplication
State handling
Parallelism & merging
Challenge: Distributed transactions
1. book
hotel
2. book
car
3. book
flight
6.
cancel
hotel
5.
cancel
car
4. In case of
failure trigger
compensations
book
trip
Service A
Car ServiceHotel Service Flight Service
ACID-Transactions
only local in the
service contexts
Distributed
transaction via Saga
pattern using
compensating
activities
Implement yourself? *
* How hard can it be?
Routing
slip
Persistent thing
(Entity, Actor, …)
State machine
How to
implement?
Routing
slip
Persistent thing
(Entity, Actor, …)
State machine
What BPMN can do
* Modeled in BPMN
= ISO Standard for modeling and execution
What BPMN can do
What BPMN can do
State machines solve some hard developer problems
Monitoring &
Operations
Handling of time &
timeouts
Retry
Visibility &
Reporting
Versioning
Compensation
Message correlation &
deduplication
Performance &
scalability
Living documentation
Executable specifications
Operational visibility
345 67812
BPM?
JUG Amsterdam - Orchestration of microservices
… and death by
properties panel
Same story with BPM:
Shiny vendors promised zero-code …
proprietary, alien
like tools …
BPM done right
Developer friendly Composable BizDevOps
JUG Amsterdam - Orchestration of microservices
JUG Amsterdam - Orchestration of microservices
End-to-end processes cross microservice boundaries
Order
Inventory
Payment
Payment
Distributed flows are owned by microservices
Order
Distributed
orchestration
Order
Order
Order
Order
Architecture
Order
Engine A
Payment
Engine B
Monitoring
Human Task
Management
Coarse grained
central
monitoring
Fine grained
monitoring &
operations
(per context)
DevOps
Tec
Ops Biz
Ops
Central
Live hacking example
InventoryPaymentOrder ShippingCheckout Monitor
https://github.com/flowing/flowing-retail/
Live hacking
Container
(e.g. Tomcat, WildFly, Websphere, …)
Architecture possibilities
Your application
Engine
DB
BPMN Java …
Your application
Engine
DB
BPMN Java …
Engine
(Docker,
Tomcat, …)
Your application
DB
Embedded engine Container managed engine Remote engine
BPMN
Java, C#,
Go, JS, …
New kid on the block
https://zeebe.io/
Zeebe
Broker
Your
application
Binary (MsgPack)
Support streaming & batching
Client
Horiziontally
scalable
Append only log / event sourcing
Thank you!
Code:
https://github.com/berndruecker
Slides:
https://bernd-ruecker.com
Blog:
https://blog.bernd-ruecker.com
Feedback:
https://bernd-ruecker.com/feedback
With thoughts from http://flowing.io
@berndruecker | @martinschimak

More Related Content

PDF
A new era calls for new IT paradigms. What does this mean for BPM?
PDF
KanDDDinsky: Let your domain events flow
PDF
JUG Frankfurt - Orchestration of microservices
PDF
DDD Belgium Meetup 2017: Events, flows and long running services
PDF
November 2017: Collaboration of (micro-)services
PDF
BASTA! Orchestration of microservices
PDF
MuCon London 2017: Break your event chains
PDF
7 sins of workflow
A new era calls for new IT paradigms. What does this mean for BPM?
KanDDDinsky: Let your domain events flow
JUG Frankfurt - Orchestration of microservices
DDD Belgium Meetup 2017: Events, flows and long running services
November 2017: Collaboration of (micro-)services
BASTA! Orchestration of microservices
MuCon London 2017: Break your event chains
7 sins of workflow

What's hot (20)

PDF
JFS 2017 - Orchestration of microservices
PDF
7 sins of workflow
PDF
Collaboration of (micro-)services
PDF
JavaBin Trondheim and Bergen: Let your microservices flow
PDF
Java User Group Erfurt 2018: Zeebe.io - Event-driven Microservice Orchestration
PDF
JAX 2017 talk: Orchestration of microservices
PDF
Jfokus 2018: Lost in transaction - Strategies to deal with (in-)consistency ...
PDF
Java User Group Maas-Rhine February 2018: 7 sins of workflow
PDF
QCon London 2018: 3 common pitfalls in microservice integration and how to av...
PDF
O'Reilly SA NYC 2018: Complex event flows in distributed systems
PDF
Microservices with Camunda - Talk from Camunda Days 01/2018
PDF
GopherCon UK 2018 - Orchestration of microservices
PDF
3 common pitfalls in microservice integration
PDF
Workflow automation with BPMN. Lessons learned.
PDF
QCon 2019 - Opportunities and Pitfalls of Event-Driven Utopia
PDF
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
PDF
Webinar "Communication Between Loosely Coupled Microservices"
PDF
Monitoring and Orchestration of your Microservices Landscape with Kafka and Z...
PDF
JAX 2019 - Workflow automation reinvented
PDF
The role of workflows in microservices
JFS 2017 - Orchestration of microservices
7 sins of workflow
Collaboration of (micro-)services
JavaBin Trondheim and Bergen: Let your microservices flow
Java User Group Erfurt 2018: Zeebe.io - Event-driven Microservice Orchestration
JAX 2017 talk: Orchestration of microservices
Jfokus 2018: Lost in transaction - Strategies to deal with (in-)consistency ...
Java User Group Maas-Rhine February 2018: 7 sins of workflow
QCon London 2018: 3 common pitfalls in microservice integration and how to av...
O'Reilly SA NYC 2018: Complex event flows in distributed systems
Microservices with Camunda - Talk from Camunda Days 01/2018
GopherCon UK 2018 - Orchestration of microservices
3 common pitfalls in microservice integration
Workflow automation with BPMN. Lessons learned.
QCon 2019 - Opportunities and Pitfalls of Event-Driven Utopia
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Webinar "Communication Between Loosely Coupled Microservices"
Monitoring and Orchestration of your Microservices Landscape with Kafka and Z...
JAX 2019 - Workflow automation reinvented
The role of workflows in microservices
Ad

Similar to JUG Amsterdam - Orchestration of microservices (20)

PDF
Master the flow of microservices - because your business is more complex than...
PDF
Goto meetup Stockholm - Let your microservices flow
PDF
Camunda Con Live 2020 Keynote - Microservice Orchestration and Integration
PDF
The Big Picture: Monitoring and Orchestration of Your Microservices Landscape...
PDF
Kafka Summit 2018: Monitoring and Orchestration of Your Microservices Landsca...
PDF
JCon 2017: Let your microservices flow
PDF
2019 DACH Roadshow - Workflow Automation in Microservices Architectures
PDF
Camunda Day New York 2019: Workflow Automation in Microservices Architectures...
PDF
Communication between (micro-)services - Bernd Rücker - Codemotion Amsterdam ...
PPTX
Service Mesh CTO Forum (Draft 3)
PDF
O'Reilly SA: Complex event flows in distributed systems
PDF
OSDC 2019 | The Benefits of Orchestration in Distributed Systems by Niall Deehan
PPTX
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
PDF
Service Mesh Talk for CTO Forum
PDF
Complex Event Flows in Distributed Systems (Bernd Ruecker, Camunda) Kafka Sum...
PDF
CamundaCon 2018: The Role of Workflows in Microservices (Camunda)
PDF
Think2018 2314-Microservices and BPM-can they coexist?
PPTX
View Orchestration from Model Driven Engineering Prospective
PPTX
Camunda Day Amsterdam 2019: Workflow Automation in Microservices Architecture...
PDF
Complex event flows in distributed systems (QCon London 2019)
Master the flow of microservices - because your business is more complex than...
Goto meetup Stockholm - Let your microservices flow
Camunda Con Live 2020 Keynote - Microservice Orchestration and Integration
The Big Picture: Monitoring and Orchestration of Your Microservices Landscape...
Kafka Summit 2018: Monitoring and Orchestration of Your Microservices Landsca...
JCon 2017: Let your microservices flow
2019 DACH Roadshow - Workflow Automation in Microservices Architectures
Camunda Day New York 2019: Workflow Automation in Microservices Architectures...
Communication between (micro-)services - Bernd Rücker - Codemotion Amsterdam ...
Service Mesh CTO Forum (Draft 3)
O'Reilly SA: Complex event flows in distributed systems
OSDC 2019 | The Benefits of Orchestration in Distributed Systems by Niall Deehan
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Service Mesh Talk for CTO Forum
Complex Event Flows in Distributed Systems (Bernd Ruecker, Camunda) Kafka Sum...
CamundaCon 2018: The Role of Workflows in Microservices (Camunda)
Think2018 2314-Microservices and BPM-can they coexist?
View Orchestration from Model Driven Engineering Prospective
Camunda Day Amsterdam 2019: Workflow Automation in Microservices Architecture...
Complex event flows in distributed systems (QCon London 2019)
Ad

More from Bernd Ruecker (20)

PDF
QCon London: Mastering long-running processes in modern architectures
PDF
WeAreDevelopers Live 2024 - Mastering long-running processes in modern archit...
PDF
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
PDF
JCon Live 2023 - Lice coding some integration problems
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
JFS 2021 - The Process Automation Map
PDF
JCon 2021 - Loosely or lousily coupled
PDF
CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...
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
QCon London: Mastering long-running processes in modern architectures
WeAreDevelopers Live 2024 - Mastering long-running processes in modern archit...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
JCon Live 2023 - Lice coding some integration problems
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
JFS 2021 - The Process Automation Map
JCon 2021 - Loosely or lousily coupled
CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...
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

Recently uploaded (20)

PPTX
Modernising the Digital Integration Hub
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Getting Started with Data Integration: FME Form 101
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
1. Introduction to Computer Programming.pptx
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
Assigned Numbers - 2025 - Bluetooth® Document
Modernising the Digital Integration Hub
Final SEM Unit 1 for mit wpu at pune .pptx
NewMind AI Weekly Chronicles - August'25-Week II
Zenith AI: Advanced Artificial Intelligence
Group 1 Presentation -Planning and Decision Making .pptx
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Enhancing emotion recognition model for a student engagement use case through...
Chapter 5: Probability Theory and Statistics
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
DP Operators-handbook-extract for the Mautical Institute
Getting Started with Data Integration: FME Form 101
NewMind AI Weekly Chronicles – August ’25 Week III
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Programs and apps: productivity, graphics, security and other tools
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
1. Introduction to Computer Programming.pptx
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Tartificialntelligence_presentation.pptx
Getting started with AI Agents and Multi-Agent Systems
Assigned Numbers - 2025 - Bluetooth® Document

JUG Amsterdam - Orchestration of microservices