Published Sep 3, 2019

Episode 351 - Bernd Rücker on Orchestrating Microservices with Workflow Management

Bernd Rücker delves into the orchestration of microservices utilizing workflow management systems, highlighting the role of visualization and monitoring tools in simplifying complex workflows, enhancing collaboration, and improving transactional integrity and reliability in distributed systems.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • System Components

    Workflow management systems are essential for orchestrating microservices, acting as state machines that track and manage the flow of processes. explains that these systems create instances of workflows based on predefined blueprints, ensuring processes follow a specific order and can persist state when necessary 1. This capability is crucial in distributed systems where network issues or asynchronous communication can cause delays. Rücker highlights the use of BPMN, a domain-specific language, which facilitates clear modeling and understanding of workflows even for non-technical stakeholders 2.

    The workflow engine is a state machine, so it can persist state for however long you want to.

    ---

    This persistence allows for handling complex scenarios like retries and compensations, enhancing the reliability and visibility of microservices 3.

       

    State Management

    Ensuring transactional integrity in microservices is challenging, especially when dealing with external systems. Rücker emphasizes the importance of idempotency, where services can handle duplicate requests without adverse effects, as a key strategy in maintaining consistency 4. The saga pattern is another critical concept, allowing for compensating actions when a process step fails, such as canceling a hotel booking if a flight cannot be secured 5.

    You have to remember what you already called and then you have to undo that correctly.

    ---

    This approach, supported by workflow engines, ensures that stateful processes can be managed effectively, even in complex distributed environments 3.

Related Episodes