Book Image

Cloud-Native Continuous Integration and Delivery

By : Onur Yılmaz
Book Image

Cloud-Native Continuous Integration and Delivery

By: Onur Yılmaz

Overview of this book

<p>Cloud-native software development is based on developing distributed applications focusing on speed, stability, and high availability. With this paradigm shift, software development has changed substantially and converted into a more agile environment where distributed teams develop distributed applications. In addition, the environment where the software is built, tested and deployed has changed from bare-metal servers to cloud systems. In this course, the new concepts of cloud-native Continuous Integration and Delivery are discussed in depth. Cloud-native tooling and services such as cloud providers (AWS, Google Cloud) containerization with Docker, container-orchestrators such as Kubernetes will be a part of this course to teach how to analyze and design modern software delivery pipelines.</p>
Table of Contents (6 chapters)

Checklist for Cloud-Native CD Design


Creating a cloud-native continuous delivery and deployment system requires an in-depth system analysis, well-established planning, and a staged implementation. Similar to the previous chapter, three levels of adoption for CD and deployment are constructed, as follows:

Figure 3.44: A checklist based on different levels of adoption

The Starter stage aims to create container images with manual tagging and delivery by scripts. In addition, the first deployment environment setup should be undertaken. The most common practice in this step is to create some bash scripts for tagging container images. In the Intermediate stage, tagging and versioning of the containers should be automatic, as well as their delivery to registries. Besides, it is beneficial to create the prototype of a deployment strategy and start on-demand deployment. It is practical to automatically tag the containers with the pipelines in GitLab or other solutions such as AWS CodeBuild, considering...