Service Task Orchestration for Scalable Legacy Cloud Workloads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Developing or modifying services to be horizontally scalable across many simultaneous users in a cloud environment is challenging, requiring additional time and resources, and legacy services often need re-coding to support distributed platforms, introducing complexity and limiting functionality.
Innovation Solution
A service management platform that subdivides jobs into tasks executed by node servers, using a supervisor environment for communication and a native environment for computations, enabling horizontal scalability and supporting legacy applications without reprogramming.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If services are developed to be horizontally scalable across multiple simultaneous users in a cloud environment, then the service can support widespread use and multiple concurrent clients, but additional time and resources are required for development compared to single-user implementations
Solution Approach 1:
The service is divided into independent worker processes that can execute tasks concurrently. Each worker process handles specific job templates independently, allowing the system to scale horizontally by adding more worker processes without requiring complex reconfiguration of the entire service architecture.
Solution Approach 2:
A single service implementation can handle multiple job templates through a unified worker process architecture. The service uses configurable job templates that define task parameters, allowing the same infrastructure to support diverse functionalities while maintaining horizontal scalability.
2Adaptability or versatility
If legacy services are re-coded to support distributed platforms, then horizontal scalability can be achieved, but complexity increases and functionality may be limited
Solution Approach 1:
The service introduces a job template intermediary layer between the legacy service logic and the distributed execution environment. Job templates define task parameters and execution characteristics, allowing legacy services to be executed in a distributed manner without modifying their core logic, thus reducing complexity while enabling scalability.
Solution Approach 2:
Job templates are pre-configured with all necessary task parameters and execution specifications before runtime. This preliminary configuration allows the distributed platform to execute legacy services without requiring complex runtime decision-making or dynamic reconfiguration, simplifying the system architecture.
3Ease of manufacture
If a service is designed for single user execution, then development is simpler and faster, but the service cannot support multiple simultaneous users or horizontal scaling
Solution Approach 1:
The service architecture transitions from static single-user execution to dynamic multi-user support through configurable job templates. The same service code can dynamically adapt to handle multiple concurrent users by spawning worker processes based on task queue depth and system resources, maintaining ease of development while enabling multi-user capability.
Data Source
AI summary
A service management platform can implement functionality for one or more services, each of which can be independently used by a plurality of clients of the services. To activate the functionality of the one or more of the services, a hub server of the service management platform can assign a set of tasks to individual node servers for execution. The hub server can operate in a “supervisor environment” distinct from the processing environment used to execute the computationally intensive portions of the tasks. A task received at a node server can be managed by a supervisor process within the supervisor environment and executed by a native process within a native operating system environment, where the native process executes the computationally intensive calculations of the task and supervisor process provides communications and data transfer between the native process and rest of the service management platform.


