Wat is duurzame taak?

Duurzame Taak is Microsoft's implementatie van duurzame uitvoering, een branchebrede aanpak om gewone code fouttolerant te maken door automatisch de voortgang te behouden. Het is een framework voor het bouwen van fouttolerante workflows en orkestraties als gewone code. In plaats van complexe hertoetslogica, toestandsmachines of berichtwachtrijen te beheren, schrijf je je bedrijfslogica als eenvoudige functies, en Duurzame Taak verzorgt statuspersistentie, automatisch herstel en gedistribueerde coördinatie voor je.

Durable Task-werkstromen kunnen uren, dagen of zelfs maanden worden uitgevoerd, waardoor de laatste voltooide stap betrouwbaar wordt hervat na een crash, opnieuw opstarten of opnieuw implementeren. Veelvoorkomende gebruiksvoorbeelden zijn gedistribueerde transacties, AI-indeling met meerdere agents, pijplijnen voor gegevensverwerking en infrastructuurbeheer.

De rest van dit artikel legt uit waar Duurzame Taak past, welke talen en hostingmodellen het ondersteunt, en hoe het is opgebouwd, zodat je kunt beslissen hoe je er fouttolerante applicaties mee bouwt.

Wat duurzaam werk inhoudt

Duurzame taken omvatten:

Belangrijke toepassingsgevallen voor duurzame taken

Gebruik Durable Task wanneer uw toepassing betrouwbare, langlopende werkstroomindeling vereist voor gedistribueerde services. Veelvoorkomende scenario's zijn onder andere:

  • Langlopende processen: Duurzame Taak kan de status en voortgang beheren van processen die gedurende langere periodes draaien, ondanks onderbrekingen of fouten. Voorbeelden hiervan zijn orderverwerking, gegevenspijplijnen, machine learning-modeltraining en langdurige simulaties.
  • Parallelle en fan-out/fan-in scenario's: Duurzame Taak kan werk coördineren dat zich verspreidt over meerdere werknemers die parallel draaien op verschillende machines, en vervolgens de resultaten aggregeren. Voorbeelden hiervan zijn afbeeldingsverwerking, MapReduce-taken en ETL-werkstromen.
  • Microservices en API's organiseren: Durable Task kan werk coördineren tussen gedistribueerde services, API's en machines met complexe controlestroom en foutafhandeling. Duurzame Taak ondersteunt ook gedistribueerde transacties die het saga-patroon gebruiken, waarbij elke stap compenserende logica heeft die automatisch draait als een latere stap faalt.
  • Automatisering van bedrijfsprocessen: Duurzame Taak kan complexe, deterministische bedrijfsprocessen automatiseren die meerdere stappen, afhankelijkheden, mens-in-de-lus en foutafhandeling over lange perioden omvatten. Voorbeelden hiervan zijn toeleveringsketenbeheer, documentbeoordeling, onboarding van klanten en identiteitsverificatie.
  • Infrastructuurautomatisering: Duurzame taak kan infrastructuurinrichting, configuratie en implementatie beheren met complexe afhankelijkheden en foutafhandeling. Voorbeelden hiervan zijn cloudresourcebeheer en CI/CD-pijplijnen.
  • Multi-agent orkestratie: Durable Task kan het werk van meerdere AI-agenten coördineren, waardoor betrouwbare taaknaleving over lange horizon wordt gegarandeerd en efficiënt tokengebruik wordt gebruikt voor complexe, meerstaps AI-processen. Voorbeelden hiervan zijn AI-agents voor diepgaand onderzoek, codering en klantondersteuning.

Een veelvoorkomend thema in deze scenario's is dat ze werk bevatten dat te complex, te langlopend of te verspreid is om betrouwbaar te beheren met ad hoc code. Duurzame Taak biedt de onderliggende garanties—persistentie, fouttolerantie en stateful coördinatie—zodat je dat werk als eenvoudige code kunt uitdrukken.

Ondersteunde talen en duurzame taakhostingmodellen

Durable Task ondersteunt meerdere programmeertalen verspreid over twee hostingmodellen: Azure Functions (via de Durable Functions-extensie) en zelfgehost (via de zelfstandige Durable Task SDK's). Het Azure Functions-hostingmodel biedt een volledig beheerde, serverloze compute-omgeving met ingebouwde schaal- en orkestratiefuncties, terwijl het zelf-gehoste model het draaien van duurzame applicaties op elk rekenplatform ondersteunt, zoals Azure Container Apps, Azure Kubernetes Service, Azure App Service, of virtuele machines.

Language Azure Functions Zelfgehost
.NET (C#/F#) Ja Ja
JavaScript/TypeScript Ja Ja
Python Ja Ja
Java Ja Ja
PowerShell Ja No

Opmerking

De Durable Task Go SDK is ook beschikbaar als een door de community ondersteunde, open-source optie voor zelf-gehoste scenario's, maar bevindt zich in een experimenteel stadium en wordt nog niet aanbevolen voor productiegebruik.

Zie Keuze van uw hostingmodel voor hulp bij het kiezen tussen Azure Functions en zelf-hosten.

Duurzame taakarchitectuur: SDK- en statestorage-backend

Durable Task heeft twee hoofdlagen: een SDK die u gebruikt in uw toepassingscode en een back-end voor statusopslag die de status beheert.

Duurzame Taak SDK

Je gebruikt de Durable Task SDK om orkestraties, activiteiten en entiteiten in je applicatiecode te maken. Het beheert intern de mechanica van duurzame uitvoering—het herspelen van orchestratorfuncties, het beheren van lokale uitvoeringscontext en communiceren met de state-storage backend. Duurzame Taak biedt verschillende SDK-opties in de ondersteunde talen en de twee hostingmodellen: Azure Functions en zelfgehost.

Zie Uw hostingmodel kiezen voor hulp bij het kiezen tussen deze opties.

Back-end voor statusopslag

De state storage-backend onderhoudt de orkestratiestatus, onderhoudt de uitvoeringsgeschiedenis en coördineert de verspreide schaal tussen compute-instanties.

De aanbevolen optie voor state storage is de Durable Task Scheduler—een volledig beheerde Azure-dienst die speciaal is gebouwd en sterk geoptimaliseerd voor Durable Task-workloads. Het werkt met zowel Durable Functions als de zelfstandige Durable Task SDK's en biedt de rijkste set functies zonder opslaginfrastructuur te beheren.

Durable Functions ondersteunt ook verschillende opties voor bring-your-own (BYO)-opslag. Deze opties geven je meer controle over waar je de staat opslaat, maar vereisen dat je zelf de onderliggende infrastructuur provisioneert en beheert. BYO-opslagback-ends zijn momenteel alleen beschikbaar met Durable Functions.

Zie Opslagproviders voor meer informatie over opslagopties.

Aanvullende duurzame taakresources

Onderzoekspublicaties

Microsoft ontwikkelt Duurzame Taak in samenwerking met Microsoft Research. Als gevolg hiervan produceert het team onderzoeksartikelen en artefacten, waaronder:

Video-overzicht

De volgende video belicht de voordelen van Durable Functions:

Volgende stappen