Compartilhar via


Estratégias de arquitetura 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 Conduzir 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. O planejamento de capacidade refere-se ao processo de determinar os 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árias 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

Prazo Definição
Planejamento de capacidade O processo de prever recursos que uma carga de trabalho precisa para atingir suas metas de desempenho.
Requisitos funcionais Os recursos que uma carga de trabalho deve ter para cumprir a 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 de dados históricos para prever a demanda futura.

O planejamento de capacidade é um processo voltado para o futuro que envolve a tomada de 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 compreender as alterações no uso, como turnos sazonais ou lançamentos de produtos, é possível alocar recursos estrategicamente, evitando a tensão do sistema durante períodos de alta demanda. Essa estratégia proativa reduz interrupções e aumenta a eficiência de desempenho. Ao analisar as tendências de uso anteriores e os dados de crescimento, você pode prever as necessidades de curto e longo prazo. Você pode identificar possíveis gargalos e problemas de escala, garantindo um desempenho consistente e eficiente da carga de trabalho.

Coletar dados de capacidade

Coletar 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:

Compreender uma carga de trabalho existente

Compreender uma carga de trabalho existente para planejamento de capacidade envolve analisar dados históricos relacionadas a como a carga de trabalho utiliza os recursos. Ele engloba 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, traduz metas de negócios em requisitos técnicos e ajuda a identificar possíveis gargalos.

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

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

  • Identificar métricas-chave: identifique as métricas relevantes para o planejamento de 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 seu sistema que podem se tornar gargalos à medida que a carga de trabalho aumenta. 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 diagramas, para obter melhores insights sobre dados históricos. As visualizações podem ajudar a identificar padrões, tendências e anomalias nos dados para fornecer uma compreensão mais clara do comportamento da carga de trabalho.

Noções básicas sobre a nova carga de trabalho

Noções básicas sobre a nova carga de trabalho para planejamento de capacidade refere-se a prever os requisitos de recursos de um futuro tarefa 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 a alocação eficiente de recursos e o alinhamento de alocações com objetivos de carga de trabalho quando a carga de trabalho for introduzida. Considere as seguintes recomendações:

  • Pesquisa de mercado: Realizar 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 no assunto ou profissionais com experiência no setor podem ajudá-lo a estimar a demanda por uma nova carga de trabalho. Sua experiência e insights podem fornecer informações valiosas para previsão.

  • Projetos-piloto ou protótipos: projetos-piloto ou protótipos em pequena escala podem ajudá-lo a coletar dados e feedback em tempo real. 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 com clientes, podem fornecer informações adicionais para estimar a demanda por uma nova carga de trabalho. Essas fontes podem oferecer insights valiosos sobre as preferências do cliente, tendências de mercado e potenciais impulsionadores da demanda.

Previsão de demanda

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

Considere 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 picos inesperados de demanda. Os padrões de uso podem aumentar ou diminuir. 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 (8 horas - entrada urgente)
  • Início (validação de previsão)
  • Alteração do modelo de negócios
  • Aquisição ou fusão
  • Push de marketing
  • Alteração sazonal
  • Início do recurso
  • Periodicamente

Usar técnicas de previsão

A previsão da demanda futura de 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 essas 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éries temporais, 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 demanda de carga de trabalho aumentou 10% durante o ano passado, é possível prever a continuação dessa tendência. Ao analisar dados históricos de demanda ao longo de um período, é possível identificar tendências de crescimento ou redução. Use essas tendências como base para prever a demanda 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ânicos). Por exemplo, versões de recurso podem aumentar consistentemente a demanda em 5%. Se você tem quatro grandes versões por ano, você deve planejar um crescimento de 5% cada vez.

  • Modelagem preditiva: a modelagem preditiva é o processo de criar 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

