Este princípio no pilar de otimização de desempenho do Google Cloud Well-Architected Framework fornece recomendações para ajudar você a planejar recursos para suas cargas de trabalho em 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 de negócios, é importante definir os requisitos de desempenho dos aplicativos antes do design e 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, é necessário considerar a capacidade de processamento e as operações de E/S por segundo (IOPS) que os aplicativos precisam.
Desde o início, planeje 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 de cada carga de trabalho variam e dependem do tipo de carga de trabalho. Cada carga de trabalho pode conter uma combinação de sistemas e serviços de componentes que têm 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 de área de trabalho virtual interativa. Suas estratégias de otimização precisam atender às necessidades específicas de cada carga de trabalho.
Selecione serviços e recursos que estejam alinhados às metas de desempenho de cada carga de trabalho. Para otimização de desempenho, não há uma solução única. Ao otimizar cada carga de trabalho, todo o sistema pode alcançar desempenho 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 que você priorize a baixa latência para os usuários finais, siga os regulamentos de localidade de dados e garanta a disponibilidade de produtos e serviços Google Cloud 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 do Google Cloud, os backbones de alta velocidade, os locais de interconexão e os serviços de armazenamento em cache.
- Opções de hospedagem de aplicativos: ao selecionar uma plataforma de hospedagem, você deve avaliar 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 requisitos de desempenho.
- Configurações de recursos: o tipo de máquina, as IOPS e a capacidade de processamento podem ter um impacto significativo no desempenho. 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 desempenho necessárias para 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 poder de processamento. A alocação excessiva pode levar a despesas desnecessárias, enquanto a alocação insuficiente pode resultar em degradação do desempenho.
Para acomodar o escalonamento elástico e garantir que recursos adequados estejam disponíveis, monitore regularmente a capacidade das cotas. Além disso, acompanhe o uso da cota para identificar possíveis restrições de escalonamento ou problemas de alocação excessiva e, em seguida, tome decisões fundamentadas sobre a alocação de recursos.
Educar e promover a conscientização
Informe seus usuários sobre os requisitos de desempenho e forneça recursos educacionais sobre técnicas eficazes de gerenciamento de desempenho.
Para avaliar o progresso e identificar áreas de melhoria, documente regularmente o desempenho esperado e o desempenho 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 Cloud Monitoring para analisar tendências nas métricas de desempenho, analisar os efeitos de 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 a utilização de recursos. Essas recomendações podem ajudar você a ajustar a alocação de recursos e melhorar o desempenho.