Desenvolvimento e implementação de aplicações

Para desenvolver e implantar aplicativos sem servidor com o Azure Functions, examine padrões e práticas, configure pipelines de DevOps e implemente práticas recomendadas de SRE (engenharia de confiabilidade de site).

Para obter informações detalhadas sobre arquiteturas sem servidor e Azure Functions, consulte:

Planeamento

Para planejar o desenvolvimento e a implantação de aplicativos:

  1. Prepare o ambiente de desenvolvimento e configure o fluxo de trabalho.
  2. Estruture projetos para dar suporte ao desenvolvimento do aplicativo Azure Functions.
  3. Identifique gatilhos de aplicativos, associações e requisitos de configuração.

Compreender a arquitetura orientada a eventos

Um evento diferente dispara cada função em um projeto Functions sem servidor. Para obter mais informações sobre arquiteturas controladas por eventos, consulte:

Preparar o ambiente de desenvolvimento

Configure seu fluxo de trabalho e ambiente de desenvolvimento com as ferramentas para criar Funções. Para obter detalhes sobre ferramentas de desenvolvimento e estrutura de projeto de código do Functions, consulte:

Desenvolvimento

Decida qual a linguagem de desenvolvimento a ser usada. O Azure Functions suporta C#, F#, PowerShell, JavaScript, TypeScript, Java e Python. Todas as funções de um projeto devem estar na mesma linguagem. Para obter mais informações, consulte Idiomas com suporte no Azure Functions.

Definir gatilhos e ligações

Um gatilho invoca uma Função e cada Função deve ter exatamente um gatilho. A vinculação a uma Função conecta declarativamente outro recurso à Função. Para obter mais informações sobre acionadores e associações de funções, consulte:

Criar o aplicativo Functions

As funções seguem o princípio da responsabilidade única: fazer apenas uma coisa. Para obter mais informações sobre o desenvolvimento de funções, consulte:

Usar funções duráveis para fluxos de trabalho com monitoração de estado

As Funções Duráveis no Azure Functions permitem definir fluxos de trabalho com monitoração de estado em um ambiente sem servidor escrevendo funções de orquestrador e entidades com estado escrevendo funções de entidade. As funções duráveis gerenciam o estado, os pontos de verificação e as reinicializações, permitindo que você se concentre na lógica de negócios. Para obter mais informações, consulte O que são funções duráveis.

Compreender e resolver o problema dos arranques a frio

Se o número de instâncias de host sem servidor for reduzido a zero, a próxima solicitação terá a latência adicional de reiniciar o aplicativo Function, chamado de cold start. Para minimizar o impacto no desempenho de arranques a frio, reduza as dependências que a aplicação Functions precisa de carregar no arranque e utilize o menor número possível de chamadas e operações grandes e síncronas. Para obter mais informações sobre dimensionamento automático e partidas a frio, consulte Operações de funções sem servidor.

Gerir segredos da aplicação

Por motivos de segurança, não armazene credenciais no código do aplicativo. Para usar o Cofre de Chaves do Azure com o Azure Functions para armazenar e recuperar chaves e credenciais, consulte Usar referências do Cofre de Chaves para o Serviço de Aplicativo e o Azure Functions.

Para obter mais informações sobre a segurança do aplicativo Serverless Functions, consulte Segurança do Serverless Functions.

Implementação

Para preparar o aplicativo Functions sem servidor para produção, certifique-se de que:

  • Cumpra os requisitos de recursos do aplicativo.
  • Monitore todos os aspetos do aplicativo.
  • Diagnostique e solucione problemas de aplicativos.
  • Implante novas versões de aplicativos sem afetar os sistemas de produção.

Definir tecnologia de implantação

Decida sobre a tecnologia de implantação e organize versões agendadas. Para obter mais informações sobre como a implantação do aplicativo Functions permite atualizações confiáveis sem tempo de inatividade, consulte Tecnologias de implantação no Azure Functions.

Evite usar muitas conexões de recursos

As funções em um aplicativo do Functions compartilham recursos, incluindo conexões com HTTPS, bancos de dados e serviços, como o Armazenamento do Azure. Quando muitas funções estão sendo executadas simultaneamente, é possível ficar sem conexões disponíveis. Para obter mais informações, consulte Gerenciar conexões no Azure Functions.

Configurar registro, alertas e monitoramento de aplicativos

O Application Insights no Azure Monitor coleta dados de log, desempenho e erro. O Application Insights deteta automaticamente anomalias de desempenho e inclui poderosas ferramentas de análise para ajudar a diagnosticar problemas e entender o uso da função.

Para obter mais informações sobre monitoramento e registro em log de aplicativos, consulte:

Diagnosticar e solucionar problemas

Saiba como usar efetivamente o diagnóstico para solução de problemas em cenários proativos e que priorizam problemas. Para mais informações, consulte:

Implante aplicativos usando um pipeline automatizado e DevOps

A automação completa de todas as etapas, desde a confirmação do código até a implantação da produção, permite que as equipes se concentrem na criação de código e remove a sobrecarga e o potencial erro humano das etapas manuais. A implantação de novo código é mais rápida e menos arriscada, ajudando as equipes a se tornarem mais ágeis, mais produtivas e mais confiantes em relação ao seu código.

Para obter mais informações sobre DevOps e implantação contínua (CD), consulte:

Otimização

Quando o aplicativo estiver em produção, prepare-se para dimensionamento e implemente a engenharia de confiabilidade do local (SRE).

Garanta a escalabilidade ideal

Para obter informações sobre fatores que afetam a escalabilidade do aplicativo Functions, consulte:

Implementar práticas SRE

A Engenharia de Confiabilidade de Site (SRE) é uma abordagem comprovada para manter a confiabilidade crucial do sistema e do aplicativo, enquanto itera na velocidade que o mercado exige. Para mais informações, consulte:

Próximos passos

Para obter instruções práticas de desenvolvimento e implantação do aplicativo Functions sem servidor, consulte:

Para obter um manual de engenharia para ajudar equipes e clientes a implementar com sucesso projetos de funções sem servidor, consulte o Code-With Customer/Partner Engineering Playbook.