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)

Evolutionary architecture

We all designed and architected our monoliths with the best of intentions. We used all the best frameworks, patterns, tools, techniques, and practices. All these may have kept up with the times, more or less, but they are all pretty much rooted in the context of more than a decade ago. Back then infrastructure took months to provision, releases were measured in quarters at best, and deployments were performed manually. Everything about that context incentivized the monolith.

The frameworks we used, such as dependency injection and object relational mapping, were designed to solve problems in the context of the monolith. For without these levels of abstraction it is very difficult to evolve a monolithic architecture. When everything runs together then everything must evolve together. Certainly we could branch-by-abstraction to evolve the functionality...