Ad

azure-functions-durable-extension: Stateful Functions

Durable Functions extends Azure Functions with orchestrations, activities, and entities for building reliable stateful serverless applications.
Screenshot of Azure/azure-functions-durable-extension homepage

Durable Functions extends Azure Functions to enable developers to create stateful and reliable serverless applications. This extension introduces three new function types: Orchestrator functions, which coordinate workflows; Activity functions, the basic units of work; and Entity functions, which represent stateful actors. These functions can run across various Azure Functions hosting options, including Consumption, Premium, and Kubernetes, as well as locally for development.

Durable Functions enables the creation of long-running workflows that can be automatically restarted in case of failure. The architecture facilitates complex, stateful processes, making it suitable for scenarios requiring coordination between multiple functions. The extension supports multiple languages, notably C#, JavaScript, Python, and PowerShell, allowing developers to leverage their preferred language.

  • Orchestration: Enables the creation of complex workflows with branching, error handling, and retry mechanisms.
  • Activity Functions: Provides a stateless unit of work that can be easily composed into workflows.
  • Entity Functions: Supports stateful actor-like functions with explicit state management.
  • Cross-Platform: Runs on Azure Functions Consumption, Premium, Kubernetes, and locally for development.
  • Language Support: Supports C#, JavaScript, Python, PowerShell and Java.
  • Extensibility: Allows for custom state management and orchestration patterns.
  • Development Experience: Easy to integrate with existing Azure Functions projects via NuGet packages.

Durable Functions is a mature project with a stable API and a growing community. It has been actively developed and maintained by Microsoft and the community. Regular updates address bugs and improve functionality. Extensive documentation and samples are available to support developers. While relatively new, the project has demonstrated reliable performance in production environments.

Developers who need to build complex, stateful serverless applications will benefit from Durable Functions. It is ideal for use cases like business process automation, data pipelines, and event-driven workflows. It offers a robust alternative to manually managing state between function invocations, enhancing application reliability and simplifying development.

Summarize:
Share:
Stars
764
Forks
286
Issues
376
Created
9 years ago
Commit
1 month ago
License
MIT
Archived
No
Updated 2 days ago

Similar Repositories