Como funciona o Azure Functions
Aqui, você aprende sobre como pode usar o Azure Functions para desenvolver arquiteturas sem servidor e usar as várias implementações de recursos que ele fornece.
Você também sabe mais sobre como o Azure Functions funciona. Informações que podem ajudá-lo a determinar como atender aos requisitos da sua organização fazendo o melhor uso do Azure Functions.
O Azure Functions é uma solução de computação sem servidor que permite escrever menos código. É uma oferta de plataforma como serviço para que você não precise se preocupar em hospedar seu aplicativo e economizar custos.
Funções do Azure é uma excelente solução para processar dados, integrar sistemas, trabalhar com a Internet das Coisas (IoT) e a criação de API simples e micro-serviços.
Dimensionamento de aplicativos de função
O contexto no qual suas funções são executadas é chamado de aplicativo de função. Um aplicativo de função é uma unidade de implantação, gerenciamento e dimensionamento para suas funções. Todas as funções dentro de um aplicativo de função compartilham as mesmas configurações e conexões.
Nos planos Consumo e Premium, o Azure Functions dimensiona recursos de CPU e memória adicionando mais instâncias de aplicativo de função. O número de instâncias é determinado com base no número de eventos que acionam uma função. Como todas as funções dentro de um aplicativo de função compartilham os recursos em 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 recolhe dados de registo, desempenho e erro. Ele ajuda você a detetar 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 de telemetria são enviados para sua instância conectada do Application Insights. Esses dados incluem logs gerados pelo host Functions, rastreamentos gravados a partir do código de funções e dados de desempenho.
Nota
Além dos dados de suas funções e do host de funções, você também pode coletar dados do controlador de escala de funções.
A imagem a seguir mostra um exemplo de como exibir dados no Application Insights para um aplicativo de função.
Componentes do Azure Functions
A tabela a seguir descreve os principais componentes do Azure Functions:
Componente | Description |
---|---|
Gatilhos de função | Os gatilhos são o que fazem com que uma função seja executada. Um acionador define como uma função é invocada. Uma função tem de ter exatamente um acionador. |
Ligações de função | A vinculação a uma função é uma forma de conectar declarativamente outro recurso à função; As ligações podem ser conectadas como ligações de entrada, ligações de saída ou ambas. Os dados de enlaces 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. |
Tempo de execução da função | Atualmente, o Azure Functions dá suporte a várias versões do host de tempo de execução. As funções também suportam muitos tempos de execução diferentes, como .NET Core, Node.JavaScript, Java, PowerShell e Python. Durante o desenvolvimento, você pode instalar o tempo de execução do Functions em seu computador local e executar funções localmente usando as Ferramentas Principais do Azure Functions. |
Gerenciamento de API (APIM) | O APIM fornece segurança e roteamento para seus pontos de extremidade de função acionados por HTTP como uma maneira de expô-los como uma verdadeira API REST. |
Blocos de implementação | Os slots de implantação do Azure Functions permitem que seu aplicativo de função execute diferentes instâncias chamadas slots. Os slots são ambientes diferentes expostos por meio de um ponto de extremidade disponível publicamente. Os slots fornecem uma maneira de testar uma nova versão de suas funções no Azure em um ambiente seguro e, em seguida, trocar perfeitamente a nova versão para produção. |
Configuração do aplicativo de função | Cadeias de conexão, variáveis de ambiente e outras configurações de aplicativo são definidas separadamente para cada aplicativo de função. Os valores das configurações do aplicativo de função podem ser lidos no código como variáveis de ambiente. |
Esses componentes trabalham juntos para fornecer uma plataforma completa de ponta a ponta para engenheiros de aplicativos e DevOps desenvolverem arquiteturas sem servidor usando o Azure Functions.