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)

Summary


In this chapter, we discussed CI as the first DevOps practice for cloud-native applications. First, container technology was presented, since it is the building block of cloud-native applications. Its history and technological background from a Linux perspective was explained so that the students can design applications by efficiently utilizing container capabilities. Thereafter, we conducted the testing of cloud-native applications, beginning with source code analysis to find flaws in the code. Each functionality was tested in isolation via unit tests.

Smoke tests were used as a checkpoint to decide whether the microservices were still working when they were connected to other microservices. Finally, integration tests were run to cover all functionalities against all supported development environments. All of the testing stages of cloud-native applications were designed and run inside containers, with isolation and scalability in mind. With successful test results, we then built...