Overview of Durable Functions
Durable Functions gets its very descriptive name from what it does under the hood: save its state to persistent storage in case of crashes, outages, dependency problems, and so on. Not only does this allow for problems to be recovered from easily but it also allows scalability and coordination among tasks. Durability in an Azure function is provided using a standard storage account by default. Tables, blobs, and queues are all used under the hood:
- Tables are used for managing function execution history, including parameters and return values
- Blob storage is used for the automatic storage of large parameters passed to activities
- Queues are used for triggering activities and orchestration instances
SQL Server and Netherite are the other two supported durable store options that are not covered in this book but can be used in advanced scenarios.
While there is never an “easy button” for scaling in a distributed system...