Compartilhar via


Recomendações para planejamento 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 o planejamento de capacidade. O planejamento de capacidade deve ser feito antes que haja alterações previstas nos padrões de uso. As alterações previstas incluem variações sazonais, atualizações de produtos, campanhas de marketing, eventos especiais ou alterações regulatórias.

Este guia descreve as recomendações de planejamento de capacidade. Planejamento de capacidade refere-se ao processo de determinação dos recursos necessários para atender às metas de desempenho da carga de trabalho. Isso envolve estimar a quantidade de recursos de computação, como CPU, memória, armazenamento e largura de banda de rede necessária para dar suporte aos requisitos de desempenho da carga de trabalho. O planejamento de capacidade ajuda a evitar o subprovisionamento e garante que a carga de trabalho tenha recursos suficientes para lidar com as demandas de carga de trabalho esperadas sem sofrer degradação de desempenho ou gargalos. Também ajuda a evitar o excesso de provisionamento e os custos desnecessários. A falta de planejamento de capacidade pode levar a problemas de desempenho, gargalos de recursos, aumento de custos, alocação ineficiente, desafios de escalabilidade e desempenho imprevisível da carga de trabalho.

Definições

Termo Definição
planejamento de capacidade O processo de previsão dos recursos que uma carga de trabalho precisa para atender às suas metas de desempenho.
Requisitos funcionais Os recursos e funcionalidades que uma carga de trabalho deve ter para cumprir sua finalidade pretendida.
Requisitos técnicos O código e a infraestrutura necessários para atender aos requisitos funcionais.
Análise de tendência Análise histórica de dados para prever a demanda futura.

Principais estratégias de design

O planejamento de capacidade é um processo futuro que envolve tomar decisões com base em demandas e padrões de carga de trabalho previstos. Sua meta é otimizar o desempenho da carga de trabalho em cenários de carga contínua e de pico. Ao entender as alterações no uso, como turnos sazonais ou lançamentos de produtos, você pode alocar recursos estrategicamente, evitando a pressão do sistema durante períodos de alta demanda. Essa estratégia proativa reduz interrupções e reforça a eficiência do desempenho. Analisando tendências de uso anteriores e dados de crescimento, você pode prever necessidades de curto e longo prazo. Você pode identificar possíveis gargalos e problemas de dimensionamento, garantindo um desempenho consistente e eficiente da carga de trabalho.

Coletar dados de capacidade

A coleta de dados de utilização da carga de trabalho envolve coletar e analisar informações sobre como uma carga de trabalho usa recursos. Você deve coletar dados sobre padrões históricos para cargas de trabalho existentes e medidas preditivas para novas cargas de trabalho. Esse processo ajuda a traduzir objetivos de negócios em requisitos técnicos e é essencial para a capacidade de previsão. Considere as seguintes recomendações:

Entender uma carga de trabalho existente

Entender uma carga de trabalho existente para planejamento de capacidade envolve a análise de dados históricos relacionados à forma como a carga de trabalho utiliza recursos. Ele abrange métricas como utilização de recursos, dados de desempenho e padrões de carga de trabalho. Esse entendimento garante a alocação eficiente de recursos, converte as metas de negócios em requisitos técnicos e ajuda a identificar possíveis gargalos.

  • Entender os dados: examine os dados históricos disponíveis e entenda sua estrutura, formato e relevância para o planejamento da 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. Entenda os processos de negócios e a criticalidade dos aplicativos. Identifique os horários de pico de uso, a carga do usuário, as taxas de transação e outras métricas relevantes.

  • Limpar e pré-processar os dados: prepare os dados para análise removendo quaisquer inconsistências, erros ou exceções. A preparação dos dados pode envolver técnicas de limpeza de dados, como a imputação de dados, o tratamento de valores ausentes ou a normalização.

  • Identificar as principais métricas: identifique as métricas relevantes para o planejamento da capacidade. As métricas podem incluir utilização da CPU, uso de memória, taxa de transferência de rede e tempos de resposta.

  • Identificar gargalos: medir a taxa de transferência e os tempos de resposta para identificar os componentes específicos do sistema que podem se tornar gargalos à medida que a carga de trabalho cresce. As solicitações por segundo e o uso da CPU do banco 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 fornecer uma compreensão mais clara do comportamento da carga de trabalho.

Entender uma nova carga de trabalho

Noções básicas sobre uma nova carga de trabalho para planejamento 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 desafiador. Esse processo garante que você aloque recursos com eficiência e alinhe alocações com objetivos de carga de trabalho quando a carga de trabalho é introduzida. Considere as seguintes recomendações:

  • Pesquisa de mercado: conduzir pesquisas de mercado para entender a demanda por produtos ou serviços semelhantes pode fornecer insights valiosos sobre a demanda potencial por uma nova carga de trabalho. A pesquisa pode envolver a análise de tendências de mercado, a realização de pesquisas ou o estudo de ofertas de concorrentes.

  • Julgamento de especialistas: a entrada de especialistas ou profissionais com experiência no setor pode ajudá-lo a estimar a demanda por uma nova carga de trabalho. Seus conhecimentos e insights podem fornecer entradas valiosas para previsão.

  • Projetos piloto ou protótipos: projetos piloto ou protótipos em pequena escala podem ajudá-lo a coletar dados e comentários em tempo real. Em seguida, você pode usar esses dados para informar o processo de planejamento de capacidade e ajustar a demanda prevista.

  • Fontes de dados externas: fontes de dados externas, como relatórios do setor, estudos de mercado ou pesquisas de clientes, podem fornecer informações adicionais para estimar a demanda por uma nova carga de trabalho. Essas fontes podem oferecer insights valiosos sobre preferências do cliente, tendências de mercado e potenciais fatores de demanda.

Previsão de demanda

A demanda de previsão envolve o uso de dados de carga de trabalho para prever as necessidades futuras de um serviço ou produto. É essencial para o planejamento de capacidade garantir a alocação eficiente de recursos, prever padrões de crescimento e se preparar para possíveis aumentos na demanda. Quando você prevê demanda futura, usa dados para ter uma noção das necessidades futuras. Você aplica análise estatística, análise de tendências ou técnicas de modelagem preditiva aos dados necessários para prever a demanda futura. Esses métodos levam em conta padrões históricos ou previstos e os projetam no futuro para fornecer estimativas da demanda de carga de trabalho esperada. Para prever a demanda, considere estas estratégias:

Conta para vários cenários

Ao executar o planejamento de capacidade, você precisa planejar cenários diferentes que possam ocorrer. Esse planejamento deve incluir padrões de crescimento previsíveis e aumentos inesperados na demanda. Os padrões de uso podem crescer ou reduzir. Eles podem ser orgânicos (mais ou menos usuários) ou inorgânicos (um evento ou incidente de segurança). Você precisa realizar o planejamento de capacidade antes das alterações de uso, em momentos-chave:

  • Design (previsão)
  • Picos regulares (corrida de entrada às 8h)
  • Inicialização (validação de previsão)
  • Alteração do modelo de negócios
  • Aquisição ou fusão
  • Push de marketing
  • Mudança sazonal
  • Inicialização de recursos
  • Periodicamente

Usar técnicas de previsão

A previsão da demanda futura por um serviço ou produto envolve o uso de técnicas como análise estatística, análise de tendências e modelagem preditiva. Aqui está uma visão geral de como você pode usar 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. Você pode usar esses padrões para prever a demanda futura. Você pode usar 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ência: a análise de tendência envolve examinar dados históricos para identificar padrões consistentes e extrapolar esses padrões no futuro. Por exemplo, se a demanda de carga de trabalho aumentou 10% durante o ano passado, você pode prever uma continuação dessa tendência. Ao analisar dados históricos de demanda durante um período de tempo, você pode identificar tendências de crescimento ou redução. Use essas tendências como base para prever a demanda futura. A análise de tendência também pode identificar os efeitos de eventos únicos que causam deslocamentos rápidos no tráfego (inorgânico). Por exemplo, as versões de recursos podem aumentar consistentemente a demanda em 5%. Se você tiver quatro versões principais por ano, deverá planejar um crescimento de 5% a cada vez.

  • Modelagem preditiva: a modelagem preditiva é o processo de criação de modelos matemáticos que usam dados históricos e outras variáveis relevantes para fazer previsões sobre a demanda futura. Você pode usar técnicas como algoritmos de aprendizado de máquina, redes neurais ou árvores de decisão. Esses modelos podem levar em conta vários fatores e variáveis para fornecer previsões mais precisas.

Alinhar previsões com objetivos de carga de trabalho

Alinhar previsões com objetivos de carga de trabalho envolve ajustar modelos de capacidade preditiva para garantir que eles atendam às metas e demandas específicas de uma determinada carga de trabalho. Esse alinhamento garante que os recursos sejam provisionados adequadamente, impedindo a subutilização e possíveis sobrecargas de carga de trabalho. Por exemplo, se você pretende dar suporte a uma API para 1 milhão de usuários para carregar arquivos de 1 MB em um segundo, mas os dados atuais mostram velocidades de gravação lentas, você precisa ajustar seu sistema. É essencial conversar com os stakeholders para entender os requisitos da carga de trabalho. Verifique se seus planos estão alinhados com as promessas (SLAs) de seus provedores de serviços. Esse alinhamento garante que sua capacidade atenda à demanda esperada e ajude a identificar áreas do sistema que podem precisar de alterações.

Determinar os requisitos de recursos

