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:

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:

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 Aplicações Lógicas
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 comportamento JobHost 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:

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: