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)

Trilateral API per container

In the Trilateral API pattern in Chapter 3, Foundation Patterns, we talked about how a cloud-native component can publish up to three different interfaces: a synchronous API for processing commands and queries, an asynchronous API for publishing events as the state of the component changes, and an asynchronous API for consuming the events emitted by other components. The synchronous API is usually published via the API Gateway pattern, as discussed in Chapter 4, Boundary Patterns. The asynchronous API for consuming events is usually implemented as a stream consumer, as discussed in the Event Streaming pattern and the asynchronous API for publishing events is usually implemented as a database stream consumer following the Database-First variant of the Event Sourcing pattern, as discussed in Chapter 3, Foundation Patterns. This means that a cloud-native...