This document discusses workflow automation in microservices architectures. It notes the challenges of coordinating microservices and losing visibility of end-to-end flows. It proposes using workflow engines to orchestrate microservice interactions through commands and events while ensuring end-to-end flow manageability through monitoring. Key points are balancing orchestration with loose coupling, using BPMN to support integration use cases, and having ownership of workflows within service boundaries.
20. 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
21. 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
22. 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
23. Finding the right balance
33
Observe Microservice Paradigms
● Loose Coupling
● Autonomy
● Event Collaboration
Ensure Flow Manageability
• End-To-End Visibility
• Meet Business Process SLA
• Support Continuous Process
Improvement
32. Order
It is about where to decide about the coupling!
Checkout
Payment
Inventory
Shipment
Order
placed
Retrieve
payment
Order decides
. to listen to the event
. to issue the command
39. Workflow Engine
Typical ways of communication
Checkout
Payment
Order
Shipment Checkout
Payment
Order
Shipment
Checkout
PaymentOrder
Shipment
Message/Event Bus REST-ish
40. Workflow Engine
Typical ways of communication
Checkout
Payment
Order
Shipment Checkout
Payment
Order
Shipment
Checkout
PaymentOrder
Shipment
Message/Event Bus REST-ish
Pub/SubOwnership
44. What we currently build with some customers…
Camunda
Optimize
Elastic
17
Registration
requested
Credit
checked
Address
checked
Customer
registered
@berndruecker
45. Recap
• Microservices have its merits
• You need to balance orchestration and chorography
• Track, monitor or manage the flow – depending on your scenario
• Distributed systems need stateful orchestration
• Visibility is essential to survive
• Workflow automation is an essential building block,
make sure to use BPMN
Do you remeber that one release a quarter done in insurance industries?
Abstimmung für Deployments / Changes
JIRA Issues to create database / offshored