Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste artigo, você aprende:
- Os benefícios de usar uma estrutura de orquestração.
- Qual estrutura funciona melhor para seu cenário.
O Azure oferece duas estruturas de orquestração orientadas para desenvolvedores que você pode usar para criar aplicativos: Durable Functions para aplicativos hospedados no Azure Functions e SDKs de Tarefas Duráveis para aplicativos hospedados em outras plataformas de computação. As orquestrações, também chamadas de fluxos de trabalho, envolvem organizar e coordenar várias tarefas ou processos (de longa execução), muitas vezes envolvendo vários sistemas, a serem executados em determinada ordem. É importante que uma estrutura de orquestração garanta a execução durável, ou seja, quando houver interrupções ou falhas de infraestrutura, a execução pode continuar em outro processo ou computador a partir do ponto de falha. Os SDKs de Tarefa Durável e as Funções Duráveis garantem que as orquestrações sejam executadas de forma duradoura por meio de persistência de estado embutida e repetições automáticas, para que você possa desenvolver orquestrações sem o fardo de projetar para tolerância a falhas.
Cenários que exigem orquestração
Veja a seguir cenários que exigem padrões comuns de orquestração que se beneficiam dos SDKs de Tarefa Durável e das Funções Duráveis:
- Encadeamento de funções: Para cenários que envolvem etapas sequenciais, em que cada etapa pode depender da saída da anterior.
- Fan-out/fan-in: para trabalhos em lote, ETL (extração, transformação e carregamento) e qualquer cenário que exija processamento paralelo.
- Interações humanas: Para autenticação de dois fatores, fluxos de trabalho que exigem intervenção humana.
- APIs HTTP assíncronas: Para qualquer cenário em que um cliente não queira aguardar a conclusão de tarefas de execução prolongada.
Os dois cenários a seguir compartilham o padrão de encadeamento de funções .
Processando pedidos em um site de comércio eletrônico
Digamos que você crie um site de comércio eletrônico. Seu site provavelmente precisa de um fluxo de trabalho de processamento de pedidos para qualquer compra do cliente. O fluxo de trabalho pode incluir as seguintes etapas sequenciais:
- Verificar o inventário
- Processar o pagamento
- Atualizar o inventário
- Gerar fatura
- Enviar confirmação do pedido
Invocando agentes de IA para planejar uma viagem
Nesse cenário, digamos que você precise criar um planejador de viagens inteligente. Há uma série de etapas conhecidas pelas quais o planejador deve seguir:
- Sugerir ideias com base nos requisitos do usuário
- Obter confirmação de preferência
- Fazer reservas necessárias
Você pode implementar um agente de IA para cada tarefa e, em seguida, escrever uma orquestração que invoque esses agentes em determinada ordem.
Opções da estrutura de orquestração
As Funções Duráveis e o SDK de Tarefas Duráveis estão disponíveis em vários idiomas, mas há algumas diferenças em como elas podem ser usadas.
Saber qual estrutura de orquestração é recomendada para produção pode ajudá-lo a decidir qual funciona melhor para seu projeto. Embora o back-end da Tarefa Durável seja totalmente gerenciado e suportado, a extensão Durable Functions e os SDKs de Tarefa Durável variam em estabilidade dependendo do modelo de precificação e do SDK de linguagem que você usa.
A tabela a seguir mostra qual experiência do cliente é adequada para uso em produção.
| Experiência | SKU dedicado | SKU de consumo |
|---|---|---|
| Extensão do Durable Functions em todos os idiomas | Disponível em geral | Preview |
| SDK do .NET para Tarefas Duráveis | Disponível em geral | Preview |
| SDK de Tarefa Durável do Python | Disponível em geral | Preview |
| SDK de Java para Tarefa Durável | Preview | Preview |
Durable Functions
Como um recurso do Azure Functions, o Durable Functions herda vários ativos, como:
- Integrações com outros serviços do Azure por meio das extensões do Functions
- Experiência de desenvolvimento local
- Modelo de preços sem servidor
- Hospedagem no Serviço de Aplicativo do Azure e aplicativos de contêiner do Azure
O Durable Functions persiste estados em um back-end de armazenamento e dá suporte a:
- Dois back-ends "traga seu próprio" (BYO):
- Armazenamento do Azure
- Microsoft SQL
- Um back-end gerenciado do Azure:
Quando usar funções duráveis
Considere o uso de Durable Functions se você precisar criar aplicativos controlados por eventos com fluxos de trabalho. As extensões do Azure Functions fornecem integrações com outros serviços do Azure, o que facilita a criação de cenários controlados por eventos. Por exemplo, com Durable Functions:
- Você pode iniciar facilmente uma orquestração quando uma mensagem entra no Barramento de Serviço do Azure ou um arquivo é carregado no Armazenamento de Blobs do Azure.
- Você pode criar facilmente uma orquestração que é executada periodicamente ou em resposta a uma solicitação HTTP com o temporizador do Azure Functions e o gatilho HTTP, respectivamente.
Outro motivo para considerar o Durable Functions é se você já está escrevendo aplicativos do Azure Function e percebeu que precisa de fluxo de trabalho. Como o modelo de programação do Durable Functions é semelhante ao da Função, você pode acelerar seu desenvolvimento.
Experimentar
Percorra um dos seguintes guias de início rápido ou exemplos para saber mais sobre As Funções Duráveis.
Inícios rápidos
| Início Rápido | Descrição | |
|---|---|---|
| Agendador de tarefas duráveis | Criar um aplicativo de funções duráveis com o Agendador de Tarefas Duráveis | Crie um aplicativo "hello world" Durable Functions que usa o Agendador de Tarefas Duráveis como back-end, teste localmente e publique no Azure. |
| Azure Storage | Crie um aplicativo de Durable Functions com o back-end do Azure Storage: - .NET - Python - JavaScript/TypeScript - Java - PowerShell |
Crie um aplicativo "Olá, Mundo" do Durable Functions que usa o Armazenamento do Microsoft Azure como back-end, teste localmente e publique no Azure. |
| MSSQL | Criar um aplicativo do Durable Functions com MSSQL | Crie um aplicativo "hello world" Durable Functions que usa o MSSQL como back-end, teste localmente e publique no Azure. |
Exemplos
| Amostra | Descrição | |
|---|---|---|
| Fluxo de trabalho de processamento de pedidos | Crie um fluxo de trabalho de processamento de pedidos com o Durable Functions: - .NET - Python |
Este exemplo implementa um fluxo de trabalho de processamento de pedidos que inclui verificar inventário, processar pagamento, atualizar inventário e notificar o cliente. |
| Resumo de PDF inteligente | Crie um aplicativo que processe PDFs com Durable Functions: - .NET - Python |
Este exemplo demonstra como usar o Durable Functions para coordenar as etapas para processar e resumir PDFs usando os Serviços Cognitivos do Azure e o Azure OpenAI. |
SDKs de tarefas duráveis com agendador de tarefas duráveis
Os SDKs de Tarefa Durável são SDKs de cliente que devem ser usados com o Agendador de Tarefas Duráveis. Os SDKs de Tarefa Durável conectam as orquestrações que você escreve ao mecanismo de orquestração do Agendador de Tarefas Duráveis no Azure. Os aplicativos que usam os SDKs de Tarefa Durável podem ser executados em qualquer plataforma de computação, incluindo:
- Serviço de Kubernetes do Azure
- Aplicativos de Contêiner do Azure
- Serviço de Aplicativo do Azure
- VMs (máquinas virtuais) locais
O Agendador de Tarefas Duráveis (SDK do Java atualmente em versão prévia) desempenha o papel do mecanismo de orquestração e do back-end de armazenamento para persistência de estado de orquestração. O Agendador de Tarefas Duráveis:
- É totalmente gerenciado pelo Azure, removendo assim a sobrecarga de gerenciamento
- Fornece alta taxa de transferência de orquestração
- Oferece um painel pronto para monitoramento e depuração de orquestração
- Inclui um emulador local
Quando usar SDKs de Tarefas Duráveis
Se você não quiser usar o modelo de programação do Azure Functions, os SDKs de Tarefa Durável fornecem um modelo de programação leve e relativamente não prescritivo para o desenvolvimento de fluxos de trabalho.
Quando você precisar executar aplicativos nos Serviços de Kubernetes do Azure ou VMs locais com suporte oficial da Microsoft, considere usar os SDKs de Tarefa Durável. Embora o Durable Functions também possa ser executado nessas plataformas, não há suporte oficial.
Experimentar
Percorra um dos seguintes guias de início rápido para configurar seus aplicativos para usar o Agendador de Tarefas Duráveis com os SDKs de Tarefa Durável.
| Início Rápido | Descrição | |
|---|---|---|
| Início rápido do desenvolvimento local | Crie um aplicativo com SDKs de Tarefas Duráveis e Agendador de Tarefas Duráveis usando os SDKs .NET, Python ou Java. | Execute uma orquestração fan-in/fan-out localmente usando o emulador do Agendador de Tarefas Duráveis e analise o histórico de orquestração usando o painel. |
| Hospedagem em Aplicativos de Contêiner do Azure | Implantar um aplicativo SDK de Tarefa Durável nas Aplicações de Contêiner do Azure | Implante rapidamente um aplicativo "Olá, Mundo" com o SDK de Tarefa Durável nos Aplicativos de Contêiner do Azure usando a Azure Developer CLI. |
Observação
O Durable Task Framework (DTFx) é uma estrutura de orquestração de software livre .NET semelhante ao SDK de Tarefas Duráveis do .NET. Embora possa ser usado para criar aplicativos executados em plataformas como os Serviços de Kubernetes do Azure, o DTFx não recebe suporte oficial da Microsoft.