Desenvolvimento e implantação de aplicativos
Examine padrões e práticas de desenvolvimento de aplicativos, configure o Azure Pipelines e implemente as melhores práticas de SRE (engenharia de confiabilidade de site). SRE é uma abordagem de engenharia de software para desenvolvimento e implantação de aplicativos, gerenciamento de mudanças, monitoramento e resposta a emergências.
Planejar, treinar e verificar
Use a lista de verificação e os recursos de desenvolvimento de aplicativos a seguir para planejar o desenvolvimento e a implantação de aplicativos. Você deve conseguir responder a estas perguntas:
- Você preparou o ambiente de desenvolvimento de aplicativos e o fluxo de trabalho de instalação?
- Como você vai 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 saber mais, veja:
Conteinerize seu aplicativo. Familiarize-se com a experiência completa de desenvolvimento do Kubernetes, incluindo andaimes 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 obter mais informações, consulte:
Revise os cenários comuns do Kubernetes. O Kubernetes é frequentemente considerado 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-o para versões semanais ou diárias. Saiba como o processo de implantação do Kubernetes permite atualizações confiáveis, sem tempo de inatividade.
Para saber mais, veja:
Gerencie o armazenamento de aplicativos. Entenda 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 o armazenamento anexado.
Para obter mais informações, consulte:
Gerencie os segredos do aplicativo. Use um cofre de chaves para armazenar e recuperar chaves e credenciais. Não armazene as credenciais no código do aplicativo.
Para saber mais, veja:
Implantação em produção e aplicação das melhores práticas
Ao preparar o aplicativo para produção, use a lista de verificação a seguir. Você deve conseguir responder a estas perguntas:
- Você pode monitorar todos os aspectos do aplicativo?
- Você definiu os requisitos de recursos do aplicativo? E quanto aos requisitos de escala?
- Você pode implantar novas versões do aplicativo sem afetar os sistemas de produção?
Lista de verificação de práticas recomendadas de SRE
Configure verificações de integridade de preparação e de atividade. O Kubernetes usa verificações de preparação e de atividade para saber quando o 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, confira Verificações de preparação e de atividade.
Configure o log, o monitoramento de aplicativos e os alertas. O monitoramento de 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 conteinerizados é a gravação nos fluxos de saída padrão (
stdout
) e de erro padrão (stderr
).Para saber mais, veja:
Defina os requisitos de recurso para o aplicativo. Uma das principais maneiras de gerenciar os recursos de computação em um cluster de Kubernetes é usar solicitações e limites de pod. Essas solicitações e limites informam ao agendador do Kubernetes quais recursos de computação devem ser atribuídos a um pod. Para obter mais informações, confira Definir limites e solicitações de recursos de pods.
Configure os requisitos de escala do aplicativo. O Kubernetes dá suporte a dimensionamento automático horizontal de pods, para ajustar o número de pods em uma implantação dependendo da utilização da CPU ou de outras métricas selecionadas. Para usar o dimensionador automático, todos os contêineres nos pods precisam ter solicitações de CPU e limites definidos. Para saber mais, confira Configurar o dimensionamento automático horizontal do pod.
Implante aplicativos usando um pipeline automatizado e DevOps. A automação completa de todas as etapas entre o commit de código e a implantação em produção permite que as equipes se concentrem na criação de código e remove a sobrecarga e possíveis erros humanos em etapas manuais. A implantação de um 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 o código em execução.
Para obter mais informações, consulte:
Otimizar e dimensionar
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 conseguir responder a estas perguntas:
- As preocupações transversais em relação ao aplicativo foram eliminadas do aplicativo?
- Você consegue manter a confiabilidade do sistema e do aplicativo, iterando em novos recursos e novas versões?
Lista de verificação de implantação do aplicativo
Implante um gateway de API. Um gateway de API serve como ponto de entrada para microsserviços, separa os clientes dos microsserviços, adiciona outra camada de segurança e diminui a complexidade dos microsserviços, removendo a carga de lidar com preocupações transversais. Para obter mais informações, confira Usar o Gerenciamento de API do Azure com microsserviços implantados no Serviço de Kubernetes do Azure.
Implante uma malha de serviço. Uma malha de serviço fornece recursos para suas cargas de trabalho, como gerenciamento de tráfego, resiliência, política, segurança, identidade forte e observabilidade. Seu aplicativo é desacoplado desses recursos operacionais, e a malha de serviço os move para fora da camada de aplicativo e para a camada de infraestrutura.
Para saber mais, veja:
- Como as malhas de serviço funcionam no Kubernetes (vídeo)
- Saiba mais sobre as malhas de serviço
- Usar o Open Service Mesh com o Serviço de Kubernetes do Azure
- Usar o Istio com o Serviço de Kubernetes do Azure
- Usar o Linkerd com o Serviço de Kubernetes do Azure
- Usar o Consul com o Serviço de Kubernetes do Azure
- Como as malhas de serviço funcionam no Kubernetes (vídeo)
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 obter mais informações, consulte: