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.
Este artigo ajuda você a decidir entre os dois modelos de hospedagem da Tarefa Durável – Durable Functions (Azure Functions) e os SDKs de Tarefa Durável padrão (auto-hospedados) – com base em sua plataforma de hospedagem, necessidades de dimensionamento e requisitos operacionais.
Dica
Já conhece sua plataforma de hospedagem? Vá para a tabela de pesquisa da plataforma para obter uma resposta rápida.
Conforme descrito em O que é Tarefa Durável?, a Tarefa Durável dá suporte a dois modelos de hospedagem:
- Azure Functions (via Durable Functions)
- Auto-hospedado (via SDKs de Tarefas Duráveis independentes).
Ambos os modelos de hospedagem fornecem os mesmos principais recursos de execução duráveis (orquestrações, atividades, temporizadores, eventos externos e muito mais), mas diferem em como seu aplicativo é hospedado, dimensionado e implantado.
Em geral, onde seu aplicativo é executado determina qual modelo de hospedagem você usa. Se você estiver desenvolvendo na plataforma Azure Functions, você usa as Funções Duráveis. Se você estiver desenvolvendo em qualquer outra plataforma de computação, utilize os SDKs independentes das Tarefas Duráveis.
Escolher com base na plataforma de hospedagem
Se você já conhece a plataforma de hospedagem do aplicativo, a tabela a seguir pode ajudá-lo a determinar qual modelo de hospedagem usar:
| Plataforma de hospedagem | Modelo de hospedagem |
|---|---|
| Azure Functions (Consumo, Consumo Flexível, Premium) | Durable Functions |
| Aplicativos de Contêiner do Azure (com execução do Azure Functions) | Ou |
| Serviço de Aplicativo do Azure (com ambiente de execução do Azure Functions) | Ou |
| AKS (Serviço de Kubernetes do Azure) | SDKs de tarefas duráveis autônomas |
| Máquinas virtuais ou locais | SDKs de tarefas duráveis autônomas |
Observação
O Serviço de Aplicativos do Azure e o Aplicativos de Contêiner do Azure podem hospedar o ambiente de execução do Azure Functions, seja por meio de uma integração totalmente gerenciada do Azure Functions ou implantando o ambiente de execução do Functions diretamente. Assim, ambas as plataformas dão suporte a um modelo de hospedagem. Para obter mais informações sobre Azure Functions modelos de hospedagem, consulte Azure Functions planos de hospedagem.
Comparar os modelos de hospedagem
A tabela a seguir resume as principais diferenças entre os dois modelos de hospedagem:
| Funções Duráveis (Azure Functions) | SDKs de tarefa duráveis autônomos (auto-hospedados) | |
|---|---|---|
| Hosting | Azure Functions (Consumo, Consumo Flexível, Premium), Aplicativos de Serviço, e Aplicativos de Contêiner (com tempo de execução do Functions) | Qualquer plataforma: Aplicativos de Contêiner do Azure, AKS, Serviço de Aplicativo, VMs, local |
| Dimensionamento | Automático, gerenciado pela infraestrutura de escala gerenciada Azure Functions | Você gerencia o dimensionamento por conta própria ou usa o dimensionamento automático nativo da plataforma (por exemplo, KEDA no Kubernetes) |
| Gatilhos | Suporte integrado para HTTP, Fila, Temporizador, Grade de Eventos e outros gatilhos do Azure Functions | Você define seus próprios pontos de entrada (por exemplo, endpoints HTTP, consumidores de mensagens etc.) |
| Armazenamento de estado | Durable Task Scheduler (recomendado), Armazenamento do Azure, MSSQL, Netherite | Agendador de tarefas duráveis |
| Idiomas | .NET (C#/F#), JavaScript/TypeScript, Python, Java, PowerShell | .NET (C#/F#), JavaScript/TypeScript, Python, Java |
| Monitorização | Integração interna com Azure portal, Application Insights | Você configura sua própria solução de monitoramento (por exemplo, Azure Monitor, Prometheus ou Grafana) |
Observação
Partida a frio ocorre quando um aplicativo de função é iniciado após estar inativo. Os planos de hospedagem Premium e Dedicado mantêm as instâncias aquecidas para reduzir a latência de inicialização a frio.
O plano de hospedagem Flex Consumption oferece o conceito de instâncias sempre prontas como mitigação do problema de inicialização a frio.
Saiba mais sobre Azure Functions modelos de hospedagem.
APIs HTTP integradas
O Azure Functions fornece endpoints HTTP para seu aplicativo de funções, que a extensão Funções Duráveis aproveita para fornecer suporte integrado ao gerenciamento de instâncias via HTTP.
Ao usar os SDKs de Tarefas Duráveis, você precisa implementar seus próprios endpoints HTTP, dependendo da capacidade de computação do seu servidor.
| Característica | Durable Functions | SDKs para tarefas duráveis |
|---|---|---|
| APIs HTTP de gerenciamento | ✅ Integrado | ❌ Implemente o seu próprio |
| URLs automáticas de status | ✅ Integrado | ❌ Implemente o seu próprio |
Funcionalidades HTTP do Durable Functions
Durable Functions expõe automaticamente pontos de extremidade HTTP para iniciar orquestrações, consultar o status, gerar eventos e encerrar instâncias. Essas APIs seguem o padrão de sondagem HTTP assíncrono, facilitando a integração com sistemas externos.
Observação
Durable Functions dá suporte ao uso da classe DurableTaskClient diretamente, se você preferir isso em vez das APIs HTTP internas.
Saiba mais: recursos HTTP no Durable Functions | referência da API HTTP
Gerenciamento de SDKs de Tarefas Duráveis
Com os SDKs de Tarefa Durável, você usa a DurableTaskClient classe diretamente para gerenciar instâncias de orquestração. Se você precisar de endpoints HTTP, implemente-os você mesmo usando seu framework da web preferido.
Saiba mais: Gerenciar instâncias de orquestração
Back-end de armazenamento
Ambos os modelos de hospedagem usam o Durable Task Scheduler — um serviço de Azure totalmente gerenciado para persistência e execução do estado de orquestração (pricing). Durable Functions também oferece suporte a trazer seu próprio back-end de armazenamento (Armazenamento do Azure, MSSQL e Netherite). Os SDKs de Tarefa Durável usam exclusivamente o Agendador de Tarefas Duráveis.
Saiba mais: Provedores de armazenamento
Configuração do hub de tarefas
Durable Functions configura hubs de tarefas no arquivo host.json. Os SDKs de Tarefas Duráveis configuram hubs de tarefas em código e variáveis de ambiente (cadeia de conexão/ponto de extremidade).
Saiba mais: Hubs de tarefas
Diagnóstico e controle de versão
| Característica | Durable Functions | SDKs para tarefas duráveis |
|---|---|---|
| Painel do Agendador de Tarefas Durável | ✅ Sim | ✅ Sim |
| Application Insights | ✅ Integrado | Instalação manual |
| Implantação sem tempo de inatividade | ✅ Slots de funções | Específico da plataforma |
Saiba mais: Diagnóstico | Controle de versão
Quando escolher cada modelo
Ao escolher entre os dois modelos de hospedagem, considere os seguintes fatores:
| Escolha Durable Functions se... | Escolha os SDKs autônomos de Tarefas Duráveis se... |
|---|---|
| Você deseja gatilhos incorporados do Azure Functions (HTTP, Fila, Temporizador, etc.). | Você deseja ter controle total sobre o contêiner e seus pontos de entrada. |
| Você já está familiarizado com o modelo de hospedagem Azure Functions. | Você prefere um SDK leve sem a sobrecarga do tempo de execução do Azure Functions. |
| Você deseja integração do portal do Azure para o gerenciamento de funções. | Você deseja que o mesmo código seja portátil em plataformas de contêiner (AKS, Serviço de Aplicativo etc.). |
| Você precisa escolher entre vários back-ends de armazenamento. | Você já possui código de aplicativo que não utiliza o Functions e precisa integrá-lo. |
| Você precisa de aplicativos controlados por eventos sem servidor que sejam dimensionados para zero. | Você precisa de cargas de trabalho sempre ativas e de baixa latência sem atrasos de inicialização a frio. |
| Você deseja preços de pagamento por execução com o plano de consumo. | Você precisa de cenários de alta taxa de transferência otimizados para processamento em lote. |
| Você precisa de protótipos rápidos com gatilhos declarativos e associações. | Você tem aplicativos containerizados ou em Kubernetes existentes. |
Migração
Se você já estiver usando Durable Functions e quiser mudar para uma implantação baseada em contêiner ou aproveitar a flexibilidade de hospedagem dos SDKs de Tarefa Durável, a migração é simples. O código de orquestração é muito semelhante entre ambas as estruturas.
Para obter diretrizes de migração detalhadas, consulte Migrar de Durable Functions para os SDKs de Durable Task.
Observação
Durable Task Framework (DTFx): O Durable Task Framework é uma biblioteca de .NET de software livre e mantida pela comunidade para orquestração durável. Ele é usado internamente como uma dependência de Durable Functions, mas não vem com suporte oficial Microsoft. Se você estiver iniciando um novo projeto, use os SDKs de Tarefa Durável modernos ou as Funções Duráveis em vez disso.
Próximas Etapas
Introdução à estrutura que você escolheu:
Em seguida, saiba mais sobre o provedor de back-end do Agendador de Tarefas Duráveis.