Adaptive CI/CD: A Flexible Architecture for Software Development
Punyakon Patchkaew, Haris Kirdpakdee, Chanut Kidwat, Anon Sukstrienwong · 2024
Currently, the development of Continuous Integration/Continuous Deployment is considered essential and indispensable in the software development industry. However, there are some individuals who face challenges related to CI/CD development, particularly concerning software security, the maintenance of complex software, and the challenges of scalability. Therefore, we have proposed a new layered architecture design based on CI/CD for software development, titled Adaptive CI/CD, based on to the recommendations and best practices for CI/CD development from the Cloud Native Computing Foundation (CNCF). Adaptive CI/CD will be a guideline for developers to implement tools in their work by designing tools based on the fundamental layers we have established. This will assist in various aspects during the design and development process. It breaks down software development into smaller, more manageable parts, making the development process easier. It will help improve software quality from the coding stage through deployment to production, with security checks in place. It can also help monitor your software's scaling. Therefore, our layered CI/CD design will serve as a guideline, adapting to future technology trends to enhance the quality of the software development process and assist developers in developing software in a rapid and efficient manner.