Escolha os serviços de integração e automação corretos no Azure
Este artigo compara os seguintes serviços em nuvem da Microsoft:
- Microsoft Power Automate (era Microsoft Flow)
- Aplicativos Lógicos do Azure
- Azure Functions
- WebJobs no Serviço de Aplicativo do Azure
Todos esses serviços podem resolver problemas de integração e automatizar processos empresariais. Todos eles definem entrada e saída, condições e ações. Você pode executar cada um em um cronograma ou gatilho. Cada serviço traz vantagens exclusivas e este artigo explica as diferenças.
Observação
Caso esteja procurando uma comparação mais geral entre o Azure Functions e outras opções de computação do Azure, confira os seguintes artigos:
- Critérios para escolha de um serviço de computação do Azure
- Como escolher uma opção de computação do Azure para microsserviços
Para acessar um resumo e uma comparação das opções de serviço de automação no Azure, confira Escolher os serviços de Automação no Azure.
Comparar os Aplicativos Lógicos do Azure e o Microsoft Power Automate
Esses serviços são plataformas de integração do tipo primeiro o designer, em que você pode criar e executar fluxos de trabalho automatizados. Ambas as plataformas se integram a vários SaaS (Software como Serviço) e aplicativos corporativos. Ambas 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 capacita os usuários corporativos, funcionários do escritório e desenvolvedores cidadãos a criar integrações simples sem precisar trabalhar com o setor de TI ou com desenvolvedores nem escrever códigos. 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 vão desde cenários de pouco a nenhum código até fluxos de trabalho mais avançados, codificados e complexos. Entre os exemplos, estão processos ou cenários B2B que exigem interações de nível empresarial com o Azure DevOps. Um fluxo de trabalho de negócios também pode se desenvolver de simples para concluído com o passar do tempo.
Para ajudar você 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 funcionalidades.
Comparar o Azure Functions e os Aplicativos Lógicos do Azure
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, já os Aplicativos Lógicos do Azure fornecem 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 são executadas para realizar uma tarefa complexa. Por exemplo, para processar um lote de pedidos, você pode executar várias 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.
Para o Azure Functions, você desenvolve orquestrações escrevendo o código e usando a extensão Durable Functions. Para os Aplicativos Lógicos do Azure, você cria as orquestrações usando um designer visual ou editando modelos do Azure Resource Manager.
Quando você cria uma orquestração, é possível combinar e equiparar serviços. Por exemplo, você pode chamar funções de fluxos de trabalho de aplicativo lógico e chamar fluxos de trabalho de aplicativo lógico de funções. Escolha como criar cada orquestração com base em recursos dos serviços ou de sua preferência pessoal. A tabela a seguir lista algumas das principais diferenças entre esses serviços:
Comparar Functions e WebJobs
Como no Azure Functions, o WebJobs do Serviço de Aplicativo do Azure com o SDK do WebJobs é um serviço de integração com prioridade de código que foi projetado para desenvolvedores. Ambos são criados no Serviço de Aplicativo do Azure e dão suporte a recursos como integração de controle de origem, autenticação e monitoramento com integração do Application Insights.
WebJobs e SDK do WebJobs
Use o recurso WebJobs do Serviço de Aplicativo para executar um script ou um código no contexto de um aplicativo Web do Serviço de Aplicativo. O SDK do WebJobs é uma estrutura projetada para WebJobs que simplifica o código que você cria para responder a eventos nos serviços do Azure. Por exemplo, você pode responder à criação de um blob de imagem no Armazenamento do Azure criando uma imagem em miniatura. O SDK do WebJobs é executado como um aplicativo de console do .NET, que você pode implantar em um WebJob.
O WebJobs e o SDK do WebJobs funcionam melhor em conjunto, mas você pode usar o WebJobs sem o SDK do WebJobs e vice-versa. Um WebJob pode executar qualquer programa ou script que possa ser executado na área restrita do Serviço de Aplicativo. Um aplicativo de console do SDK do WebJobs pode ser executado em qualquer lugar que execute aplicativos de console, como servidores locais.
Tabela de comparação
O Azure Functions se baseia no SDK do WebJobs e, portanto, compartilha muitos dos mesmos gatilhos de evento e conexões com outros serviços do Azure. Estes são alguns fatores a serem considerados quando você escolher entre o Azure Functions e o WebJobs com o SDK do WebJobs:
Funções | WebJobs com o SDK do WebJobs | |
---|---|---|
Modelo de aplicativo sem servidor com dimensionamento automático | ✔ | |
Desenvolver e testar no navegador | ✔ | |
Preço de pagamento por uso | ✔ | |
Integração com os Aplicativos Lógicos | ✔ | |
Eventos de gatilho |
Timer Blobs e filas do Armazenamento do Azure Filas e tópicos do Barramento de Serviço do Azure Azure Cosmos DB Hubs de eventos do Azure HTTP/WebHook (GitHub, Slack) Grade de Eventos do Azure |
Timer Blobs e filas do Armazenamento do Azure Filas e tópicos do Barramento de Serviço do Azure Azure Cosmos DB Hubs de eventos do Azure Sistema de Arquivos |
Idiomas com suporte | C# F# JavaScript Java Python PowerShell |
C#1 |
Gerenciadores de pacotes | npm e NuGet | NuGet2 |
1 O WebJobs (sem o SDK do WebJobs) é compatível com as linguagens C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python, entre outros. Um WebJob pode executar qualquer programa ou script que possa ser executado na área restrita do Serviço de Aplicativo.
2 O WebJobs (sem o SDK do WebJobs) dá suporte ao npm e ao NuGet.
Resumo
O Azure Functions oferece mais produtividade para o desenvolvedor do que o WebJobs do Serviço de Aplicativo do Azure. Também oferece mais opções de linguagens de programação, ambientes de desenvolvimento, integração de serviços do Azure e preços. Na maioria dos cenários, é a melhor opção.
Aqui estão dois cenários para os quais o WebJobs pode ser a melhor opção:
- Você precisa de mais controle sobre o código que escuta eventos, o objeto
JobHost
. O Functions oferece um número limitado de maneiras de personalizar o comportamento doJobHost
no arquivoJobHost
. Às vezes, você precisa fazer coisas que não consegue especificar usando uma cadeia de caracteres em um arquivo JSON. Por exemplo, somente o SDK do WebJobs permite configurar uma política de repetição personalizada para o Armazenamento do Azure. - Você tem um aplicativo do Serviço de Aplicativo para o qual deseja executar snippets de código e deseja gerenciá-los juntos no mesmo ambiente do Azure DevOps.
Para outros cenários em que você deseja executar snippets de código para integrar o Azure ou serviços externos, escolha o Azure Functions em vez do WebJobs com o SDK do WebJobs.
Power Automate, Aplicativos Lógicos, Functions e WebJobs juntos
Você não precisa escolher apenas um desses serviços. Eles se integram 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 dos Aplicativos Lógicos do Azure pode chamar uma função em Azure Functions e vice-versa. Consulte, por exemplo, Criar uma função que se integra aos Aplicativos Lógicos do Azure.
Entre o Power Automate, os Aplicativos Lógicos do Azure e as Funções, 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 os serviços de integração, consulte os seguintes artigos:
- Aproveitando o Azure Functions e o Serviço de Aplicativo do Azure em cenários de integração, por Christopher Anderson
- Integração simplificada, por Charles Lamanna
- Webcast ao vivo sobre os Aplicativos Lógicos do Azure
- Perguntas frequentes sobre o Power Automate
Próximas etapas
Comece criando seu primeiro fluxo, fluxo de trabalho do aplicativo lógico ou aplicativo de funções. Selecione um dos seguintes links: