Service Graph Serverless Orchestration for Complex Event Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current serverless cloud architectures, such as AWS Lambda, are limited in complexity and cannot efficiently coordinate the execution of multiple functions based on complex events, restricting the development of sophisticated applications.
Innovation Solution
A serverless cloud architecture that utilizes service graphs to orchestrate cloud-hosted functions, allowing for coordinated execution, error management, and scaling, by defining a state machine model driven by various events, enabling sequential or concurrent execution of functions and managing resources dynamically.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If AWS Step Functions is used to coordinate multiple functions, then function execution coordination is improved, but the ability to handle complex events and application complexity is limited
Solution Approach 1:
The service graph platform provides a universal orchestration framework that can handle both simple sequential function execution and complex event-driven workflows. The state machine model with support for multiple event types (HTTP requests, event stream events, scheduled events) and various state transitions makes the system multi-functional, capable of replacing both simple function coordination and complex application logic in a single platform.
Solution Approach 2:
The service graph uses a dynamic state machine model where the execution flow is not fixed but determined by runtime events and state conditions. The platform can dynamically transition between different states based on event types, payload content, and configuration parameters, enabling flexible adaptation to complex event scenarios while maintaining reliable function coordination.
2Reliability
If traditional hierarchical cloud architecture is used, then resource management is structured and controlled, but resource provisioning complexity and management overhead increase
Solution Approach 1:
The service graph platform extracts the orchestration and coordination logic from the traditional hierarchical cloud architecture. Instead of managing resources through multiple layers (IaaS, PaaS, SaaS), the platform directly orchestrates function execution and event handling at the application level, simplifying the architecture while maintaining control through service graph definitions and state machine models.
Solution Approach 2:
The service graph acts as an intermediary layer between event sources and function executions. It mediates the interaction between various event types (HTTP requests, event streams, scheduled events) and cloud-hosted functions, providing a simplified interface that abstracts away the complexity of direct resource management while maintaining reliable control over execution flows.
3Measurement precision
If manual coordination of function execution is required, then execution control precision is improved, but operation complexity and time consumption increase
Solution Approach 1:
The service graph platform enables self-service orchestration through declarative service graph definitions. Users define the desired execution flows, state transitions, and event handling logic in configuration files, and the platform automatically manages the coordination of function executions. This eliminates the need for manual coordination while maintaining precise execution control through the state machine model and runtime event processing.
Data Source
Figure 1A
Figure 1B
Figure 2
AI summary
An architecture, method, and/or non-transitory computer-readable media provide a service graph based serverless cloud architecture. The service graphs can orchestrate cloud-hosted functions into a coordinated micro-service application, and thus control the execution of the cloud-hosted functions in a prescribed manner. Additionally, service graphs permit a user to arrange cloud-hosted functions to execute in sequence or concurrently, manage error conditions by re-invoking function calls, handle scaling to accommodate varying event loads, and the like. Service graphs also allow a user to define rendezvous points (i.e., states) to wait for pre-defined events before executing a cloud-hosted function and progressing through the service graph. The advantages of coordinating the execution of cloud-hosted functions with service graphs is that the service graphs provide a consistent framework for managing cloud-hosted functions without the user having to solve the coordination problems on their own.