A Modern CI/CD Pipeline for Cloud Native Applications

Date

2021

Journal Title

Journal ISSN

Volume Title

Publisher

Tartu Ülikool

Abstract

Modern software development processes use different automation techniques to increase the velocity and improve the quality of the result. Automation can help to reduce human involvement in technical processes related to product releasing and delivery as well as decrease human errors rate. At present, two techniques have been widely adopted: using Cloud Native architecture for designing the applications and usage of Continuous Integration and Continuous Delivery (CI/CD) practices for automation of building and delivering the products. These practices are not exclusive and are often used in synergy. Integration of modern automation technologies and features of Cloud Computing paradigm, like virtualization and fault tolerance, can improve the quality of development and operations of software applications. This thesis focuses on the analysis and design of the CI/CD pipeline required for a Cloud Native application and implementation for a real-world project. For the pipeline, requirements were formulated, quality metrics were collected, and results regarding execution time efficiency and possible improvements were summarized. The created software improves the development process and helps with planning questions related to the speed of application changes integration and delivery to the end-users. The pipeline’s architecture is scalable and is planned to be adopted for several new and existing projects.

Description

Keywords

Cloud Native, DevOps, Continuous Integration, Continuous Delivery, Kubernetes, Helm, GitLab CI, Ansible

Citation