Partilhar via


Estratégias de arquitetura para planejamento de capacidade

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

PE:02 Realizar planejamento de capacidade. O planejamento de capacidade deve ser feito antes que haja mudanças 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 regulamentares.

Este guia descreve as recomendações para o 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. Envolve estimar a quantidade de recursos de computação, como CPU, memória, armazenamento e largura de banda de rede, necessários para suportar os 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 ou gargalos de desempenho. Também ajuda a evitar o excesso de provisionamento e 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

Período Definição
Planejamento de capacidade O processo de previsão dos recursos de que uma carga de trabalho necessita para cumprir os respetivos objetivos de desempenho.
Requisitos funcionais As funcionalidades e capacidades que uma carga de trabalho tem de 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ências Análise de dados históricos para prever a demanda futura.

O planejamento de capacidade é um processo prospectivo que envolve a tomada de decisões com base em demandas e padrões de carga de trabalho previstos. O objetivo é otimizar o desempenho das cargas de trabalho em cenários de carga contínua e de pico. Ao compreender as alterações na utilização, tais como turnos sazonais ou lançamentos de produtos, pode alocar recursos estrategicamente, evitando sobrecarga do sistema durante períodos de procura elevada. Essa estratégia proativa reduz interrupções e reforça a eficiência do desempenho. Ao analisar as tendências de utilização anteriores e os dados de crescimento, pode prever as necessidades a curto e longo prazo. Pode identificar potenciais estrangulamentos e problemas de dimensionamento, assegurando um desempenho consistente e eficiente da carga de trabalho.

Reúna dados de capacidade

A coleta de dados de utilização da carga de trabalho envolve a coleta e a análise de informações sobre como uma carga de trabalho usa recursos. Deverá recolher dados sobre padrões históricos para as cargas de trabalho existentes e medidas preditivas para novas cargas de trabalho. Este processo ajuda a traduzir os objetivos do negócio em requisitos técnicos e é essencial para a previsão de capacidade. Considere as seguintes recomendações:

Compreender uma carga de trabalho existente

Compreender uma carga de trabalho existente para o planejamento de capacidade envolve a análise de dados históricos relacionados a como a carga de trabalho utiliza recursos. Engloba métricas como a utilização de recursos, dados de desempenho e padrões de carga de trabalho. Esta compreensão assegura a alocação eficiente de recursos, traduz os objetivos do negócio 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 criticidade das aplicações. Identifique as horas de pico de utilização, carga de utilizadores, taxas de transações e outras métricas relevantes.

  • Limpar e pré-processar os dados: prepare os dados para análise removendo quaisquer inconsistências, erros ou discrepâncias. A preparação dos 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 métricas-chave: Identifica as métricas relevantes para o planeamento de capacidade. As métricas podem incluir a utilização da CPU, o uso da memória, a taxa de transferência da rede e os tempos de resposta.

  • Identificar gargalos: meça 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. Solicitações por segundo e uso da CPU do banco de dados podem ser bons indicadores de capacidade.

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

Compreender uma nova carga de trabalho

Compreender uma nova carga de trabalho para o planeamento de capacidade refere-se à prediçã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. Este processo garante que aloca recursos de forma eficiente e que alinha as alocações com os objetivos da carga de trabalho quando a carga de trabalho é 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 informações valiosas 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 da concorrência.

  • Julgamento por especialistas: a contribuição de especialistas no assunto ou profissionais com experiência no setor pode ajudá-lo a estimar a procura por uma nova carga de trabalho. Os seus conhecimentos e informações podem fornecer dados valiosos para a previsão.

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

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

Previsão da procura

A previsão da procura envolve a utilização de dados de carga de trabalho para prever necessidades futuras de um serviço ou produto. É essencial para o planeamento da capacidade assegurar a alocação eficiente de recursos, antecipar padrões de crescimento e preparar-se para potenciais picos de procura. Quando prevê a procura futura, utiliza dados para ter uma noção das necessidades futuras. Aplica técnicas de análise estatística, de análise de tendências ou de modelação preditiva aos dados que possui para prever a procura futura. Estes métodos têm em conta padrões históricos ou antecipados e projetam-nos no futuro para fornecer estimativas da procura 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 diferentes cenários que podem ocorrer. Este planeamento deve incluir padrões de crescimento previsíveis e surtos inesperados da 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). Você precisa realizar o planejamento de capacidade antes de alterações de uso, em momentos importantes:

  • Design (predição)
  • Picos regulares (pico de inícios de sessão das 8h00)
  • Lançamento (validação da predição)
  • Mudança do modelo de negócio
  • Aquisição ou fusão
  • Emissão de marketing
  • Alteração sazonal
  • Lançamento da funcionalidade
  • Periodicamente

Utilizar técnicas de predição

