Desenvolvimento e implementação de aplicações
Examine padrões e práticas de desenvolvimento de aplicativos, configure os Pipelines do Azure e implemente as práticas recomendadas de SRE (engenharia de confiabilidade do site). O SRE é uma abordagem de engenharia de software para desenvolvimento e implantação de aplicativos, gerenciamento de alterações, monitoramento e resposta a emergências.
Planeje, treine e comprove
Use a lista de verificação a seguir e os recursos de desenvolvimento de aplicativos para planejar o desenvolvimento e a implantação de aplicativos. Você deve ser capaz de responder a estas perguntas:
- Você preparou seu ambiente de desenvolvimento de aplicativos e fluxo de trabalho de configuração?
- Como você estruturará a pasta do projeto para dar suporte ao desenvolvimento de aplicativos Kubernetes?
- Você identificou os requisitos de estado, configuração e armazenamento do seu aplicativo?
Lista de verificação SRE
Prepare seu ambiente de desenvolvimento. Configure seu ambiente com as ferramentas para criar contêineres e configurar seu fluxo de trabalho de desenvolvimento.
Para mais informações, consulte:
Contentores da sua aplicação. Familiarize-se com a experiência completa de desenvolvimento do Kubernetes, incluindo scaffolding de aplicativos, fluxos de trabalho de loop interno, estruturas de gerenciamento de aplicativos, pipelines de CI/CD, agregação de logs, monitoramento e métricas de aplicativos.
Para saber mais, veja:
Analise cenários comuns do Kubernetes. O Kubernetes é muitas vezes considerado como uma plataforma para fornecer microsserviços, mas está se tornando uma plataforma mais ampla. Para obter mais informações sobre cenários comuns do Kubernetes, como análise em lote e fluxo de trabalho, consulte Visão geral de cenários comuns do Kubernetes (vídeo).
Prepare seu aplicativo para o Kubernetes. Prepare o layout do sistema de arquivos do aplicativo para o Kubernetes e organize versões semanais ou diárias. Saiba como o processo de implantação do Kubernetes permite atualizações confiáveis e sem tempo de inatividade.
Para mais informações, consulte:
Gerencie o armazenamento de aplicativos. Compreenda as necessidades de desempenho e os métodos de acesso para pods para que você possa fornecer as opções de armazenamento apropriadas. Planeje maneiras de fazer backup e testar o processo de restauração para armazenamento anexado.
Para saber mais, veja:
Gerencie segredos de aplicativos. Use um cofre de chaves para armazenar e recuperar chaves e credenciais. Não armazene credenciais no código do aplicativo.
Para mais informações, consulte:
Implante na produção e aplique as práticas recomendadas
Ao preparar o aplicativo para produção, use a lista de verificação a seguir. Você deve ser capaz de responder a estas perguntas:
- Você pode monitorar todos os aspetos do seu aplicativo?
- Você definiu requisitos de recursos para seu aplicativo? E quanto aos requisitos de escala?
- É possível implantar novas versões do aplicativo sem afetar os sistemas de produção?
Lista de verificação de práticas recomendadas SRE
Configure verificações de integridade de prontidão e vivacidade. O Kubernetes usa verificações de prontidão e vivacidade para saber quando seu aplicativo está pronto para receber tráfego e quando ele precisa ser reiniciado. Quando você não define verificações, o Kubernetes não pode determinar se seu aplicativo está em execução. Para obter mais informações, consulte Verificações de vivacidade e prontidão.
Configure o registro em log, o monitoramento de aplicativos e os alertas. Monitorar seus contêineres é fundamental, especialmente quando você executa um cluster de produção, em escala, com vários aplicativos. O método de log recomendado para aplicativos em contêineres é gravar nos fluxos de saída padrão () e erro padrão (
stdout
stderr
).Para mais informações, consulte:
Defina os requisitos de recursos para o aplicativo. Uma maneira principal de gerenciar os recursos de computação dentro de um cluster Kubernetes é usar solicitações e limites de pod. Essas solicitações e limites informam ao agendador do Kubernetes quais recursos de computação atribuir a um pod. Para obter mais informações, consulte Definir solicitações e limites de recursos de pod.
Configure os requisitos de dimensionamento de aplicativos. O Kubernetes suporta dimensionamento automático horizontal de pods para ajustar o número de pods numa implementação, consoante a utilização da CPU ou de outras métricas selecionadas. Para usar o autoscaler, todos os contêineres em seus pods devem ter solicitações de CPU e limites definidos. Para saber mais, consulte Configurar o dimensionamento automático de pods horizontais.
Implante aplicativos usando um pipeline automatizado e DevOps. A automação completa de todas as etapas entre a confirmação de código e a implantação de produção permite que as equipes se concentrem na criação de código e remove a sobrecarga e o potencial erro humano nas etapas manuais. A implantação de novo código é mais rápida e menos arriscada, o que ajuda as equipes a se tornarem mais ágeis, mais produtivas e mais confiantes sobre seu código em execução.
Para saber mais, veja:
Otimize e dimensione
Agora que o aplicativo está em produção, use a lista de verificação de implantação do aplicativo para otimizar seu fluxo de trabalho e preparar seu aplicativo e sua equipe para escalar. Você deve ser capaz de responder a estas perguntas:
- As preocupações transversais com a aplicação são abstraídas da sua aplicação?
- Você é capaz de manter a confiabilidade do sistema e do aplicativo, enquanto ainda itera em novos recursos e versões?
Lista de verificação de implantação de aplicativos
Implante um gateway de API. Um gateway de API serve como um ponto de entrada para microsserviços, separa clientes de seus microsserviços, adiciona outra camada de segurança e diminui a complexidade de seus microsserviços, removendo a carga de lidar com preocupações transversais. Para obter mais informações, consulte Usar o Gerenciamento de API do Azure com microsserviços implantados no Serviço Kubernetes do Azure.
Implante uma malha de serviço. Uma malha de serviços fornece recursos para suas cargas de trabalho, como gerenciamento de tráfego, resiliência, política, segurança, identidade forte e observabilidade. Seu aplicativo é dissociado desses recursos operacionais e a malha de serviço os move para fora da camada de aplicativo e para baixo para a camada de infraestrutura.
Para mais informações, consulte:
Implementar práticas de SRE. O SRE é uma abordagem comprovada que mantém a confiabilidade crucial do sistema e do aplicativo e itera na velocidade que o mercado exige.
Para saber mais, veja: