Recomendações para o planeamento de capacidade

Aplica-se a esta recomendação de lista de verificação de Eficiência de Desempenho do Azure Well-Architected Framework:

PE:02 Realizar planeamento de capacidade. O planeamento da capacidade deve ser feito antes de existirem alterações previstas nos padrões de utilização. As alterações previstas incluem variações sazonais, atualizações de produtos, campanhas de marketing, eventos especiais ou alterações regulamentares.

Este guia descreve as recomendações para o planeamento de capacidade. O planeamento da capacidade refere-se ao processo de determinação dos recursos necessários para cumprir os objetivos de desempenho da carga de trabalho. Envolve estimar a quantidade de recursos de computação, como CPU, memória, armazenamento e largura de banda de rede necessárias para suportar os requisitos de desempenho da carga de trabalho. O planeamento da capacidade ajuda a evitar o subaprovisionamento e garante que a carga de trabalho tem recursos suficientes para lidar com as exigências esperadas da carga de trabalho sem sofrer degradação do desempenho ou estrangulamentos. Também ajuda a evitar o sobreaprovisionamento e os custos desnecessários. A falta de planeamento de capacidade pode levar a problemas de desempenho, estrangulamentos de recursos, aumento dos custos, alocação ineficiente, desafios de escalabilidade e desempenho imprevisível da carga de trabalho.

Definições

Termo Definição
Planeamento de capacidade O processo de previsão dos recursos de que uma carga de trabalho precisa para cumprir os respetivos objetivos de desempenho.
Requisitos funcionais As funcionalidades e capacidades que uma carga de trabalho tem de ter para cumprir o objetivo pretendido.
Requisitos técnicos O código e a infraestrutura necessários para cumprir os requisitos funcionais.
Análise de tendências Análise histórica de dados para prever a procura futura.

Principais estratégias de design

O planeamento de capacidade é um processo orientado para o futuro que envolve tomar decisões com base nas exigências e padrões previstos da carga de trabalho. O objetivo é otimizar o desempenho da carga de trabalho em cenários de carga contínua e de pico. Ao compreender as alterações na utilização, como turnos sazonais ou lançamentos de produtos, pode alocar recursos estrategicamente, impedindo a pressão do sistema durante períodos de elevada procura. Esta estratégia proativa reduz as interrupções e reforça a eficiência de desempenho. Ao analisar tendências de utilização anteriores e dados de crescimento, pode prever necessidades de curto e longo prazo. Pode identificar potenciais estrangulamentos e problemas de dimensionamento, garantindo um desempenho consistente e eficiente da carga de trabalho.

Recolher dados de capacidade

Recolher dados de utilização da carga de trabalho implica recolher e analisar informações sobre como uma carga de trabalho utiliza recursos. Deve recolher dados sobre padrões históricos para cargas de trabalho existentes e medidas preditivas para novas cargas de trabalho. Este processo ajuda a traduzir objetivos empresariais em requisitos técnicos e é essencial para a previsão da capacidade. Considere as seguintes recomendações:

Compreender uma carga de trabalho existente

Compreender uma carga de trabalho existente para o planeamento de capacidade envolve analisar dados históricos relacionados com a forma como a carga de trabalho utiliza os recursos. Abrange métricas como a utilização de recursos, dados de desempenho e padrões de carga de trabalho. Este entendimento garante uma alocação de recursos eficiente, traduz os objetivos empresariais em requisitos técnicos e ajuda a identificar potenciais estrangulamentos.

  • Compreender os dados: reveja os dados históricos disponíveis e compreenda a sua estrutura, formato e relevância para o planeamento de capacidade. A revisão pode incluir métricas de utilização de recursos, padrões de carga de trabalho, métricas de desempenho e outros pontos de dados relevantes. Compreenda os processos de negócio e a importância das aplicações. Identifique as horas de pico de utilização, a carga do utilizador, as taxas de transação e outras métricas relevantes.

  • Limpar e pré-processar os dados: prepare os dados para análise ao remover quaisquer inconsistências, erros ou valores atípicos. Preparar os dados pode envolver técnicas de limpeza de dados, como a imputação de dados, o processamento de valores em falta ou a normalização.

  • Identificar as principais métricas: identifique as métricas relevantes para o planeamento de capacidade. As métricas podem incluir a utilização da CPU, a utilização da memória, o débito de rede e os tempos de resposta.

  • Identificar estrangulamentos: medir os tempos de débito e de resposta para identificar os componentes específicos do seu sistema que podem tornar-se estrangulamentos à medida que a carga de trabalho aumenta. Os pedidos por segundo e a utilização da CPU da base de dados podem ser bons indicadores de capacidade.

  • Visualizar os dados: crie visualizações, como gráficos ou gráficos, para obter melhores informações sobre dados históricos. As visualizações podem ajudá-lo a identificar padrões, tendências e anomalias nos dados para lhe dar uma compreensão mais clara do comportamento da carga de trabalho.

Compreender uma nova carga de trabalho

Compreender uma nova carga de trabalho para planeamento de capacidade refere-se à previsão dos requisitos de recursos de uma tarefa futura sem dados históricos. Prever as necessidades futuras de uma nova carga de trabalho sem dados históricos pode ser mais desafiante. Este processo garante que aloca recursos de forma eficiente e alinha as alocações com os objetivos da carga de trabalho quando a carga de trabalho é introduzida. Considere as seguintes recomendações:

  • Investigação de mercado: a realização de pesquisas de mercado para compreender a procura de produtos ou serviços semelhantes pode fornecer informações valiosas sobre a procura potencial de uma nova carga de trabalho. A investigação pode envolver analisar tendências de mercado, realizar inquéritos ou estudar ofertas concorrentes.

  • Avaliação de especialistas: os contributos de especialistas ou profissionais que têm experiência no setor podem ajudá-lo a estimar a procura de uma nova carga de trabalho. Os seus conhecimentos e informações podem fornecer contributos valiosos para a previsão.

  • Projetos piloto ou protótipos: projetos piloto de pequena escala ou protótipos podem ajudá-lo a recolher dados e comentários em tempo real. Em seguida, pode utilizar estes dados para informar o processo de planeamento de capacidade e ajustar a procura prevista.

  • Origens de dados externas: origens de dados externas, como relatórios do setor, estudos de mercado ou inquéritos aos clientes, podem fornecer informações adicionais para estimar a procura de uma nova carga de trabalho. Estas fontes podem oferecer informações valiosas sobre as preferências dos clientes, tendências de mercado e potenciais fatores de procura.

Previsão da procura

A previsão da procura envolve a utilização de dados de cargas de trabalho para prever necessidades futuras de um serviço ou produto. É essencial para o planeamento de capacidade garantir uma alocação de recursos eficiente, antecipar padrões de crescimento e preparar-se para potenciais aumentos na procura. Quando prevê uma procura futura, utiliza dados para ter uma noção das necessidades futuras. Aplica técnicas de análise estatística, análise de tendências ou modelação preditiva aos dados que tem para prever a procura futura. Estes métodos têm em conta os padrões históricos ou previstos e projetam-nos para o futuro para fornecer estimativas da procura esperada da carga de trabalho. Para prever a procura, considere estas estratégias:

Conta para vários cenários

Quando efetua o planeamento de capacidade, tem de planear diferentes cenários que possam ocorrer. Este planeamento deve incluir padrões de crescimento previsíveis e aumentos inesperados na procura. Os padrões de utilização podem aumentar ou diminuir. Podem ser orgânicos (mais ou menos utilizadores) ou inorgânicos (um evento ou incidente de segurança). Tem de realizar o planeamento da capacidade antes de a utilização ser alterada, em momentos-chave:

  • Estrutura (predição)
  • Picos regulares (início de sessão às 08:00)
  • Iniciar (validação de predição)
  • Alteração do modelo de negócio
  • Aquisição ou fusão
  • Push de marketing
  • Alteração sazonal
  • Iniciação de funcionalidades
  • Periodicamente

Utilizar técnicas de predição

