Compartilhar via


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

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:

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:

Funções duráveis Aplicativos Lógicos do Azure
Desenvolvimento Primeiro o código (obrigatória) Primeiro o designer (declarativa)
Conectividade - Uma dúzia de tipos de associação internos
– Escrever código para associações personalizadas
- Mais de 1.400 conectores predefinidos com gatilhos e ações
- Enterprise Integration Pack para cenários B2B
- Conectores personalizados
Ações Cada atividade é uma função do Azure. Escrever código para funções de atividade Mais de 1.400 conectores predefinidos com gatilhos e ações
Monitoring Azure Application Insights - Portal do Azure
- Logs do Azure Monitor
- Microsoft Defender para Nuvem
- Azure Application Insights para fluxos de trabalho Standard
- Verificação de integridade para fluxos de trabalho Standard

Para obter mais informações, consulte Monitorar fluxos de trabalho nos Aplicativos Lógicos do Azure.
Gerenciamento - REST API
- Visual Studio
- Portal do Azure
- Visual Studio Code
- REST API
- PowerShell
- CLI do Azure (fluxos de trabalho Standard)
- CLI do Azure (fluxos de trabalho de Consumo)
Contexto de execução Pode ser executado localmente ou na nuvem Pode ser executado no Azure, localmente no Visual Studio Code ou em ambientes parcialmente conectados. 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 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:

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: