Para qualquer tipo de escalonamento, considere a arquitetura do aplicativo e as otimizações possíveis. Por exemplo, o conteúdo estático precisa ser exibido de redes otimizadas de fornecimento de conteúdo que oferecem benefícios de preço e desempenho. O armazenamento em cache extra para o back-end de armazenamento de dados também pode melhorar o desempenho e minimizar os requisitos de escalonamento caro.
Testes de desempenho e comparativos de mercado
O comparativo de mercado e o teste de desempenho podem identificar possíveis gargalos de desempenho durante o desenvolvimento, monitorar tendências ao longo do tempo e apoiar a tomada de decisões comparando arquiteturas, pilhas de tecnologia, provedores de nuvem ou outras opções.
O teste de carga usa tipos predeterminados e controlados de carga, tráfego ou dados para medir o desempenho do back-end em relação aos destinos. Veja como vários níveis de carga afetam o desempenho do aplicativo.
Os testes de escalonabilidade têm como foco analisar a capacidade do aplicativo de escalonar verticalmente. O teste de escalonabilidade mostra como o aplicativo responde a aumentos de cargas e como o back-end (incluindo o armazenamento de dados) se adapta.
Defina objetivos claros antes de começar a comparar o aplicativo, incluindo desempenho e velocidade (por exemplo, latência, capacidade, velocidade), utilização de recursos (uso de CPU, uso de memória, tráfego de rede entre componentes de back-end) e custo. Considere qualquer atraso no escalonamento, por exemplo, se o aplicativo precisar escalonar além de um conjunto alocado de recursos de "reserva" quando ocorrerem bursts ou picos no tráfego.
Muitas ferramentas estão disponíveis para comparativos de mercado e testes de desempenho, como o Apache FHIR e o Locust (links em inglês). Ao selecionar uma ferramenta de teste, considere os tipos de testes disponíveis, incluindo se você precisa de suporte para script, integrações de ambiente de desenvolvimento integrado para depuração, outros plug-ins ou suporte para o tipo de tráfego e escala a serem testados.
Se estiver usando um provedor de nuvem, determine se há outros requisitos ou práticas recomendadas para qualquer teste de carga a fim de evitar possíveis restrições. Por exemplo, considere as práticas recomendadas para o Cloud Run.
Considerações sobre custo e desempenho
Embora o escalonamento vertical seja essencial para melhorar o desempenho, a redução também precisa ser considerada para minimizar os custos. Considere o custo básico do seu aplicativo de back-end sem solicitações e o custo envolvido no escalonamento vertical do aplicativo.
As arquiteturas locais ou baseadas no servidor podem ter custos fixos, independentemente da utilização. Alguns ambientes de nuvem permitem que você "escalone para zero" para evitar custos quando nenhuma solicitação for feita. Os provedores de nuvem oferecem calculadoras para que você explore diferentes configurações e estratégias de preços, como pré-compromissos de recursos.