O alinhamento das previsões com os objetivos da carga de trabalho envolve o ajuste dos 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, evitando 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 carregarem arquivos de 1 MB em um segundo, mas os dados atuais mostrarem velocidades de gravação lentas, você precisará ajustar seu sistema. É essencial conversar com as partes interessadas para entender os requisitos da carga de trabalho. Certifique-se de que seus planos são alinhados com as promessas (SLAs) de seus provedores de serviços. Esse alinhamento garante que sua capacidade atenda à demanda esperada e ajuda a identificar áreas do sistema que podem precisar de alterações.

Determinar requisitos de recurso

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% de 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.

Como uma carga de trabalho pode ter muitos recursos, 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 para 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 seus servidores possam lidar com a carga de trabalho esperada.

  • Largura de banda da rede: avalie a largura de banda da rede necessária para suportar o nível previsto de tráfego. Você deve incluir as taxas de transferência de dados de entrada e saída para garantir uma comunicação tranquila 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 do seu aplicativo.

  • Pessoal: avalie os recursos humanos necessários para gerenciar e manter a infraestrutura, lidar com o suporte do 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 considerar 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 substitua 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 simultâneas de banco de dados, tempos de resposta, disponibilidade), serviço (solicitações por segundo) e dimensionamento. Quando o planejamento de capacidade identifica limites alcançá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.

Vantagens e desvantagens: Um planejamento de capacidade mal julgado pode levar ao provisionamento excessivo ou insuficiente de recursos. O provisionamento excessivo leva a custos mais altos. O provisionamento insuficiente pode resultar em baixo desempenho. Tente encontrar o equilíbrio certo.

Facilitação do Azure

Coleta de dados de capacidade e previsão de demanda: 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 Application Insights e Log Analytics. Ao configurar a coleta de dados e definir as métricas e logs que deseja monitorar, você pode coletar dados valiosos da carga de trabalho para análise. Para monitoramento de rede, combine o Azure Monitor com o Observador de Rede do Azure, insights de rede do Azure Monitor e 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 no planejamento da capacidade. Essas previsões ajudam a estimar a capacidade do servidor, a largura de banda da rede, a capacidade de armazenamento e outras necessidades de recursos usando padrões de demanda previstos.

Para cargas de trabalho analíticas complexas que envolvem grandes conjuntos de dados históricos, os Trabalhos de Pesquisa do Log Analytics permitem a consulta assíncrona de dados em períodos de retenção de longo prazo sem afetar o desempenho de monitoramento em tempo real. Os Trabalhos de Pesquisa criam tabelas de Análise dedicadas para resultados, permitindo a separação de cargas de trabalho analíticas do monitoramento operacional. Essa funcionalidade é particularmente valiosa para atividades de planejamento de capacidade que exigem uma análise histórica profunda, como análise e previsão de tendências, mantendo o desempenho ideal para operações de monitoramento diárias.

Determinar os requisitos de recursos: como fornecem uma ampla variedade de configurações, as ferramentas e 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 configurações adequados para atender às suas necessidades funcionais.

Noções básicas sobre as 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 projeto informadas e otimizar sua arquitetura de carga de trabalho para desempenho e economia.

O Azure fornece opções de escalabilidade, como o dimensionamento automático, que pode 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 ser dimensionados automaticamente para garantir a capacidade durante os picos de carga de trabalho e retornar ao normal quando a carga diminuir. There são limites de escala dentro de 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 pode simular a carga e diferentes padrões de uso para ajudá-lo a coletar dados relevantes sobre sua carga de trabalho.

Habilite os logs de fluxo de rede virtual nos diversos workloads para capturar dados sobre atividades de rede. Use a análise de tráfego para analisar e enriquecer esses logs, o que fornece visibilidade do comportamento e desempenho dos fluxos do usuário. Ao identificar os principais talkers, hotspots de largura de banda e ineficiências de roteamento, a análise de tráfego pode ajudar a otimizar a alocação de recursos de rede e habilitar um planejamento de capacidade mais inteligente.

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

Consulte o conjunto completo de recomendações.