Bernd Rücker, who has contributed to multiple open source workflow management projects, discusses orchestrating microservices with workflow management. As distributed systems evolve into a family of microservices that must handle long-running stateful processes with time-dependent actions, events, multiple paths through the system, and complex rollbacks, the workflow management model provides a way to ensure clear modeling, correctness, and separation of concerns. Rücker recommends a federated model in which each microservice is paired with its own workflow to handle retries and other policies and failure modes around that service. Robert Blumen spoke with Rücker about microservice architecture, event-driven systems, long-running stateful processes versus synchronous request/response, event handling, time-outs, and handling exceptional conditions with compensating transactions. Rücker compares the choreography versus orchestration models for collaboration and discusses why orchestration provides a better separation of concerns. The discussion delves into the implementation of workflow management systems including persistence, scaling, event handling, timers and scheduling, and similarities to CQRS. The discussion wraps up with monitoring and visualization.
Show Notes
Related Links
- Bernd Rücker blog
- @berndruecker
- https://camunda.com/
- Zeebe Workflow Engine for Microservices Orchestration
- Real-Life BPMN: With introductions to CMMN and DMN, by Jakob Freund and Bernd Rücker
- “3 Common Pitfalls of Microservices Integration—and How to Avoid Them,” by Bernd Rücker
- “Architecture Options to Run a Workflow Engine,” by Bernd Rücker
- “Events, Flows, and Long-Running Services: A Modern Approach to Workflow Automation,” by Martin Schimak and Bernd Rücker
- “Break Your Event Chains,” Slideshare by Martin Schimak and Bernd Rücker
- “How We Built a Highly Scalable Distributed State Machine”
- “Know the Flow! Microservices and Event Choreographies,” by Martin Schimak and Bernd Rücker
- “Events, Flows, and Long-Running Services: A Modern Approach to Workflow Automation,” by Martin Schimak and Bernd Rücker