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)

Protecting Azure Functions with API Management


In some ways, protecting your functions that need to be effectively public is the trickiest thing to do. Let's say you need to show your product list on your website to non-registered users (for why would anyone sign up to a store without being tempted by the products that are available?). You could have a key on the API, but this would need to be copied over to the end user's browser, rendering it public. To choose the right book of action to protect your functions, you need to know what you are protecting it from.

Usually, there are two types of attacks: DoS attacks and the cleverer attacks, such as SQL injection. The following points describe the book of action for tackling these kinds of attacks:

  • DoS attacks are the major, most common form of attack. One way to prevent this is to slide an API gateway in front of the function with a rate limiter. This works well, but you have to be careful how you configure the rate limit. If the rate limit...