Descubra o Azure Functions
As Funções do Azure são uma solução sem servidor que lhe permite escrever menos código, manter menos infraestruturas e reduzir os custos. Em vez de se preocupar em implementar e manter servidores, a infraestrutura de cloud fornece todos os recursos atualizados necessários para manter as suas aplicações em execução.
Muitas vezes construímos sistemas para reagir a uma série de eventos críticos. Quer esteja a criar uma API Web, a responder a alterações na base de dados, a processar fluxos de dados IoT ou até mesmo a gerir filas de mensagens, cada aplicação precisa de uma forma de executar algum código à medida que estes eventos ocorrem.
Funções do Azure suporta acionadores, que são formas de iniciar a execução do seu código, e enlaces, que são formas para simplificar a codificação de dados de entrada e saída. Existem 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. Podem todos definir entradas, ações, condições e saídas.
Comparar o Azure Functions e o Azure Logic Apps
As Funções e as Aplicações Lógicas 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 passos, chamados ações no Logic Apps, que são executados para cumprir tarefas complexas.
Nas Funções do Azure, vai desenvolver orquestrações ao escrever código e utilizar a extensão Durable Functions. Para o Logic Apps, crie orquestrações ao utilizar um GUI ou editar os ficheiros de configuração.
A tabela a seguir lista algumas das principais diferenças entre Funções e Aplicativos Lógicos:
Tópico | Funções do 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, escrever código 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 prontas a utilizar |
Monitorização | Azure Application Insights | Portal do Azure, registos do Azure Monitor |
Gestão | 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 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.
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:
Fator | Funções | WebJobs com o SDK do WebJobs |
---|---|---|
Modelo de aplicativo sem servidor com dimensionamento automático | Sim | No |
Programação e testes no browser | Sim | No |
Preços com pagamento por utilização | Sim | No |
Integração com Logic Apps | Sim | No |
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) Folga) Grelha de Eventos do Azure |
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 |
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.