Escolha os serviços de integração e automação corretos no Azure

Este artigo compara os seguintes serviços em nuvem da Microsoft:

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

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 do Azure:

Comparar o Microsoft Power Automate com os Aplicativos Lógicos do Azure

O Power Automate e os Aplicativos Lógicos do Azure são ambos serviços de integração centrados no designer que podem criar fluxos de trabalho. Ambos os serviços se integram a vários aplicativos SaaS e empresariais.

O Power Automate é compilado na plataforma de Aplicativos Lógicos do Azure. Ambos fornecem designers e fluxo de trabalho e conectores similares.

O Power Automate capacita qualquer trabalhador a realizar integrações simples (por exemplo, um processo de aprovação em uma biblioteca de documentos do SharePoint) sem passar pelos desenvolvedores nem pelo departamento de TI. Os Aplicativos Lógicos também podem permitir integrações avançadas (por exemplo, processos B2B), em que o Azure DevOps de nível empresarial e práticas de segurança são necessárias. É comum que um fluxo de trabalho de negócios aumente de complexidade ao longo do tempo.

A seguinte tabela ajuda você a determinar a melhor opção para uma integração específica, o Power Automate ou os Aplicativos Lógicos:

Power Automate Aplicativos Lógicos
Usuários Funcionários do escritório, usuários de negócios, administradores do SharePoint Integradores profissionais e desenvolvedores, profissionais de TI
Cenários Autoatendimento Integrações avançadas
Ferramenta de design Aplicativo do navegador e móvel, somente interface do usuário No navegador, no Visual Studio Code e no Visual Studio, com a exibição de código disponível
ALM (Gerenciamento do Ciclo de Vida do Aplicativo) O Power Platform fornece ferramentas que se integram ao DevOps e ao GitHub Actions para permitir que você crie pipelines automatizados no ciclo ALM. Azure DevOps: controle do código-fonte, teste, suporte, automação e capacidade de gerenciamento no Azure Resource Manager
Experiência de administrador Gerenciar ambientes do Power Automate e políticas de DLP (prevenção contra perda de dados), acompanhamento do licenciamento: Centro de administração Gerenciar grupos de recursos, conexões, gerenciamento de acesso e log: Azure portal
Segurança Logs de auditoria de segurança do Microsoft 365, DLP e criptografia em repouso para dados confidenciais Garantia de segurança do Azure: segurança do Azure, Microsoft Defender para Nuvem, logs de auditoria

Comparar o Azure Functions e os Aplicativos Lógicos do Azure

O Functions e os Aplicativos Lógicos são os serviços do Azure que permitem as cargas de trabalho sem servidor. O Azure Functions é um serviço de computação sem servidor, enquanto 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, chamadas 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ê pode criar orquestrações usando uma GUI ou editando arquivos de configuração.

Você pode misturar e fazer a correspondência de serviços quando você compila uma orquestração, chamando funções de fluxos de trabalho de aplicativos lógicos e chamando luxos de trabalho de aplicativos lógicos 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:

Funções duráveis Aplicativos Lógicos do Azure
Desenvolvimento Primeiro o código (obrigatória) Primeiro o designer (declarativa)
Conectividade Vários tipos de associação integradas, escrever código para associações personalizadas Grande coleção de conectores, Enterprise Integration Pack para cenários de B2B, criar conectores personalizados
Ações Cada atividade é uma função do Azure. Escrever código para funções de atividade Grande coleção de ações predefinidas
Monitoring Azure Application Insights Portal do Azure, logs do Azure Monitor, Microsoft Defender para Nuvem
Gerenciamento 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, confira O que são Aplicativos Lógicos do Azure?

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 do JobHost no arquivo JobHost. Às vezes, você precisa fazer coisas que não podem ser especificadas por 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 de terceiros, 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 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.

Obtenha mais informações sobre os serviços de integração usando os seguintes links:

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: