Esse princípio no pilar de otimização de performance do Google Cloud Well-Architected Framework fornece recomendações para ajudar você a planejar recursos para suas cargas de trabalho no Google Cloud. Ele enfatiza a importância de definir requisitos granulares antes de projetar e desenvolver aplicativos para implantação ou migração na nuvem.
Visão geral do princípio
Para atender aos requisitos da sua empresa, é importante definir os requisitos de desempenho dos aplicativos antes do design e do desenvolvimento. Defina esses requisitos da maneira mais granular possível para o aplicativo como um todo e para cada camada da pilha de aplicativos. Por exemplo, na camada de armazenamento, você precisa considerar a capacidade de processamento e as operações de E/S por segundo (IOPS) que os aplicativos precisam.
Desde o início, planeje os designs de aplicativos com desempenho e escalonabilidade em mente. Considere fatores como o número de usuários, o volume de dados e o crescimento potencial ao longo do tempo.
Os requisitos de desempenho para cada carga de trabalho variam e dependem do tipo de carga. Cada carga de trabalho pode conter uma combinação de sistemas e serviços de componentes com conjuntos exclusivos de características de desempenho. Por exemplo, um sistema responsável pelo processamento em lote periódico de grandes conjuntos de dados tem demandas de desempenho diferentes de uma solução interativa de área de trabalho virtual. Suas estratégias de otimização precisam atender às necessidades específicas de cada carga de trabalho.
Selecione serviços e recursos que se alinham às metas de performance de cada carga de trabalho. Não existe uma solução única para otimizar a performance. Ao otimizar cada carga de trabalho, todo o sistema pode alcançar performance e eficiência ideais.
Considere as seguintes características de carga de trabalho que podem influenciar seus requisitos de desempenho:
- Arquétipo de implantação: o arquétipo de implantação selecionado para um aplicativo pode influenciar a escolha de produtos e recursos, que determinam o desempenho esperado do aplicativo.
- Posicionamento de recursos: ao selecionar uma Google Cloud região para os recursos do aplicativo, recomendamos priorizar a baixa latência para os usuários finais, obedecer às regulamentações de localidade de dados e garantir a disponibilidade dos Google Cloud produtos e serviços necessários.
- Conectividade de rede: escolha serviços de rede que otimizem o acesso a dados e a entrega de conteúdo. Aproveite a rede global, os backbones de alta velocidade, os locais de interconexão e os serviços de armazenamento em cache do Google Cloud.
- Opções de hospedagem de aplicativos: ao selecionar uma plataforma de hospedagem, avalie as vantagens e desvantagens de desempenho de cada opção. Por exemplo, considere plataformas bare metal, máquinas virtuais, contêineres e sem servidor.
- Estratégia de armazenamento: escolha uma estratégia de armazenamento ideal com base nos seus requisitos de desempenho.
- Configurações de recursos: o tipo de máquina, as IOPS e a capacidade podem ter um impacto significativo na performance. Além disso, no início da fase de design, é necessário considerar os recursos de segurança adequados e o impacto deles nos recursos. Ao planejar recursos de segurança, esteja preparado para acomodar as compensações de performance necessárias e evitar efeitos imprevistos.
Recomendações
Para garantir a alocação ideal de recursos, considere as recomendações nas seções a seguir.
Configurar e gerenciar cotas
Verifique se o aplicativo usa apenas os recursos necessários, como memória, armazenamento e capacidade de processamento. A alocação excessiva pode gerar despesas desnecessárias, enquanto a alocação insuficiente pode resultar em degradação da performance.
Para acomodar o escalonamento elástico e garantir que recursos adequados estejam disponíveis, monitore regularmente a capacidade das suas cotas. Além disso, acompanhe o uso da cota para identificar possíveis restrições de escalonamento ou problemas de alocação excessiva e tome decisões embasadas sobre a alocação de recursos.
Educar e promover a conscientização
Informe os usuários sobre os requisitos de desempenho e ofereça recursos educativos sobre técnicas eficazes de gerenciamento de desempenho.
Para avaliar o progresso e identificar áreas de melhoria, documente regularmente a performance desejada e a real. Faça um teste de carga no aplicativo para encontrar possíveis pontos de interrupção e entender como escalonar o aplicativo.
Monitorar as métricas de desempenho
Use o Cloud Monitoring para analisar tendências em métricas de desempenho, os efeitos dos experimentos, definir alertas para métricas importantes e realizar análises retrospectivas.
O Active Assist é um conjunto de ferramentas que podem fornecer insights e recomendações para ajudar a otimizar o uso de recursos. Essas recomendações podem ajudar você a ajustar a alocação de recursos e melhorar a performance.