Projetar para soluções do Azure Functions

Concluído

O Azure Functions é uma plataforma de aplicativos sem servidor. As funções são usadas quando você deseja executar um pequeno pedaço de código na nuvem, sem se preocupar com a infraestrutura.

Coisas a saber sobre o Azure Functions

Vamos analisar alguns benefícios e cenários do Azure Functions que o tornam uma ótima solução de computação para criar novas cargas de trabalho.

Flowchart for selecting Azure Functions solutions to build new workloads.

  • O Azure Functions fornece escalabilidade intrínseca. É cobrado apenas pelos recursos que utiliza.

  • Com o Azure Functions, você pode escrever seu código de função no idioma de sua escolha.

  • O Azure Functions dá suporte à computação sob demanda de duas maneiras significativas:

    • O Azure Functions permite implementar a lógica do seu sistema em blocos de código prontamente disponíveis. Esses blocos de código (funções) podem ser executados sempre que você precisar responder a eventos críticos.

    • À medida que as solicitações aumentam, o Azure Functions atende à demanda com tantos recursos e instâncias de função quanto necessário. À medida que as solicitações são concluídas, todos os recursos extras e instâncias do aplicativo são retirados automaticamente.

  • O Azure Functions é uma solução ideal para lidar com ações específicas definíveis acionadas por um evento. Uma função pode processar uma chamada de API e armazenar os dados processados no Azure Cosmos DB. Depois que a transferência de dados acontece, outra função pode disparar uma notificação.

    Diagram that shows how Azure Functions responds to API calls and outputs data to Azure Notification Hubs.

Coisas a considerar ao usar o Azure Functions

Vamos examinar algumas práticas recomendadas para usar o Azure Functions. Ao considerar essas sugestões, pense nas vantagens de usar o Azure Functions na infraestrutura do Tailwind Traders.

  • Considere funções de longa duração. Evite funções grandes e de longa duração que podem causar problemas inesperados de tempo limite. Sempre que possível, refatore funções grandes em conjuntos de funções menores que trabalham juntos e retornam respostas mais rapidamente. O tempo limite padrão é de 300 segundos para as funções do Plano de Consumo e de 30 minutos para qualquer outro plano.

  • Considere funções duráveis. Supere problemas de tempo limite em sua configuração com funções duráveis e conjuntos de funções menores. As funções duráveis permitem-lhe escrever funções com monitoração de estado. Nos bastidores, a função gerencia o estado do aplicativo, os pontos de verificação e as reinicializações. Um exemplo de padrão de aplicação para funções duráveis é o encadeamento de funções. O encadeamento de funções executa uma sequência de funções em uma ordem específica. A saída de uma função é aplicada à entrada de outra função.

  • Considere o desempenho e o dimensionamento. Planeje como agrupar funções com diferentes perfis de carga. Considere um cenário em que você tenha duas funções. Uma função processa muitos milhares de mensagens em fila e tem baixos requisitos de memória. A outra função é chamada apenas ocasionalmente, mas tem altos requisitos de memória. Nesse cenário, talvez você queira implantar aplicativos de função separados, onde cada função tem seu próprio conjunto de recursos. Recursos separados significa que você pode dimensionar as funções de forma independente.

  • Considere as funções defensivas. Projete suas funções para lidar com exceções. Serviços downstream, interrupções de rede ou limites de memória podem fazer com que uma função falhe. Escreva suas funções para que elas possam continuar se ocorrer uma falha.

  • Considere não compartilhar contas de armazenamento. Maximize o desempenho usando uma conta de armazenamento separada para cada aplicativo de função. Ao criar um aplicativo funcional, associe-o a uma conta de armazenamento exclusiva. Usar uma conta de armazenamento exclusiva é importante se sua função gerar um alto volume de transações de armazenamento.

Aplicação de negócios

Reserve alguns minutos para ler sobre outras práticas recomendadas do Azure Functions.

Você pode obter mais ideias sobre como usar o Azure Functions verificando a página de exemplos de código.