Determinar os requisitos de recursos para o planejamento de capacidade envolve avaliar os recursos necessários para atender à demanda prevista. Por exemplo, se um aplicativo prevê um aumento de 50% nos usuários durante uma campanha promocional, talvez seja necessário alocar mais instâncias de nuvem ou ajustar seus parâmetros de dimensionamento automático para lidar com o aumento da carga.

Uma carga de trabalho pode ter muitos recursos, portanto, não há uma métrica a ser observada para determinar os requisitos de recursos. Você precisa medir a capacidade no nível do recurso para obter resultados significativos. Estime a demanda esperada por seus recursos com base em dados históricos, tendências de mercado e projeções de negócios. Considere o número de transações, usuários simultâneos ou qualquer outra métrica relevante.

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

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

  • Largura de banda de rede: avalie a largura de banda de rede necessária para dar suporte ao nível previsto de tráfego. Você 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: estime a quantidade de dados que a carga de trabalho gera ou processa durante a demanda prevista. Considere fatores como tamanho do banco de dados, requisitos de armazenamento de arquivos e quaisquer outras necessidades de armazenamento de dados específicas para seu aplicativo.

  • Pessoal: avalie os recursos humanos necessários para gerenciar e manter a infraestrutura, lidar com o suporte ao cliente, executar a manutenção do sistema e garantir operações suaves. Leve em conta fatores como distribuição de carga de trabalho, conjunto de habilidades e experiência necessária.

Entender as limitações de recursos

Os recursos em sua carga de trabalho têm limitações de desempenho. As limitações de desempenho se aplicam a serviços e SKUs em cada serviço. Você precisa entender as limitações dos recursos em sua carga de trabalho e fatorar essas limitações em suas decisões de design. Por exemplo, você deve saber se as limitações de recursos exigem que você altere skus ou altere completamente os recursos.

Você também precisa identificar limites acessíveis. Refere-se a identificar os limites máximos ou limites de uma carga de trabalho. Esses limites geralmente se aplicam à infraestrutura (computação, memória, armazenamento, rede), aplicativo (conexões de banco de dados simultâneas, tempos de resposta, disponibilidade), serviço (solicitações por segundo) e dimensionamento. Quando o planejamento de capacidade identifica limites acessíveis, você precisa modificar a carga de trabalho antes que o limite crie um problema de desempenho. As linhas de base de desempenho, o monitoramento contínuo e os testes são essenciais para validar os limites e a solução.

Compensação: o planejamento de capacidade mal julgado pode levar ao excesso de provisionamento ou ao subprovisionamento de recursos. O excesso de provisionamento leva a custos mais altos. O subprovisionamento pode resultar em baixo desempenho. Tente encontrar o equilíbrio certo.

Facilitação do Azure

Coletando dados de capacidade e demanda de previsão: o Azure Monitor permite coletar e analisar dados de telemetria de seus aplicativos e infraestrutura. Ele dá suporte ao monitoramento de vários recursos do Azure, incluindo máquinas virtuais, contêineres e contas de armazenamento. As principais ferramentas incluem o Application Insights e o Log Analytics. Ao configurar a coleta de dados e definir métricas e logs que você deseja monitorar, você pode coletar dados valiosos da carga de trabalho para análise. Para monitoramento de rede, combine o Azure Monitor com o Azure Observador de Rede, os insights de rede do Azure Monitor e o monitoramento do Azure ExpressRoute.

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

Determinando os requisitos de recursos: como eles fornecem uma ampla variedade de configurações, as ferramentas e os serviços do Azure podem ajudá-lo a definir requisitos técnicos. Você pode alinhar seus requisitos de carga de trabalho com os recursos disponíveis do Azure, garantindo que você selecione os componentes e as configurações apropriados para atender às suas necessidades funcionais.

Noções básicas sobre limitações de recursos: o Azure fornece documentação e recursos para ajudá-lo a entender as limitações de desempenho de vários serviços e SKUs do Azure. Levar em consideração essas limitações pode ajudá-lo a tomar decisões de design informadas e otimizar sua arquitetura de carga de trabalho para desempenho e custo-benefício.

O Azure fornece opções de escalabilidade, como dimensionamento automático, que podem ajustar automaticamente os recursos com base na demanda de carga de trabalho. Você pode dimensionar verticalmente aumentando a capacidade de um recurso usando um tamanho maior de máquina virtual ou pode dimensionar horizontalmente adicionando novas instâncias de um recurso. Os serviços do Azure que têm recursos de dimensionamento automático podem escalar horizontalmente automaticamente para garantir a capacidade durante os picos de carga de trabalho e retornar ao normal quando a carga diminuir. Há limites de dimensionamento em sua configuração e serviços que você deve estar ciente. Você 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 uso para ajudá-lo a coletar dados relevantes sobre sua carga de trabalho.

Lista de verificação de eficiência de desempenho

Consulte o conjunto completo de recomendações.