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

Observability


The classic statement, “it works great in my environment”, represents a lack of observability. Traditionally, operations and development teams have used different tools to observe the behavior of their systems. Operations have historically been largely limited to black-box monitoring. Ops could monitor the operating system, processes, memory, CPU, disk I/O, network I/O, some log files, and the database, but they had little visibility into the inner workings of the applications. When a system underperformed, the Ops team could confirm the fact that is was underperforming, but could not necessarily state why it was underperforming.

Eventually, the development team was brought in to investigate the problem in a lower environment, where they can use profilers and debuggers to perform white-box testing and potentially diagnose the problem and propose a solution. However, lower environments are out of context and often cannot reliably reproduce the problem. Regardless, the traditional...