Book Image

Architecting Cloud Native Applications

By : Kamal Arora, Erik Farr, John Gilbert, Piyum Zonooz
Book Image

Architecting Cloud Native Applications

By: Kamal Arora, Erik Farr, John Gilbert, Piyum Zonooz

Overview of this book

Cloud computing has proven to be the most revolutionary IT development since virtualization. Cloud native architectures give you the benefit of more flexibility over legacy systems. This Learning Path teaches you everything you need to know for designing industry-grade cloud applications and efficiently migrating your business to the cloud. It begins by exploring the basic patterns that turn your database inside out to achieve massive scalability. You’ll learn how to develop cloud native architectures using microservices and serverless computing as your design principles. Then, you’ll explore ways to continuously deliver production code by implementing continuous observability in production. In the concluding chapters, you’ll learn about various public cloud architectures ranging from AWS and Azure to the Google Cloud Platform, and understand the future trends and expectations of cloud providers. By the end of this Learning Path, you’ll have learned the techniques to adopt cloud native architectures that meet your business requirements. This Learning Path includes content from the following Packt products: • Cloud Native Development Patterns and Best Practices by John Gilbert • Cloud Native Architectures by Erik Farr et al.
Table of Contents (24 chapters)
Title Page
Copyright and Credits
About Packt
Contributors
Preface
Index

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, including blue-green deployments, canary deployments, multi-regional deployments, and feature flags, plus...