Stateless Workflow Orchestrator Scaling Hybrid Cloud
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional workflow engines face challenges in scaling across multi- or hybrid-cloud environments due to complex integration requirements and the use of stateful services, which limits scalability and centralized control, especially when relying on relational databases for state management.
Innovation Solution
A stateless orchestrator system that manages workflows and events by using a worker node, a provider, and a database, where the orchestrator is stateless, and tokens are generated for authentication, allowing for full scalability and portability, with the database being the single source of state and located externally.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional workflow engines use stateful services and relational databases for state management, then they can maintain workflow state information, but they face challenges in scaling across multi- or hybrid-cloud environments due to complex integration requirements
Solution Approach 1:
The system segments the workflow engine into two distinct components: a stateless orchestrator that handles workflow coordination and a separate database that stores workflow state. This segmentation allows the orchestrator to be stateless and highly scalable across cloud environments, while the database independently manages state persistence, resolving the contradiction between state management capability and scalability.
Solution Approach 2:
The invention extracts state management functionality from the orchestrator and places it in a separate database component. The orchestrator becomes completely stateless, relying on the external database for all state information. This extraction enables the orchestrator to scale freely across cloud environments without the burden of maintaining state, while the database handles state persistence reliably.
2Reliability
If conventional workflow engines use stateful services, then they can maintain workflow state, but they limit scalability and centralized control
Solution Approach 1:
The system separates stateful database operations from stateless orchestrator operations, allowing multiple orchestrator instances to scale horizontally without interfering with each other. Each orchestrator instance can independently coordinate workflows by querying and updating the shared database, enabling both state persistence and high scalability.
Solution Approach 2:
The database acts as an intermediary between orchestrator instances and workflow state. Instead of orchestrators directly maintaining state in memory (which limits scalability), they communicate state needs through the database, which serves as a centralized mediator. This enables unlimited orchestrator instances to coordinate workflows while maintaining a single source of truth for state data.
3Adaptability or versatility
If the orchestrator is made stateless, then full scalability and portability are achieved, but the orchestrator needs external components to store workflow state
Solution Approach 1:
The database is designed to serve multiple functions: storing workflow definitions, maintaining workflow instance state, and providing data for task execution. This multi-functional database simplifies the overall system architecture by consolidating state management needs into a single component, reducing the complexity that would otherwise arise from multiple specialized state storage mechanisms.
Solution Approach 2:
The system uses token-based authentication where the database stores and validates tokens that represent workflow state and authorization. Instead of the orchestrator maintaining complex state information, it relies on these token copies that encapsulate necessary state data, simplifying the orchestrator's role while maintaining full workflow state management capability through the database.
Data Source
AI summary
A method, system, and computer program product for running workflows and events using a stateless orchestrator includes: receiving first task data for a first task, where the first task data is information necessary for execution of the first task. The method may also include transmitting a request for a worker node to a provider, where the provider creates the worker node. The method may also include receiving a request from the worker node for the first task data. The method may also include transmitting the first task data to the worker node, where the worker node executes the first task. The method may also include, receiving results of the execution of the first task from the worker node. The method may also include, in response to the receiving the results, transmitting the results to a database.


