A Novel Approach for Intelligent Hardware Utilization in CI/CD Pipeline
摘要
With the rise of agile development and DevOps practices, software teams are looking for ways to reduce the cycle time of build deliveries without sacrificing the quality of the product. The existing challenge to achieve these goals is to devise ways to improve the effectiveness of CI/CD which rely heavily on factors like availability, performance, and configuration of the underlying infrastructure. Round robin CPU scheduling algorithm, parallelism, docker image and layer caching are some of the ways for effective hardware utilization. This paper aims to share a novel approach which can be used along with these ways to improve the efficiency of CI/CD by smartly utilizing the infrastructure. We quantify the quality of a resource as a quality factor to develop an intelligent hardware controller that dynamically allocates high-performance hardware from the pool to build, test, and deliver software. We discuss the existing solutions and their limitations. Experiments were conducted for a renowned product of a US-based product company. Experiments demonstrate that this proposed controller overcomes the limitations of the existing solutions and provides advantages such as improved build delivery cycle time, early defect discovery and reduced overall infrastructure cost.