A Modern CI/CD Pipeline for Cloud Native Applications
Date
2021
Authors
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