Como o Azure Functions funciona
- 3 minutos
Aqui, você aprenderá a usar o Azure Functions para desenvolver arquiteturas sem servidor e aproveitar as várias implementações de recursos que ele oferece.
Você também aprenderá mais sobre como o Azure Functions funciona. Informações que podem ajudar você a determinar como atender aos requisitos da sua organização aproveitando ao máximo o Azure Functions.
O Azure Functions é uma solução de computação sem servidor que permite que você escreva menos código. É uma oferta de Plataforma como Serviço para que você não precise se preocupar em hospedar seu aplicativo e economize nos custos.
O Azure Functions é uma ótima solução para processamento de dados, integração de sistemas, trabalho com a IoT (Internet das coisas) e criação de APIs e microsserviços simples.
Dimensionamento de aplicativos de função
O contexto no qual suas funções são executadas é chamado de aplicativo de funções. Um aplicativo de funções é uma unidade se implantação, gerenciamento e escala para suas funções. Todas as funções dentro de um aplicativo de funções compartilham as mesmas configurações e conexões.
Nos planos de Consumo e Premium, o Azure Functions dimensiona os recursos de CPU e memória adicionando mais instâncias de aplicativos de funções. O número de instâncias é determinado com base no número de eventos que disparam uma função. Como todas as funções dentro de um aplicativo de funções compartilham os recursos dentro de uma instância de aplicativo, elas são dimensionadas ao mesmo tempo.
Monitoramento do Azure Functions
O Azure Functions oferece integração interna com o Azure Application Insights para monitorar funções. O Application Insights coleta dados de log, desempenho e erros. Isso ajuda a detectar anomalias de desempenho, diagnosticar problemas e entender melhor como suas funções são usadas.
A instrumentação do Application Insights é incorporada ao Azure Functions. Com a integração do Application Insights, os dados telemétricos são enviados para sua instância do Application Insights conectada. Esses dados incluem logs gerados pelo host do Functions, rastreamentos gravados do seu código de funções e dados de desempenho.
Observação
Além dos dados de suas funções e do host do Functions, você também pode coletar dados do controlador de escala do Functions.
A imagem a seguir mostra um exemplo de como exibir dados no Application Insights para um aplicativo de funções.
Componentes do Azure Functions
A seguinte tabela descreve os principais componentes do Azure Functions:
| Componente | Descrição |
|---|---|
| Gatilhos de função | Os gatilhos fazem com que uma função seja executada. Um gatilho define como uma função é invocada. Uma função precisa ter exatamente um gatilho. |
| Associações de função | A associação a uma função é uma maneira de conectar declarativamente outro recurso à função; as associações podem ser conectadas como associações de entrada, associações de saída ou ambas. Dados de associações são fornecidos à função como parâmetros. Se você não quiser ou não puder usar associações, ainda poderá usar um SDK de cliente em suas funções ao se conectar a serviços. |
| Runtime de função | O Azure Functions atualmente oferece suporte várias versões do host de runtime. As funções também dão suporte a muitos runtimes diferentes, como .NET Core, Node.JavaScript, Java, PowerShell e Python. Durante o desenvolvimento, você pode instalar o runtime do Functions em seu computador local e executar funções localmente usando o Azure Functions Core Tools. |
| Gerenciamento de API (APIM) | O APIM fornece segurança e roteamento para seus pontos de extremidade de função disparados por HTTP como uma forma de expô-los como uma verdadeira API REST. |
| Slots de implantação | Os slots de implantação do Azure Functions permitem que seu aplicativo de funções execute instâncias diferentes chamadas slots. Os slots são ambientes diferentes expostos por meio de um ponto de extremidade publicamente disponível. Os slots fornecem uma maneira de testar uma nova versão de suas funções no Azure em um ambiente seguro e, em seguida, colocar com facilidade a nova versão em produção. |
| Configuração do aplicativo de funções | Cadeias de conexão, variáveis de ambiente e outras configurações de aplicativo são definidas separadamente para cada aplicativo de funções. Os valores de configurações do aplicativo de funções também podem ser lidos em seu código como variáveis de ambiente. |
Esses componentes funcionam juntos para fornecer uma plataforma completa de ponta a ponta para engenheiros de aplicativos e DevOps desenvolverem arquiteturas sem servidor usando o Azure Functions.