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)

Zero-downtime deployment

Cloud-native systems are always on, and they follow the sun. There is never an opportune time to take the system offline to perform maintenance and deployments. We must update the system while it is running and with zero user interruptions. To achieve this, the system components must be stateless, since a component may be changed out in the middle of user sessions. A new component must also be backwards compatible because it is not possible to change out all the components at the exact same time. No matter how well we test and prepare, sooner or later a deployment will go wrong because of honest human error. It is inevitable. When a deployment does go wrong, we want to limit the blast radius and we want to recover quickly. It is preferable to roll forward with a quick fix, but we need to have the option to roll back as well. There are a variety of approaches...