Choose the right integration and automation services in Azure (Escolher os serviços de integração e automatização certos no Azure)
Este artigo compara os seguintes serviços cloud do Microsoft:
- Microsoft Power Automate (era Microsoft Flow)
- Azure Logic Apps
- Funções do Azure
- WebJobs do Serviço de Aplicações do Azure
Todos estes serviços podem resolver problemas de integração e automatizar processos comerciais. Podem todos definir entradas, ações, condições e saídas. Pode executar cada um com base numa agenda ou num acionador. Cada serviço tem vantagens únicas, e este artigo explica as diferenças.
Nota
Se você estiver procurando uma comparação mais geral entre o Azure Functions e outras opções de computação do Azure, consulte os seguintes artigos:
- Critérios para escolher um serviço de computação do Azure
- Escolhendo uma opção de computação do Azure para microsserviços
Para obter um resumo e uma comparação das opções de serviço de automação no Azure, consulte Escolher os serviços de automação no Azure.
Compare os Aplicativos Lógicos do Azure e o Microsoft Power Automate
Esses serviços são plataformas de integração que priorizam o designer, onde você pode criar e executar fluxos de trabalho automatizados. Ambas as plataformas se integram com vários softwares como serviço (SaaS) e aplicativos corporativos. Ambos fornecem designers de fluxo de trabalho semelhantes e, embora seus conectores compartilhem alguma sobreposição, cada plataforma também oferece seus próprios conectores exclusivos.
O Power Automate permite que usuários corporativos, trabalhadores de escritório e desenvolvedores cidadãos criem integrações simples sem precisar trabalhar com TI ou desenvolvedores ou escrever código. Um exemplo pode ser um fluxo de trabalho de aprovação para uma biblioteca de documentos do SharePoint. Os Aplicativos Lógicos do Azure dão suporte a integrações que variam de cenários de pouco a nenhum código a fluxos de trabalho mais avançados, codificados e complexos. Os exemplos incluem processos B2B ou cenários que exigem interações de nível empresarial com o Azure DevOps. Um fluxo de trabalho de negócios também pode crescer de simples para completo ao longo do tempo.
Para ajudá-lo a determinar se deseja usar os Aplicativos Lógicos do Azure ou o Power Automate para uma integração específica, consulte a tabela de comparação de capacidades.
Comparar o Azure Functions e o Azure Logic Apps
Esses serviços do Azure permitem que você crie e execute cargas de trabalho sem servidor. O Azure Functions é um serviço de computação sem servidor, enquanto os Aplicativos Lógicos do Azure são uma plataforma de integração de fluxo de trabalho sem servidor. Ambos podem criar orquestrações complexas. Uma orquestração é uma coleção de funções, que são chamadas de ações nos Aplicativos Lógicos do Azure, que você pode executar para concluir uma tarefa complexa. Por exemplo, para processar um lote de ordens, você pode executar muitas instâncias de uma função em paralelo, aguardar a conclusão de todas as instâncias e, em seguida, executar uma função que calcula um resultado na agregação.
Nas Funções do Azure, vai desenvolver orquestrações ao escrever código e utilizar a extensão Durable Functions. Para os Aplicativos Lógicos do Azure, você cria orquestrações usando um designer visual ou editando modelos do Azure Resource Manager.
Você pode misturar e combinar serviços ao criar uma orquestração. Por exemplo, você pode chamar funções de fluxos de trabalho de aplicativos lógicos e chamar fluxos de trabalho de aplicativos lógicos de funções. Selecione como criar cada orquestração com base nas capacidades dos serviços ou nas suas preferências pessoais. A tabela a seguir lista algumas diferenças importantes entre esses serviços:
Comparar as Funções e o WebJobs
Tal como as Funções do Azure, o Serviço de Aplicações do Azure WebJobs com o SDK do WebJobs é um serviço de integração baseado em código e concebido para programadores. Ambos são criados no Serviço de Aplicações do Azure e suportam funcionalidades como a integração de controlo de origem, a autenticação e a monitorização com integração do Application Insights.
WebJobs e o SDK de WebJobs
Você pode usar o recurso WebJobs do Serviço de Aplicativo para executar um script ou código no contexto de um aplicativo Web do Serviço de Aplicativo. O SDK do WebJobs é uma arquitetura concebida para o WebJobs que simplifica o código que escreveu para responder a eventos em serviços do Azure. Por exemplo, pode responder à criação de um blob de imagem no Armazenamento do Microsoft Azure ao criar uma imagem de miniatura. O SDK do WebJobs é executado como uma aplicação da consola .NET, a qual pode implementar num WebJob.
O WebJobs e o SDK do WebJobs funcionam melhor em conjunto, mas pode utilizar o WebJobs sem o SDK do WebJobs e vice-versa. Um WebJob pode executar qualquer programa ou script que execute na sandbox do Serviço de Aplicações. Uma aplicação de consola do SDK do WebJobs pode ser executada em qualquer local onde as aplicações de consolas se executam, como nos servidores no local.
Tabela de comparação
As Funções do Azure são criadas no SDK do WebJobs, pelo que partilham muitos dos acionadores de eventos e das ligações a outros serviços do Azure. Aqui estão alguns fatores a serem considerados ao escolher entre o Azure Functions e WebJobs com o SDK do WebJobs:
Funções | WebJobs com o SDK do WebJobs | |
---|---|---|
Modelo de aplicação sem servidor com dimensionamento automático | ✔ | |
Programação e testes no browser | ✔ | |
Preços com pagamento por utilização | ✔ | |
Integração com Logic Apps | ✔ | |
Eventos desencadeadores |
Temporizador Filas e blobs de Armazenamento do Microsoft Azure Filas e tópicos do Azure Service Bus BD do Cosmos para o Azure Azure Event Hubs HTTP/WebHook (GitHub, Slack) Azure Event Grid |
Temporizador Filas e blobs de Armazenamento do Microsoft Azure Filas e tópicos do Azure Service Bus BD do Cosmos para o Azure Azure Event Hubs Sistema de Ficheiros |
Idiomas suportados | C# F# JavaScript Java Python PowerShell |
C#1 |
Gerenciadores de pacotes | npm e NuGet | NuGet2 |
1 WebJobs (sem o SDK WebJobs) suporta linguagens como C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python e muito mais. Um WebJob pode executar qualquer programa ou script que possa ser executado na sandbox do Serviço de Aplicações.
2 WebJobs (sem o SDK WebJobs) suporta npm e NuGet.
Resumo
O Azure Functions oferece mais produtividade de desenvolvedor do que o Azure App Service WebJobs. Ele também oferece mais opções para linguagens de programação, ambientes de desenvolvimento, integração de serviços do Azure e preços. Para a maioria dos cenários, é a melhor escolha.
Aqui estão dois cenários para os quais WebJobs pode ser a melhor escolha:
- Precisa de ter mais controlo sobre o código que escuta eventos, o objeto
JobHost
. As Funções oferecem um número limitado de formas de personalizar o comportamentoJobHost
no ficheiro host.json. Às vezes, você precisa fazer coisas que não pode especificar usando uma cadeia de caracteres em um arquivo JSON. Por exemplo, apenas o SDK do WebJobs permite configurar uma política de repetição personalizada para o Armazenamento do Microsoft Azure. - Tem uma aplicação do Serviço de Aplicações para a qual pretende executar fragmentos de código e geri-los em conjunto no mesmo ambiente Azure DevOps.
Para outros cenários em que você deseja executar trechos de código para integrar o Azure ou serviços externos, escolha Azure Functions em vez de WebJobs com o SDK WebJobs.
Power Automate, Aplicativos Lógicos, Funções e WebJobs juntos
Você não precisa escolher apenas um desses serviços. Integram-se entre si e com serviços externos.
Um fluxo do Power Automate pode chamar um fluxo de trabalho dos Aplicativos Lógicos do Azure. Um fluxo de trabalho de Aplicativos Lógicos do Azure pode chamar uma função no Azure Functions e vice-versa. Por exemplo, consulte Criar uma função que se integra com os Aplicativos Lógicos do Azure.
Entre o Power Automate, os Aplicativos Lógicos do Azure e o Functions, a experiência de integração entre esses serviços continua a melhorar ao longo do tempo. Você pode criar um componente em um serviço e usar esse componente nos outros serviços.
Para obter mais informações sobre serviços de integração, consulte os seguintes artigos:
- Tirar partido das Funções do Azure e do Serviço de Aplicações do Azure para cenários de integração por Christopher Anderson
- Integrações Simplificadas por Charles Lamanna
- Webcast ao vivo do Azure Logic Apps
- Perguntas frequentes sobre o Power Automate
Próximos passos
Comece criando seu primeiro fluxo, fluxo de trabalho de aplicativo lógico ou aplicativo de função. Selecione qualquer um dos seguintes links: