Cluster Service Deployment Using Dependency-Based Run Levels
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cluster systems that support declarative deployment lack a method to determine the deployment order of services based on their dependencies, leading to inefficiencies in service deployment.
Innovation Solution
A method for deploying services in a cluster system that uses a deployment manager to control the order of service deployment based on required run levels, which are determined by the dependency between services, and utilizes a manifest file to manage the deployment process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If declarative deployment is adopted in cluster systems, then ease of operation is improved, but the ability to control deployment order based on service dependencies is lost
Solution Approach 1:
The deployment process is segmented into discrete stages corresponding to different run levels. Each service is assigned to a specific run level based on its dependencies, allowing the system to manage complex deployment orders through simple hierarchical segmentation rather than complex inter-service coordination.
Solution Approach 2:
The system performs preliminary classification of services into different run levels based on their dependency relationships before deployment begins. This preliminary action establishes the deployment order in advance, eliminating the need for complex real-time dependency resolution during the actual deployment process.
2Productivity
If service deployment order is not controlled based on dependencies, then productivity is improved through parallel deployment, but reliability deteriorates due to deployment failures
Solution Approach 1:
Different services are assigned different run levels based on their specific dependency requirements. Services with no dependencies can be deployed at lower run levels in parallel, while services with dependencies are assigned to higher run levels. This local differentiation allows maximum parallelization while ensuring reliability.
Solution Approach 2:
The system dynamically determines deployment order by evaluating service dependencies and assigning appropriate run levels. Rather than using a fixed sequential order or purely parallel deployment, the system adapts the deployment strategy to the specific dependency structure of the services being deployed.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
To determine a deployment order of services on the basis of the dependency between the services. A method for deploying a service to a cluster system (100) includes: a step of obtaining (S2010) a first run level of a first node (101A); a step of obtaining a second run level of a second node (101B); a step of obtaining (S2010) a required run level for the service; a step of comparing (S2030) the required run level (S2020) with the first and second run levels; a step of determining (S2030) whether or not the service is deployable to each of the first and second nodes (101A, 101B) on the basis of a result of the comparing; and a step of updating at least one of the first and second run levels on the basis of deployment of the service to at least one of the first and second nodes (101A, 101B) (S2040).