Book Image

Advanced Serverless Architectures with Microsoft Azure

By : Daniel Bass
Book Image

Advanced Serverless Architectures with Microsoft Azure

By: Daniel Bass

Overview of this book

Advanced Serverless Architectures with Microsoft Azure redefines your experience of designing serverless systems. It shows you how to tackle challenges of varying levels, not just the straightforward ones. You'll be learning how to deliver features quickly by building systems, which retain the scalability and benefits of serverless. You'll begin your journey by learning how to build a simple, completely serverless application. Then, you'll build a highly scalable solution using a queue, load messages onto the queue, and read them asynchronously. To boost your knowledge further, the book also features durable functions and ways to use them to solve errors in a complex system. You'll then learn about security by building a security solution from serverless components. Next, you’ll gain an understanding of observability and ways to leverage application insights to bring you performance benefits. As you approach the concluding chapters, you’ll explore chaos engineering and the benefits of resilience, by actively switching off a few of the functions within a complex system, submitting a request, and observing the resulting behavior. By the end of this book, you will have developed the skills you need to build and maintain increasingly complex systems that match evolving platform requirements.
Table of Contents (8 chapters)

Caching


The practice of storing previously requested data in a small, high-speed data layer and returning it, instead of requesting the data again, is called caching. Caching is a vast and complex topic, so this book will focus on the cheapest wins for your application rather than attempting to cover everything.

Caching both reduces replicated demand for compute and speeds up applications. It is also very useful for reducing serverless backpressure in two ways: first, by reducing the number of requests that hit the backend and second, by reducing the number of requests that hit "weak" resources.

Client-side caching is the easiest way to have an immediate impact on the number of requests you see per second, and also the easiest to understand in terms of requirements. It also immediately improves the performance of your application for your end users, as they receive data much faster. However, client-side caching is frequently done badly or not at all. Serverless has a great way of highlighting...