Book Image

Azure Serverless Computing Cookbook - Third Edition

By : Praveen Kumar Sreeram
Book Image

Azure Serverless Computing Cookbook - Third Edition

By: Praveen Kumar Sreeram

Overview of this book

This third edition of Azure Serverless Computing Cookbook guides you through the development of a basic back-end web API that performs simple operations, helping you understand how to persist data in Azure Storage services. You'll cover the integration of Azure Functions with other cloud services, such as notifications (SendGrid and Twilio), Cognitive Services (computer vision), and Logic Apps, to build simple workflow-based applications. With the help of this book, you'll be able to leverage Visual Studio tools to develop, build, test, and deploy Azure functions quickly. It also covers a variety of tools and methods for testing the functionality of Azure functions locally in the developer's workstation and in the cloud environment. Once you're familiar with the core features, you'll explore advanced concepts such as durable functions, starting with a "hello world" example, and learn about the scalable bulk upload use case, which uses durable function patterns, function chaining, and fan-out/fan-in. By the end of this Azure book, you'll have gained the knowledge and practical experience needed to be able to create and deploy Azure applications on serverless architectures efficiently.
Table of Contents (14 chapters)
13
Index

Implementing reliable applications using durable functions

One of the most commonly used ways to swiftly process data is to go with parallel processing. The main advantage of this approach is that we get the desired output pretty quickly, depending on the previously created sub-threads. This can be achieved in multiple ways using different technologies. However, a common challenge in these approaches is that if something goes wrong in the middle of a sub-thread, it's not easy to self-heal and resume from where things stopped.

In this recipe, we'll implement a simple way of executing a function in parallel with multiple instances using durable functions for the following scenario.

Assume that we have five customers (with IDs 1, 2, 3, 4, and 5, respectively) who need to generate 50,000 barcodes. It would take a lot of time to generate the barcodes owing to the involvement of image processing tasks. One simple way to quickly process this request is to use asynchronous...