Prever a procura futura de um serviço ou produto envolve a utilização de técnicas como análise estatística, análise de tendências e modelação preditiva. Eis uma descrição geral de como pode utilizar estas técnicas:

  • Análise estatística: os métodos estatísticos podem ajudar a descobrir padrões e relações dentro de dados históricos. Pode utilizar estes padrões para prever a procura futura. Pode utilizar técnicas como análise de série temporal, análise de regressão e médias móveis para identificar tendências, sazonalidade e outros padrões nos dados.

  • Análise de tendências: a análise de tendências envolve examinar dados históricos para identificar padrões consistentes e extrapolar esses padrões para o futuro. Por exemplo, se a procura de cargas de trabalho aumentar 10% durante o ano passado, poderá prever uma continuação desta tendência. Quando analisa dados de procura histórica ao longo de um período de tempo, pode identificar tendências de crescimento ou redução. Utilize estas tendências como base para prever a procura futura. A análise de tendências também pode identificar os efeitos de eventos únicos que causam mudanças rápidas no tráfego (inorgânico). Por exemplo, as versões de funcionalidades podem aumentar consistentemente a procura em 5%. Se tiver quatro lançamentos principais por ano, deve planear um crescimento de 5% de cada vez.

  • Modelação preditiva: a modelação preditiva é o processo de criação de modelos matemáticos que utilizam dados históricos e outras variáveis relevantes para fazer predições sobre a procura futura. Pode utilizar técnicas como algoritmos de machine learning, redes neurais ou árvores de decisões. Estes modelos podem ter em conta vários fatores e variáveis para fornecer previsões mais precisas.

Alinhar as previsões com os objetivos da carga de trabalho

Alinhar as previsões com os objetivos da carga de trabalho envolve ajustar os modelos de capacidade preditiva para garantir que cumprem os objetivos e exigências específicos de uma determinada carga de trabalho. Este alinhamento garante que os recursos são aprovisionados adequadamente, impedindo a subutilização e potenciais sobrecargas de cargas de trabalho. Por exemplo, se pretender suportar uma API para um milhão de utilizadores carregar ficheiros de 1 MB num segundo, mas os dados atuais mostrarem velocidades de escrita lentas, tem de ajustar o seu sistema. É essencial falar com os intervenientes para compreender os requisitos da carga de trabalho. Certifique-se de que os seus planos estão alinhados com as promessas (SLAs) dos seus fornecedores de serviços. Este alinhamento garante que a sua capacidade satisfaz a procura esperada e ajuda a identificar áreas do sistema que possam precisar de alterações.

Determinar os requisitos de recursos

Determinar os requisitos de recursos para o planeamento de capacidade envolve avaliar os recursos de que precisa para satisfazer a procura prevista. Por exemplo, se uma aplicação antecipar um aumento de 50% nos utilizadores durante uma campanha promocional, poderá ter de alocar mais instâncias da cloud ou ajustar os parâmetros de dimensionamento automático para lidar com o aumento da carga.

Uma carga de trabalho pode ter muitos recursos, pelo que não existe uma métrica a observar para determinar os requisitos de recursos. Tem de medir a capacidade ao nível do recurso para obter resultados significativos. Estimize a procura esperada dos seus recursos com base em dados históricos, tendências de mercado e projeções empresariais. Considere o número de transações, utilizadores em simultâneo ou quaisquer outras métricas relevantes.

Com base na procura prevista, calcule os recursos necessários para satisfazer essa procura. Considere fatores como a capacidade do servidor, a largura de banda de rede, a capacidade de armazenamento e o pessoal:

  • Capacidade do servidor: determine a capacidade do servidor necessária com base no número estimado de utilizadores ou transações simultâneas. Considere fatores como os requisitos de CPU, memória e espaço em disco para garantir que os servidores conseguem processar a carga de trabalho esperada.

  • Largura de banda de rede: avalie a largura de banda de rede de que precisa para suportar o nível de tráfego previsto. Deve incluir taxas de transferência de dados de entrada e saída para garantir uma comunicação suave e eficiente entre servidores e clientes.

  • Capacidade de armazenamento: calcule a quantidade de dados que a carga de trabalho gera ou processa durante a procura prevista. Considere fatores como o tamanho da base de dados, os requisitos de armazenamento de ficheiros e quaisquer outras necessidades de armazenamento de dados específicas da sua aplicação.

  • Pessoal: avalie os recursos humanos necessários para gerir e manter a infraestrutura, processar o suporte ao cliente, efetuar a manutenção do sistema e garantir operações suaves. Tenha em conta fatores como a distribuição da carga de trabalho, o conjunto de competências e os conhecimentos necessários.

