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)

Introduction


In the previous chapter, you learned about Azure Durable Functions and the distributed, stateful, and serverless workflow they enable. You created several workflows, including one that managed the addition of users. This workflow is useful, but not ideal. The incredibly common, totally zero value-add task of producing user sign-up software is now available as a highly secure service from most cloud providers, notably Azure Active Directory B2C, which you will learn how to use later in this chapter.

Security is a serious consideration in all applications. With security, we are effectively trying to keep the system that we have built under our control and allow each user to interact with it safely. Some of the systems we have built so far in this book are not ideal from this point of view. At the moment, any random internet user can create users, submit orders as that user, and add extra products to our store. They can attempt a Denial-of-Service (DoS) attack, flooding your service...