Embora o planejamento de capacidade deva ser visto como uma das disciplinas mais importantes para o gerenciamento das operações de TI, muitas organizações continuam achando difícil adotar uma abordagem bem-sucedida. Se bem feito, o planejamento da capacidade pode reduzir significativamente os riscos, melhorar o desempenho de TI e economizar custos. Então, por que tantas equipes de TI ainda têm dificuldades com isso?
Parte da resposta é que os ambientes de TI atuais são incrivelmente complexos, com altas taxas de mudança. Obviamente, a vantagem dos ambientes mais modulares e novas tecnologias, como virtualização e nuvem, é que as organizações podem alcançar um novo patamar de flexibilidade.
VMs podem ser adicionadas e alteradas diariamente. A desvantagem é que, nesses ambientes dinâmicos e altamente virtualizados, é cada vez mais difícil manter uma imagem precisa da capacidade da infraestrutura, sem falar em mantê-la alinhada e otimizada para as necessidades de negócios, que estão em constante mudança. Obter visibilidade da demanda de recursos e das opções para administrar a capacidade é um desafio. Sem isso, é impossível prever com precisão quanto mais ou menos infraestrutura será necessária para o futuro.
As abordagens tradicionais de planejamento de capacidade também são fatores limitantes, pois tendem a ser isoladas. Por exemplo, equipes diferentes de TI geralmente gerenciam a capacidade de forma individual, dentro de seu próprio domínio ou campo de atuação. Isso significa que é um desafio obter uma visão global da utilização de recursos de infraestrutura e prever espaço para crescimento, sendo comum a ineficiência no uso de recursos de infraestrutura.
O que é Planejamento de Capacidade de TI?
Existem muitas definições para Gestão e Planejamento de Capacidade de TI e cada um tem suas referências, como ITIL, CoBIT e outras fontes mas, fundamentalmente, todas tratam da mesma coisa: garantir que você tenha recursos suficientes implantados para atender às necessidades de seus clientes e os aplicativos que eles usam. Em um ambiente de operações de TI, os recursos que você precisa gerenciar são basicamente computação, armazenamento e capacidade de rede. Portanto, o desafio é determinar quanto de cada um é necessário para as cargas de trabalho que seus clientes estão gerando.
Vale a pena fazer uma pausa por um momento para considerar isso a partir da perspectiva de seus clientes. Geralmente falando, os clientes nunca sabem quanto recurso você tem disponível e se importam cada vez menos com isso. O interesse deles é voltado muito mais ao desempenho dos aplicativos que estão usando, do que na capacidade necessária para executá-los. Os dois fatores, no entanto, são intimamente relacionados. Para melhorar o desempenho, muitas vezes é necessário fornecer mais capacidade de computação, armazenamento ou rede. O desafio é descobrir como, onde, quando, por que e quanto.
A virtualização
Alguns dos principais impactos que a virtualização e a computação em nuvem tiveram nos últimos anos têm origem na demanda e na expectativa de demanda por velocidade e agilidade na implantação e na alteração da infraestrutura.
Os clientes esperam que novos servidores virtuais possam ser implantados ou que as VMS existentes sejam reconfiguradas em minutos ou horas. Enquanto as ferramentas de gerenciamento e orquestração disponíveis de vários fornecedores de hipervisores suportam essa flexibilidade, muito pouco foi pensado sobre o impacto no planejamento da capacidade.
Além disso, os ambientes virtuais exigem significativamente mais compartilhamento de recursos do que os ambientes físicos mais antigos. Esse é um dos seus grandes atrativos, mas também significa que o potencial de uma carga de trabalho interferir em outra é significativamente maior, reforçando o conceito de que o planejamento de capacidade é o principal mecanismo para entender e controlar esse risco.
Conforme descrevemos anteriormente, o planejamento de capacidade é a arte de usar dados sobre o passado e levantar suposições sobre possíveis mudanças, para prever o futuro. O ponto de partida aqui é entender quais dados você tem disponíveis, para dizer o que vem acontecendo no passado.
Dados de inventário
Listas de ativos, bancos de dados de gerenciamento de configuração (CMDBs), inventários de servidores, planilhas variadas, etc. Você deve ter várias fontes de informações sobre servidores em vários locais do seu ambiente. Reunir esses dados em um único conjunto de dados de inventário é crucial para o planejamento eficaz da capacidade.
Os ambientes virtualizados tendem a facilitar um pouco esse trabalho, pois é relativamente fácil gerar uma lista de servidores físicos e virtuais e seus metadados de configuração.
As informações que você tem disponíveis podem variar, mas normalmente você precisará pelo menos os seguintes dados para cada servidor:
- Servidor físico ou virtual;
- Host associado (se for servidor virtual);
- Configuração da CPU (tipo, núcleos, velocidade);
- Memória alocada;
- Configuração de disco (incluindo repositórios de dados usados para servidores virtuais);
- Localização física (datacenter, geografia)
Além disso, os seguintes metadados podem ser úteis para fornecer visualizações diferentes de sua propriedade:
- Hipervisor (por exemplo, VMware, Hyper-V), se relevante;
- Sistema operacional e versão;
- Aplicativos usando este servidor;
- Função do aplicativo (por exemplo: servidor web, servidor de DB);
- Ambiente (por exemplo: produção, teste, desenvolvimento etc.).
Esses dados de inventário permitem criar visualizações hierárquicas da alocação dos seus recursos de servidores e armazenamento para vários datacenters, aplicativos, ambientes e assim por diante. Fundamentalmente, você pode usar essas hierarquias para determinar a alocação e o uso agregados de recursos para entidades de nível superior, por exemplo, quanta capacidade da CPU é alocada (e usada) em seu ambiente de desenvolvimento em comparação com seu ambiente de produção.
Dados de uso
Os dados do inventário fornecem informações sobre como os recursos são alocados para vários servidores e ambientes. Os dados de uso fornecem informações sobre como esses recursos são realmente consumidos. Quando os servidores são implantados inicialmente, é comum que os recursos sejam alocados com base na melhor estimativa do que é realmente necessário. Pela avaliação adequada dos dados de uso, você pode refinar essa alocação ao longo do tempo para garantir que os recursos sejam dimensionados corretamente, de acordo com o que é realmente necessário.
Servidores físicos
Os dados de uso para servidores físicos geralmente vêm de uma ou mais ferramentas de monitoramento. Essas são as ferramentas que sua equipe de operações usa para gerar alertas em tempo real, quando há um problema com os servidores. Os indicadores específicos que você precisa capturar variam de acordo com o sistema operacional e suas ferramentas de monitoramento, mas precisam abordar especificamente os principais recursos que podem limitar a capacidade da infraestrutura: principalmente CPU, memória, I / O de disco e espaço de armazenamento.
Servidores virtuais
Os dados que você precisa acompanhar nos servidores virtuais são baseados praticamente nas mesmas métricas de uso de recursos usadas para seus servidores físicos. Um ponto importante, no entanto, é que qualquer ferramenta usada para extrair essas medições deve estar informada do fato de que são máquinas virtuais.
De um modo geral, qualquer ferramenta que se baseie nos agentes do sistema operacional hospedado (a própria VM) não terá essa informação e fornecerá dados imprecisos. A razão para isso é que os agentes em execução no sistema operacional hospedado não poderão fazer medições quando o seu próprio sistema operacional tiver sido suspenso pelo hipervisor (e nem estará ciente dessa suspensão). Como resultado, a fonte mais comum de métricas de uso para servidores virtuais tende a ser os sistemas de gerenciamento de hipervisor.
Entendendo o que está sendo medido
Ao usar medições geradas por qualquer ferramenta, é importante que você entenda exatamente o que está sendo medido. Por exemplo, se você tem uma medição do uso da CPU a cada 5 minutos, esse é o nível médio de uso nesse período de 5 minutos? Ou uma amostra de qual era o uso em algum momento naquele período de 5 minutos? Ou algo diferente?
Um exemplo mais concreto: a VMware fornece vários indicadores diferentes de uso de memória pelas VMs. Dois deles são memória ativa e memória consumida. O último fornece uma medida de quanta memória o hipervisor alocou para a VM, enquanto o primeiro é uma estimativa de quanta memória a VM está usando com base na atividade monitorada pelo hipervisor.
Usar a memória consumida para o planejamento da capacidade provavelmente resultará em capacidade subestimada de um host, porque a memória consumida de uma VM só diminuirá se o hipervisor forçar a perda de memória, o que ocorrerá apenas quando o host estiver sem memória. Por outro lado, como a medida ativa é uma estimativa estatística da memória realmente usada pela VM, ela pode ser mais útil no planejamento da capacidade, para determinar a capacidade real de um host. De qualquer forma, deve-se tomar cuidado para garantir que seja levada em consideração a natureza estatística da estimativa.
Estabelecendo uma linha de base
Depois de reunir o conjunto de dados correto, a próxima etapa é estabelecer uma linha de base. O objetivo de uma linha de base no planejamento de capacidade é duplo: em primeiro lugar, resume os dados históricos para fornecer uma visão geral dos seus ativos e, em segundo lugar, fornece uma visão do espaço para crescimento, para que você possa ver rapidamente quais áreas têm capacidade de absorver mudanças e quais não.
Visão de longo prazo
Para o planejamento da capacidade, o ideal é usar os mesmos dados usados pelas ferramentas de monitoramento em tempo real, mas em um período de tempo mais longo, para que você possa criar uma série histórica do consumo dos recursos. Portanto, enquanto estiver em um ambiente de tempo real, convém rastrear o uso dos recursos em intervalos de 10 minutos (ou mais frequentemente em servidores críticos) e sempre poder ver as últimas horas em detalhes. Para o planejamento da capacidade, você precisará levantar esses dados ao longo de 60 a 90 dias, para criar um perfil estatístico.
Também é importante não confiar apenas nos valores médios dos indicadores. Idealmente, você precisará calcular pelo menos as médias e variações e, em alguns casos, pode ser necessário criar uma distribuição empírica dos valores de uso (porcentagem de tempo gasto em vários intervalos de utilização). O objetivo é criar um perfil estatístico, para que você saiba a probabilidade de atingir ou exceder determinados níveis de uso (por exemplo, o uso da CPU no servidor abc123 fica abaixo de 60% em 95% das vezes).
Aplicando regras para o “headroom”
Um ponto inicial necessário para o planejamento da capacidade em um ambiente virtualizado é entender a quantidade de espaço para crescimento (headroom) no ambiente, a qualquer momento. Isso responde à pergunta de “quanto mais trabalho o ambiente pode fazer em relação ao que está fazendo atualmente?”.
A abordagem estatística descrita acima fornece um bom mecanismo para determinar isso. A linha de base está, por definição, informando o quão perto você está dos seus limites de uso autoimpostos. Você também pode usá-la para determinar a média dos requisitos de recursos de uma VM (e novamente, você pode tomar a decisão sobre o que você toma como média: se é para todos os ativos ou para um conjunto de aplicativos críticos). A combinação dessas duas possibilidades permite determinar a média de quantas VMs a mais você pode acomodar em várias partes de sua plataforma.
Um exemplo pode deixar isso mais claro. Vamos supor que você tenha cem VMs em quatro hosts físicos. Cada um dos hosts possui CPUs de 8 núcleos rodando a 2,5 GHz, para um total de capacidade de 20 GHz (estamos ignorando a memória no momento). Ao criar sua linha de base, você determina que, nos hosts A e B, a demanda combinada de CPU das VMs é inferior a 12 GHz por 95% do tempo; e nos hosts C & D, a demanda combinada é inferior a 15GHz por 95% das vezes. Portanto, os hosts A e B estão funcionando com 60% de utilização; com C & D a 75%.
Para determinar seu headroom, você precisará de mais duas coisas: o limite de uso que deseja aceitar e a demanda média da VM. Vamos supor que você esteja disposto a permitir que o uso da CPU atinja 80%, e a demanda média de VM seja de 0,5 GHz no percentil 95 (ou seja, a demanda média de VM seja inferior a 0,5 GHz por 95% do tempo). Um limite de uso de 80% equivale a uma demanda de 16 GHz em cada um dos seus hosts. Portanto, os hosts A e B têm espaço para mais 8 VMs médias; os hosts C & D têm espaço para apenas mais 2 VMs médias. Em sua plataforma, você tem espaço para mais 20 VMs médias.
Prevendo o futuro
Nos parágrafos anteriores, discutimos como uma linha de base estatística pode ser usada para fornecer rapidamente informações sobre espaço para crescimento, com base no número médio de VMs que podem ser acomodadas. Obviamente, a limitação dessa abordagem é que muitas, talvez a maioria, de suas VMs serão diferentes da média.
Para resolver esse problema, você precisa criar um modelo estatístico que permita trabalhar com cenários de mudança específicos e entender seu impacto. Dessa forma, você terá as informações necessárias para planejar de maneira proativa e precisa todos os ajustes necessários para sua capacidade futura de infraestrutura.
Modelando cenários futuros
Com a linha de base como ponto de partida, agora você pode criar um modelo de cenário que cubra uma ou mais transformações relacionadas ao ambiente que deseja considerar, como alterações nas cargas de trabalho (por exemplo, novas cargas de trabalho, dimensionamento de cargas de trabalho, migração de cargas de trabalho) ou alterações em recursos (por exemplo, novos servidores, alterações nas configurações do servidor, dimensionamento de direitos das VMs).
Qualquer modelo de cenário criado também deve incorporar tendências que você descobriu a partir dos dados da linha de base. Por exemplo, tendências no uso de recursos ou no número de VMs. Elas podem ser mapeadas para o modelo como “transformações” adicionais.
Cada “transformação” que você adicionar ao modelo resultará em um recálculo da demanda por recursos em um host, para poder determinar a utilização prevista. Como você está usando um modelo estatístico, também poderá determinar limites de confiança (por exemplo, nível de 95%). Ao usar esses limites de confiança, juntamente com os limites que você definiu, será possível determinar se alguma transformação específica ou combinação de transformações pode ser acomodada, sem uma alteração na capacidade da infraestrutura. Por exemplo, você pode determinar com um nível de confiança de 95% que seu limite não será excedido. Considerando que, se o modelo mostrar que uma transformação não pode ser acomodada, você poderá entender qual recurso é o fator limitante (CPU, memória, I / O) e quanto mais recursos você precisará.
Três etapas para o planejamento bem-sucedido da capacidade
Usar esta abordagem estatística para o planejamento de capacidade é a melhor maneira de garantir o desempenho e a eficiência futuros de seus recursos críticos de infraestrutura de TI:
- Coletar dados e medidas granulares de seus recursos atuais de infraestrutura;
- Usar esses dados para criar um modelo preciso de dados de linha de base do seu ambiente atual;
- Em seguida, criar um recurso de modelagem de cenário, que utiliza esses dados da linha de base e permite que você experimente qualquer número de possibilidades de mudança de cenário e observar o impacto.
A alocação apropriada de recursos é uma atividade crítica para alcançar a melhor performance das aplicações em um ambiente virtualizado. A disputa por recursos degrada a performance e a subutilização pode levar a uma elevação desnecessária dos custos.
Turbonomic é uma solução baseada em Inteligência Artificial para Gestão de Capacidade, que otimiza simultaneamente o desempenho, a conformidade e o custo em tempo real, gerenciando automaticamente a pilha completa de aplicativos, executando ações específicas que garantem que seus aplicativos obtenham continuamente os recursos que precisam para atender às necessidades de negócios. Pode ser implementada nas principais plataformas on-premises, na nuvem ou em ambientes híbridos, garantindo automaticamente o desempenho de seus aplicativos 24/7/365.
Outros diferenciais exclusivos do Turbonomic:
- Possibilita a gestão de ambientes virtuais on-premises ou cloud, independentemente do hipervisor utilizado;
Disponibiliza recomendações em tempo real do melhor custo-benefício para o cliente, bem como otimiza o Capacity Planning para uma eventual migração.
Comments are closed.
Recent Comments