Werkstroom in Azure Container Apps

Opmerking

De termwerkstroom heeft vaak meerdere betekenissen. In de context van Durable Functions ziet u mogelijk werkstromen die worden aangeduid als orkestraties. Om verwarring met container-orkestraties te voorkomen, gebruikt dit artikel in plaats daarvan de term werkstroom.

Een werkstroom is een bewerking met meerdere stappen die meestal in een specifieke volgorde plaatsvindt of langlopende taken omvat. Praktijkscenario's waarvoor werkstromen nodig zijn, zijn onder andere:

  • Orderverwerking
  • Coördinatie van AI-agenten
  • Infrastructuurbeheer
  • Pijplijnen voor gegevensverwerking

Gebeurtenissen zoals tijdelijke infrastructuurfouten of downtime van afhankelijkheden kunnen de uitvoering van werkstromen vaak onderbreken. Als u onderbrekingen wilt voorkomen, kunt u duurzame uitvoering gebruiken, die zich blijft voordoen vanaf het punt van de fout in plaats van opnieuw te starten.

Duurzame uitvoering

Duurzame uitvoering biedt een fouttolerante benadering voor het uitvoeren van code en verwerkt fouten probleemloos via automatische nieuwe pogingen en statuspersistentie. Duurzame uitvoering is gebaseerd op drie kernprincipes:

  • Incrementele uitvoering: Elke bewerking wordt onafhankelijk en in volgorde uitgevoerd.
  • Statuspersistentie: De uitvoer van elke stap wordt opgeslagen om ervoor te zorgen dat de voortgang niet verloren gaat.
  • Fouttolerantie: Als een stap mislukt, wordt de bewerking opnieuw geprobeerd vanuit de laatste geslaagde stap, waarbij eerder voltooide stappen worden overgeslagen.

Duurzame uitvoering biedt voordelen voor scenario's die toestandgevoelige ketening van bewerkingen vereisen. Het vereenvoudigt de implementatie van complexe, langlopende, met statusbeheer en fouttolerante toepassingspatronen.

U kunt duurzame uitvoering in uw werkstromen in Azure Container Apps bereiken met behulp van een van de Azure beheerde werkstroomframeworks.

Werkstroomframeworks voor ontwikkelaars in Azure

Azure biedt twee codegeoriënteerde werkstroomframeworks die u kunt gebruiken om apps te bouwen die worden uitgevoerd op Azure Container Apps:

  • Duurzame taak-SDK's
  • Durable Functions

Deze frameworks zijn ontworpen voor ontwikkelaars en zijn beschikbaar in meerdere programmeertalen.

Duurzame taak-SDK's

De Durable Task SDK's zijn lichtgewicht client-SDK's die een ongeopinioneerd programmeermodel bieden voor het ontwerpen van werkstromen. In tegenstelling tot Durable Functions, die nauw is gekoppeld aan de Functions-berekening, worden deze draagbare SDK's losgekoppeld van elke rekenkracht. Hiermee kan uw app verbinding maken met een werkstroomengine die wordt gehost in Azure de Urable Task Scheduler genoemd.

Om duurzame uitvoering te garanderen, vereisen de DURABLE Task SDK's een opslagback-end om de werkstroomstatus te behouden terwijl de app wordt uitgevoerd. De duurzame Task Scheduler-backend controleert continu de status van de werkstroom en maakt controlepunten terwijl de app draait en verwerkt automatisch nieuwe pogingen om duurzame uitvoering te garanderen. De scheduler is verantwoordelijk voor:

  • Hiermee wordt de uitvoering van werkstroomtaken gepland en beheerd.
  • Slaat de werkstroomstatus op en onderhoudt deze.
  • Verwerkt persistentie, fouten en nieuwe pogingen.
  • Taakverdelingen worden uitgevoerd op schaal in uw container-app.

Opmerking

Op dit moment zijn de Durable Task Python- en Java SDK's beschikbaar als preview-versie. Meer informatie over welk framework wordt aanbevolen voor productiegebruik.

Snelstarten

Probeer de DURABLE Task SDK's voor uw container-app te configureren met behulp van de volgende quickstarts.

Snelstart Beschrijving
Een app maken met Durable Task SDK's en Durable Task Scheduler Leer hoe je werkstromen maakt die gebruikmaken van het fan-out/fan-in patroon voor Durable Functions. Momenteel beschikbaar met de .NET, Python en Java duurzame taak-SDK's.
Host een Durable Task SDK-applicatie op Azure Container Apps Gebruik de Azure Developer CLI om Durable Task Scheduler-resources te maken en deze te implementeren in Azure met twee container-apps waarop werkstroomtaken worden uitgevoerd. Momenteel beschikbaar met de .NET, Python en Java duurzame taak-SDK's.

Duurzame Functies

Als functie van Azure Functions neemt Durable Functions veel van de kenmerken over als een codegeoriënteerd werkstroomframework in Azure. Met Durable Functions profiteert u bijvoorbeeld van:

  • Integraties met andere Azure-services via Azure Functions triggers en bindingen
  • Ervaring voor lokale ontwikkeling
  • Serverloos prijsmodel

Hoe te kiezen

Toepassingen die zijn gebouwd met behulp van de Durable Task SDK's of Durable Functions kunnen worden gehost in Azure Container Apps. Meer informatie over welk framework het beste werkt voor uw scenario.

Volgende stap