A previsão da procura futura de um serviço ou produto envolve a utilização de técnicas como a análise estatística, a análise de tendências e a 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 a análise de séries temporais, a análise de regressão e as 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 carga de trabalho aumentou 10 por cento durante o ano passado, pode prever a continuação desta tendência. Quando analisa dados de procura históricos ao longo de um período de tempo, pode identificar tendências de crescimento ou redução. Utilize estas tendências como base para a previsão da 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 funcionalidade podem aumentar a procura consistentemente em 5 porcento. Se você tem quatro grandes lançamentos por ano, deve planejar um crescimento de 5% de cada vez.

  • Modelação preditiva: a modelação preditiva é o processo de construção de modelos matemáticos que utilizam dados históricos e outras variáveis relevantes para fazer previsões sobre a procura futura. Pode utilizar técnicas como algoritmos de aprendizagem automática, redes neurais ou árvores de decisão. Estes modelos podem ter em conta múltiplos 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 de carga de trabalho envolve o ajuste dos modelos de capacidade preditiva para garantir que cumprem as metas e exigências 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 trabalho. Por exemplo, se você pretende oferecer suporte a uma API para 1 milhão de usuários carregarem 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 as partes interessadas para entender 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 assegura que a sua capacidade satisfaz a procura esperada e ajuda a identificar áreas do sistema que poderão necessitar de alterações.

Determinar requisitos de recursos

Determinar os requisitos de recursos para o planejamento de capacidade envolve avaliar os recursos de que você precisa 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.

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

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

  • Capacidade do servidor: determine a capacidade necessária do servidor 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 do tráfego previsto. 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 procura prevista. Considere fatores como o tamanho do banco de dados, os 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 ao cliente, realizar a manutenção do sistema e garantir o bom funcionamento. Leve em consideração fatores como distribuição da carga de trabalho, conjunto de habilidades e experiência necessária.

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 dentro de cada serviço. Necessita de compreender as limitações dos recursos na sua carga de trabalho e considerar essas limitações nas suas decisões de design. Por exemplo, você deve saber se as limitações de recursos exigem que você altere SKUs ou altere os recursos completamente.

Você também precisa identificar limites alcançáveis. Refere-se à identificação dos 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, a monitorização contínua e os testes são essenciais para validar os limites e a solução.

Troca: o planeamento incorreto de capacidade pode levar a aprovisionamento excessivo ou insuficiente de recursos. O excesso de provisionamento leva a custos mais altos. Um provisionamento insuficiente pode resultar em mau desempenho. Tente encontrar o equilíbrio certo.

Gestão do Azure

Recolha de dados de capacidade e previsão da procura: o Azure Monitor permite-lhe recolher e analisar dados de telemetria a partir 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 valiosos da carga de trabalho para análise. Para a monitorização de rede, combine o Azure Monitor com o Observador de Rede do Azure, as Informações de Rede 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 tendências de carga de trabalho futuras e requisitos de capacidade. Pode gerar previsões que podem ajudá-lo no planeamento da capacidade. Estas previsões ajudam a estimar a capacidade do servidor, a largura de banda da rede, a capacidade de armazenamento e outras necessidades de recursos utilizando padrões de procura previstos.

Para cargas de trabalho analíticas complexas que envolvem grandes conjuntos de dados históricos, os trabalhos de pesquisa do Log Analytics permitem consultas assíncronas de dados em períodos de retenção de longo prazo sem afetar o desempenho do monitoramento em tempo real. As vagas de pesquisa criam tabelas dedicadas do Google Analytics para resultados, permitindo a separação de cargas de trabalho analíticas do monitoramento operacional. Esse recurso é particularmente valioso para atividades de planejamento de capacidade que exigem análise histórica profunda, como análise de tendências e previsão, mantendo o desempenho ideal para operações de monitoramento diárias.

Determinar requisitos de recursos: como fornecem uma ampla gama de configurações, as ferramentas e serviços do Azure podem ajudá-lo a definir requisitos técnicos. Pode alinhar os seus requisitos de carga de trabalho com os recursos disponíveis do Azure, garantindo que seleciona os componentes e definições apropriados para satisfazer as 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 projeto informadas e otimizar sua arquitetura de carga de trabalho para desempenho e custo-benefício.

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 de máquina virtual maior 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 picos de carga de trabalho e retornar ao normal quando a carga diminuir. Existem limites de dimensionamento na sua configuração e serviços que deve conhecer. 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 logs de fluxo de rede virtual em todas as cargas de trabalho para capturar dados sobre a atividade da rede. Use a análise de tráfego para analisar e enriquecer esses logs, o que fornece visibilidade sobre o comportamento e o desempenho dos fluxos de usuários. Ao identificar os principais comunicadores, 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 permitir um planejamento de capacidade mais inteligente.

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

Consulte o conjunto completo de recomendações.