CI/CD Pipeline Execution Platform Assignment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing CI/CD systems face challenges in automatically selecting and assigning an optimal set of execution platforms from a heterogeneous pool for efficient pipeline execution, leading to inefficiencies and resource misallocation.
Innovation Solution
The implementation of a method that characterizes CI/CD pipelines through expanded definitions or profiling analysis to identify use cases, followed by machine learning model training to determine the optimal combination of attributes for execution platform selection, allowing for automatic assignment of execution platforms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If manual selection of execution platforms is used, then platform selection can be optimized for specific needs, but automation and productivity are reduced
Solution Approach 1:
The system enables self-service by allowing the CI/CD pipeline to automatically select and assign execution platforms without manual intervention. The pipeline specification contains platform selection criteria that are automatically evaluated against available execution platforms, enabling the system to serve itself in the platform selection process.
Solution Approach 2:
The system changes parameters by transforming platform selection from a manual process to an automated one based on pipeline specifications. Execution platform assignments are determined by matching pipeline requirements (parameters) with available platforms, enabling automatic parameter-based selection and assignment.
2Adaptability or versatility
If heterogeneous execution platforms are used, then platform versatility and adaptability increase, but complexity of selection and assignment increases
Solution Approach 1:
The system implements universality by creating a unified approach that handles multiple execution platform types (cloud-based, on-premises, hybrid) through a single specification-based framework. The pipeline specification serves as a universal interface that works across different platform types, simplifying the complexity of managing heterogeneous environments.
Solution Approach 2:
The pipeline specification acts as an intermediary between the CI/CD pipeline definition and the execution platforms. It translates pipeline requirements into platform selection criteria, mediating the complexity between the diverse pipeline needs and the heterogeneous platform offerings.
3Productivity
If execution platforms are assigned without profiling analysis, then assignment speed increases, but resource allocation efficiency decreases
Solution Approach 1:
The system applies preliminary action by performing profiling analysis of the pipeline specification before platform assignment. This upfront characterization of pipeline requirements enables efficient resource allocation by pre-determining the optimal platform characteristics needed, avoiding wasteful resource assignment.
Solution Approach 2:
The system implements feedback by using profiling analysis results to guide platform selection. The characterization of the pipeline specification provides feedback about resource requirements, which is then used to select appropriate execution platforms, creating a closed-loop system that optimizes resource utilization.
Data Source
AI summary
A method includes receiving, by a processing device, a definition of a continuous integration and continuous delivery/deployment (CI/CD) pipeline, obtaining, by the processing device in view of the definition, a characterization of the CI/CD pipeline indicative of a use case of the CI/CD pipeline, identifying, by the processing device from a heterogeneous pool of execution platforms, a set of candidate execution platforms in view of the characterization, selecting, by the processing device from the set of candidate execution platforms, a subset of execution platforms having a combination of attributes for executing the CI/CD pipeline, and assigning, by the processing device, the subset of execution platforms to the CI/CD pipeline for execution.


