Book Image

Cloud Native Development Patterns and Best Practices

By : John Gilbert
Book Image

Cloud Native Development Patterns and Best Practices

By: John Gilbert

Overview of this book

Build systems that leverage the benefits of the cloud and applications faster than ever before with cloud-native development. This book focuses on architectural patterns for building highly scalable cloud-native systems. You will learn how the combination of cloud, reactive principles, devops, and automation enable teams to continuously deliver innovation with confidence. Begin by learning the core concepts that make these systems unique. You will explore foundational patterns that turn your database inside out to achieve massive scalability with cloud-native databases. You will also learn how to continuously deliver production code with confidence by shifting deployment and testing all the way to the left and implementing continuous observability in production. There's more—you will also learn how to strangle your monolith and design an evolving cloud-native system. By the end of the book, you will have the ability to create modern cloud-native systems.
Table of Contents (12 chapters)

Isolated testing

Testing is no longer a phase—it is an integral part of the cloud-native CI/CD pipeline. We are decoupling deployment from release and controlling the batch size of each deployment so that we can minimize the risk of each deployment and thereby increase the pace of deployments to many times per day. To achieve the desired pace with confidence, the test suites must execute within the CI/CD pipeline without creating a bottleneck. In Chapter 6, Deployment, our modern CI/CD pipeline executes all tests on every push to a given branch. This includes both unit testing and integration testing. As we will discuss in the Transitive testing section, this effectively includes end-to-end testing as well.

To accomplish this objective, all testing must be isolated to the component under test. The CI/CD pipeline cannot rely on the presence of any resources outside the pipeline...