Compreender as limitações de recursos

Os recursos na sua carga de trabalho têm limitações de desempenho. As limitações de desempenho aplicam-se a serviços e SKUs em cada serviço. Tem de compreender as limitações dos recursos na sua carga de trabalho e considerar essas limitações nas suas decisões de conceção. Por exemplo, deve saber se as limitações de recursos requerem a alteração de SKUs ou a alteração total dos recursos.

Também tem de identificar os limites acessíveis. Refere-se à identificação dos limiares ou limites máximos de uma carga de trabalho. Normalmente, estes limites aplicam-se à infraestrutura (computação, memória, armazenamento, rede), aplicação (conexões de banco de dados simultâneas, tempos de resposta, disponibilidade), serviço (pedidos por segundo) e dimensionamento. Quando o planeamento de capacidade identifica limites acessíveis, tem de modificar a carga de trabalho antes de o limite criar um problema de desempenho. As linhas de base de desempenho, a monitorização contínua e os testes são essenciais para validar os limites e a solução.

Desvantagem: o planeamento de capacidade mal avaliado pode levar ao aprovisionamento excessivo ou ao subaprovisionamento de recursos. O aprovisionamento excessivo origina custos mais elevados. O subaprovisionamento pode resultar num fraco desempenho. Tente encontrar o equilíbrio certo.

Facilitação do Azure

Recolher dados de capacidade e prever a procura: o Azure Monitor permite-lhe recolher e analisar dados telemétricos das suas aplicações e infraestrutura. Suporta a monitorização de vários recursos do Azure, incluindo máquinas virtuais, contentores e contas de armazenamento. As principais ferramentas incluem o Application Insights e o Log Analytics. Ao configurar a recolha de dados e definir métricas e registos que pretende monitorizar, pode recolher dados de cargas de trabalho valiosos para análise. Para monitorização de rede, combine o Azure Monitor com o Azure Observador de Rede, as informações de rede do Azure Monitor e a monitorização do Azure ExpressRoute.

O Azure Monitor permite-lhe analisar dados históricos e aplicar técnicas de previsão para prever futuras tendências de carga de trabalho e requisitos de capacidade. Pode gerar previsões que podem ajudá-lo com o planeamento da capacidade. Estas previsões ajudam a estimar a capacidade do servidor, a largura de banda de rede, a capacidade de armazenamento e outras necessidades de recursos com padrões de procura previstos.

Determinar os requisitos de recursos: uma vez que fornecem uma vasta gama de configurações, as ferramentas e os serviços do Azure podem ajudá-lo a definir requisitos técnicos. Pode alinhar os requisitos da carga de trabalho com os recursos do Azure disponíveis, garantindo que seleciona os componentes e definições adequados para satisfazer as suas necessidades funcionais.

Compreender as limitações de recursos: o Azure fornece documentação e recursos para o ajudar a compreender as limitações de desempenho de vários serviços e SKUs do Azure. Tendo em conta estas limitações, pode ajudá-lo a tomar decisões de conceção informadas e a otimizar a arquitetura da carga de trabalho para desempenho e relação custo-eficácia.

O Azure fornece opções de escalabilidade, como o dimensionamento automático, que pode ajustar automaticamente os recursos com base na procura de cargas de trabalho. Pode dimensionar verticalmente ao aumentar a capacidade de um recurso com um tamanho de máquina virtual maior ou pode dimensionar horizontalmente ao adicionar novas instâncias de um recurso. Os serviços do Azure com capacidades de dimensionamento automático podem aumentar horizontalmente automaticamente para garantir a capacidade durante os picos da carga de trabalho e voltar ao normal quando a carga diminui. Existem limites de dimensionamento na sua configuração e serviços que deve ter em consideração. Pode ler a documentação ou executar testes. O Azure fornece ferramentas como o Teste de Carga do Azure, que podem simular a carga e diferentes padrões de utilização para o ajudar a recolher dados relevantes sobre a sua carga de trabalho.

Lista de verificação de Eficiência de Desempenho

Veja o conjunto completo de recomendações.