Descobrir o Azure Functions

Concluído

O Azure Functions é uma solução sem servidor que permite que você escreva menos código, mantenha menos infraestrutura e economize nos custos. Em vez de se preocupar com a implantação e manutenção de servidores, a infraestrutura de nuvem fornece todos os recursos atualizados necessários para manter seus aplicativos em execução.

Muitas vezes, criamos sistemas para reagir a uma série de eventos críticos. Se você estiver criando uma API Web, respondendo a alterações no banco de dados, processando fluxos IoT ou até mesmo gerenciando filas de mensagens - cada aplicativo precisa ter uma forma de executar algum código à medida que esses eventos ocorrem.

O Azure Functions dá suporte a gatilhos, que são maneiras de iniciar a execução do seu código, e associações, que são maneiras de simplificar a codificação de dados de entrada e de saída. Há outros serviços de integração e automação no Azure e todos eles podem resolver problemas de integração e automatizar processos de negócios. Todos eles definem entrada e saída, condições e ações.

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

O Azure Functions e os Aplicativos Lógicos são serviços do Azure que permitem habilitar 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 ou etapas, chamadas ações nos Aplicativos Lógicos, que são executadas para realizar uma tarefa complexa.

Para o Azure Functions, você desenvolve orquestrações escrevendo o código e usando a extensão Durable Functions. Para os Aplicativos Lógicos, você pode criar orquestrações usando uma GUI ou editando arquivos de configuração.

A seguinte tabela lista algumas das principais diferenças entre o Functions e os Aplicativos Lógicos:

Tópico Funções do Azure Aplicativos Lógicos
Desenvolvimento Primeiro o código (obrigatória) Primeiro o designer (declarativa)
Conectividade Cerca de doze tipos internos de associação + possibilidade de escrita de código para associações personalizadas Grande conjunto de conectores + Enterprise Integration Pack para cenários de B2B + possibilidade de criar conectores personalizados
Ações Cada atividade é uma função do Azure. Escrever código para funções de atividade Grande conjunto de ações predefinidas
Monitoring Azure Application Insights Portal do Azure, logs do Azure Monitor
Gerenciamento API REST, Visual Studio Portal do Azure, API REST, PowerShell, Visual Studio
Contexto de execução É executado no Azure ou localmente É executado no Azure, localmente ou no local

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.

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:

Fator Funções WebJobs com o SDK do WebJobs
Modelo de aplicativo sem servidor com dimensionamento automático Sim No
Desenvolver e testar no navegador Sim No
Preço de pagamento por uso Sim No
Integração com os Aplicativos Lógicos Sim No
Eventos de gatilho Temporizador
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
Temporizador
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

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.