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:
- 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:
Compare o Microsoft Power Automate e os Aplicativos Lógicos do Azure
O Power Automate e os Aplicativos Lógicos do Azure são serviços de integração que priorizam o designer e podem criar fluxos de trabalho. Ambos os serviços integram-se com diversas aplicações empresariais e SaaS.
O Power Automate foi criado na plataforma Azure Logic Apps. Ambos fornecem designers e conectores de fluxo de trabalho semelhantes.
O Power Automate permite que qualquer funcionário de escritório execute integrações simples (por exemplo, um processo de aprovação em uma Biblioteca de Documentos do SharePoint) sem passar por desenvolvedores ou TI. Os Aplicativos Lógicos também podem habilitar integrações avançadas (por exemplo, processos B2B) onde o Azure DevOps e as práticas de segurança de nível empresarial são necessários. É normal um fluxo de trabalho do negócio se tornar cada vez mais complexo ao longo do tempo.
A tabela a seguir ajuda a determinar se o Power Automate ou o Logic Apps é melhor para uma integração específica:
Power Automate | Logic Apps | |
---|---|---|
Utilizadores | Trabalhadores do escritório, utilizadores empresariais, administradores do SharePoint | Integradores e programadores profissionais, profissionais de TI |
Cenários | Serviço de gestão personalizada | Integrações avançadas |
Ferramenta de conceção | Aplicação no browser e móvel, apenas IU | No navegador, Visual Studio Code e Visual Studio com exibição de código disponível |
Gerenciamento do ciclo de vida do aplicativo (ALM) | A Power Platform fornece ferramentas que se integram ao DevOps e às Ações do GitHub para permitir que você crie pipelines automatizados no ciclo ALM. | Azure DevOps: controle de origem, teste, suporte, automação e capacidade de gerenciamento no Azure Resource Manager |
Experiência de administrador | Gerencie ambientes Power Automate e políticas de prevenção de perda de dados (DLP), acompanhe o licenciamento: Centro de administração | Gerenciar grupos de recursos, conexões, gerenciamento de acesso e log: portal do Azure |
Segurança | Logs de auditoria de segurança do Microsoft 365, DLP, criptografia em repouso para dados confidenciais | Garantia de segurança do Azure: segurança do Azure, Microsoft Defender for Cloud, logs de auditoria |
Comparar o Azure Functions e o Azure Logic Apps
O Functions e o Logic Apps são serviços do Azure que permitem 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 ou 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 uma GUI ou editando arquivos de configuração.
Você pode misturar e combinar serviços ao criar uma orquestração, como 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:
Funções Duráveis | Azure Logic Apps | |
---|---|---|
Desenvolvimento | Baseado em código (imperativo) | Baseado no estruturador (declarativo) |
Conetividade | Cerca de uma dúzia de tipos de vinculação integrados, código de escrita para vinculações personalizadas | Grande coleção de conectores, Enterprise Integration Pack para cenários B2B, criar conectores personalizados |
Ações | Cada atividade é uma função do Azure; escrever código para funções de atividades | Grande coleção de ações preparadas |
Monitorização | Azure Application Insights | Portal do Azure, Azure Monitor Logs, Microsoft Defender for Cloud |
Gestão | API REST, Visual Studio | Portal do Azure, API REST, PowerShell, Visual Studio |
Contexto de execução | Pode ser executado localmente ou na nuvem | É executado no Azure, localmente ou localmente. Para obter mais informações, consulte O que são os Aplicativos Lógicos do Azure. |
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.
Eis dois cenários para os quais o 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. Por vezes, precisa de fazer coisas que não podem ser especificadas por uma cadeia num ficheiro 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 nos quais pretenda executar fragmentos de código para integrar serviços do Azure ou de terceiros, selecione as Funções do Azure sobre o WebJobs com o SDK do 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 Power Automate, Aplicativos Lógicos e 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.
Você pode obter mais informações sobre serviços de integração usando os seguintes links:
- 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 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: