Estrutura de arquitetura do Google Cloud: otimização de desempenho

Last reviewed 2021-10-08 UTC

Neste documento, o framework de arquitetura do Google Cloud descreve as práticas recomendadas para otimizar o desempenho de suas cargas de trabalho no Google Cloud.

Estratégias

Avalie os requisitos de desempenho. Determine a prioridade dos seus vários aplicativos e o desempenho mínimo necessário para eles.

Use padrões de design escalonáveis. Melhore a escalabilidade e o desempenho com escalonamento automático, opções de computação e configurações de armazenamento.

Práticas recomendadas

  • Use o escalonamento automático e o processamento de dados.
  • Use GPUs e TPUs para melhorar o desempenho.
  • Identifique os aplicativos a serem ajustados.

Usar escalonamento automático e processamento de dados

Use o escalonamento automático para que, conforme a carga aumenta ou diminui, os serviços adicionam ou liberam recursos para corresponder.

Escalonamento automático do Compute Engine

Os grupos gerenciados de instâncias (MIGs, na sigla em inglês) permitem escalonar os apps sem estado em várias VMs idênticas, de modo que um grupo de recursos do Compute Engine seja iniciado com base em um modelo de instância. É possível configurar uma política de escalonamento automático para escalonar o grupo com base na utilização da CPU, na capacidade de balanceamento de carga, nas métricas do Cloud Monitoring, programações e, para MIGs zonais, por uma carga de trabalho baseada em fila, como Pub/Sub.

Escalonamento automático do Google Kubernetes Engine

Use o recurso do escalonador automático de cluster no Google Kubernetes Engine (GKE) para gerenciar o pool de nós do cluster com base na demanda variável das cargas de trabalho. O escalonador automático de cluster aumenta ou diminui o tamanho do pool de nós automaticamente com base nas solicitações de recursos dos usuários em execução nos nós do conjunto de nós, em vez da utilização real de recursos.

Escalonamento automático sem servidor

As opções de computação sem servidor incluem Cloud Run, App Engine e Cloud Functions, cada uma com recursos de escalonamento automático. Use essas opções sem servidor para escalonar seus microsserviços ou funções.

Processamento de dados

O Dataproc e o Dataflow oferecem opções de escalonamento automático para escalonar os pipelines e o processamento de dados. Use essas opções para permitir que os pipelines acessem mais recursos de computação com base na carga de processamento.

Perguntas sobre o projeto

  • Quais dos seus aplicativos têm requisitos variáveis de carga ou processamento?
  • Qual dos seus pipelines de processamento de dados tem requisitos de dados variáveis?

Recomendações

  • Use os balanceadores de carga do Google Cloud para fornecer um endpoint global.
  • Use grupos de instâncias gerenciadas com o Compute Engine para escalonar automaticamente.
  • Use o escalonador automático de cluster no GKE para escalonar automaticamente o cluster.
  • Use o App Engine para escalonar automaticamente seu aplicativo de plataforma como serviço (PaaS, na sigla em inglês).
  • Use o Cloud Run ou o Cloud Functions para escalonar automaticamente sua função ou microsserviço.

Principais serviços

Recursos

Usar GPUs e TPUs para melhorar o desempenho

O Google Cloud oferece opções para acelerar o desempenho das suas cargas de trabalho. É possível usar essas plataformas de hardware especializados para aumentar o desempenho do aplicativo e do processamento de dados.

Unidade de processamento gráfico (GPU)

O Compute Engine fornece GPUs que podem ser adicionadas às instâncias da máquina virtual. Use essas GPUs para acelerar cargas de trabalho específicas nas instâncias, como aprendizado de máquina e processamento de dados.

Unidade de processamento de Tensor (TPU)

Uma TPU é projetada especificamente como um processador de matriz pelo Google para cargas de trabalho de aprendizado de máquina. As TPUs são mais adequadas para operações de matriz em massa com um grande pipeline, com acesso à memória significativamente menor.

Recursos

Identificar apps para ajustar

O Gerenciamento de desempenho de aplicativos (APM, na sigla em inglês) inclui ferramentas para ajudar a reduzir a latência e o custo, para que você possa executar aplicativos mais eficientes. Com o Cloud Trace, o Cloud Debugger e o Cloud Profiler, você recebe insights sobre como o código e os serviços funcionam e pode solucionar problemas, se necessário.

Instrumentação

A latência desempenha um grande papel para determinar a experiência dos usuários. Quando o back-end do aplicativo começa a ficar complexo ou você começa a adotar a arquitetura de microsserviços, é difícil identificar latências entre a comunicação entre serviços ou identificar gargalos. As ferramentas Cloud Trace e OpenTelemetry ajudam você a escalonar a coleta de dados de latência de implantações e analisá-las rapidamente.

Como depurar

O Cloud Debugger ajuda você a inspecionar e analisar o comportamento do código de produção em tempo real, sem afetar o desempenho dele ou diminuí-lo.

Criação de perfil

O código com baixo desempenho aumenta a latência e o custo de aplicativos e serviços da Web. O Cloud Profiler ajuda você a identificar e abordar o desempenho analisando continuamente o desempenho de funções com uso intensivo de CPU ou memória executadas em um aplicativo.

Recomendações

  • Use o Cloud Trace para instrumentar seus aplicativos.
  • Use o Cloud Debugger para fornecer recursos de depuração de produção em tempo real.
  • Use o Cloud Profiler para analisar o desempenho operacional dos aplicativos.

A seguir

Conheça as outras categorias do Framework da arquitetura do Google Cloud.