Acho muito comum em conversas envolvendo virtualização ter o conceito de consolidação, que no contexto da virtualização do servidor refere-se a colocar múltiplas cargas de trabalho físicas em uma única caixa física com separação manuseada pelas barreiras da máquina virtual, tratada como sendo o principal inquilino e característica fundamental da virtualização. Sem dúvida, a consolidação da carga de trabalho representa uma oportunidade incrível com a virtualização, mas é extremamente importante que o valor da virtualização e o valor da consolidação não sejam confundidos. Muitas vezes descobri que a consolidação é vista como o valor-chave na virtualização e a principal justificativa para isso, mas não é o caso. A consolidação é um recurso de bônus, mas nunca deve ser necessária ao justificar a virtualização. A virtualização deve ser uma conclusão quase precipitada enquanto a consolidação deve ser avaliada e muitas vezes não seria usada. O fato de que as cargas de trabalho não devem ser consolidadas nunca deve levar à crença de que essas cargas de trabalho não devem ser virtuais. Então, como você deve tomar decisões sobre virtualização?
Padronização e Simplicidade
A virtualização deve ser pensada como abstração de hardware, pois é realmente o que é, em um sentido prático. A virtualização encapsula o hardware e apresenta um conjunto de hardware previsível e impecável para sistemas operacionais convidados. Isso pode parecer que adiciona complicações, mas, na realidade, ele realmente simplifica um monte de coisas tanto para os fabricantes de sistemas operacionais e drivers, como para os profissionais de TI projetando sistemas. É porque computadores, periféricos de computador e sistemas operacionais são animais tão complexos que essa camada adicional realmente acaba removendo a complexidade do sistema criando interfaces padrão. Da padronização vem a simplicidade.
Esse mesmo conceito de apresentar uma máquina virtual padrão a uma camada de software existe em outras áreas da computação também, como com quantas linguagens de programação são implementadas. Este é um modelo de computação muito maduro e confiável.
A abstração de hardware e a estabilidade que ela traz são motivo suficiente para padronizar a virtualização em todo o quadro, mas a natureza prática da abstração de hardware implementada por todos os produtos de virtualização corporativa disponíveis para nós hoje nos traz características ainda mais importantes. Para ter certeza, a maioria dos benefícios da virtualização pode ser encontrada de alguma outra forma, mas raramente tão completa, confiável, simples ou livremente quanto à virtualização.
Imagem e Testes
O maior conjunto de recursos adicionais normalmente vem da abstração do armazenamento e da memória, permitindo a capacidade de armazenamento instantâneo ou até mesmo todo o estado de funcionamento de uma máquina virtual, que é tirar uma imagem do sistema em execução e armazená-la em um arquivo. Essa habilidade leva a muitos recursos muito importantes, como a capacidade de tirar um instantâneo do sistema antes de instalar um novo software, alterar configurações ou patches, o que permite reversões extremamente rápidas caso algo dê errado. Este recurso aparentemente menor pode levar a uma grande paz de espírito e confiabilidade geral do sistema. Também torna os testes de recursos e testes repetidos muito fáceis em ambientes não produtivos.
A capacidade de instantâneo a partir da camada de abstração também leva à capacidade de fazer backups baseados em imagem, que são backups feitos através do mecanismo de snapshot em uma camada de dispositivo de bloco, em vez de dentro da camada do sistema de arquivos do sistema operacional. Isso permite mecanismos de backup agnósticos do sistema operacional e backups que incluem todo o pool de armazenamento do sistema de uma só vez. Os backups de imagem permitem o que eram tradicionalmente conhecidos como restaurações de metal nu, que permitem restaurar todo o sistema a um estado totalmente em execução sem interação adicional de forma fácil e muito rápida. Nem todos os fabricantes de hipervisor incluem esse recurso ou o incluem a níveis iguais, portanto, embora conceitualmente um recurso importante, é fundamental que a extensão em que esse recurso existe ou é licenciado deve ser considerado caso a caso (notavelmente o HyperV inclui isso totalmente, o XenServer inclui-o parcialmente, e o VMware vSphere só o inclui com níveis de licença não livres.) Quando disponíveis, backups baseados em imagens permitem uma recuperação extremamente rápida em velocidades impensáveis com outras metodologias de backup. Restaurar sistemas em minutos é possível, de desastre à recuperação!
Migrações
A capacidade de tratar máquinas virtuais como arquivos (pelo menos quando não estão em execução ativa) fornece benefícios adicionais relacionados aos benefícios de backup listados acima. Ou seja, a capacidade de migrar rapidamente e facilmente entre hosts físicos e até mesmo mover-se entre hardwares diferentes. Tradicionalmente, upgrades de hardware ou substituições significavam um complicado processo de migração repleto de perigos. Com a virtualização moderna, passar do hardware existente para o novo hardware pode ser um processo confiável e não destrutivo com opções seguras de recuo e pouco ou possivelmente até mesmo zero tempo de inatividade! Tarefas que são incomuns, mas eram muito arriscadas no passado, muitas vezes podem se tornar triviais hoje em dia.
Muitas vezes este é o verdadeiro benefício dos mecanismos de virtualização e abstração. Não é, necessariamente, para melhorar o dia a dia de operações de um sistema, mas para reduzir riscos e proporcionar flexibilidade e opções no futuro. Preparando-se para desconhecidos que são imprevisíveis ou são simplesmente ignorados na maioria das situações comuns. Raramente esse planejamento é feito, para desgosto dos departamentos de TI deixados com atualizações difíceis e perigosas que poderiam ter sido facilmente mitigadas.
Gerenciamento de carga de trabalho e tolerância a falhas
Existem muitas características de virtualização que são aplicáveis apenas a cenários especiais. Muitos produtos de virtualização incluem ferramentas de migração ao vivo para mover cargas de trabalho de execução entre hosts, ou possivelmente até mesmo entre dispositivos de armazenamento, sem tempo de inatividade. Opções tolerantes a altas disponibilidades e falhas estão frequentemente disponíveis permitindo que algumas cargas de trabalho se recuperem rapidamente ou mesmo transparentemente da falha de hardware do sistema, passando de hardware com falha para hardware redundante sem intervenção do usuário. Embora mais um benefício de nicho e certamente não seja incluído em uma lista de por que “quase todas as cargas de trabalho” devem ser virtuais, vale a pena notar como um exemplo primário de recursos que muitas vezes estão disponíveis e podem ser adicionados mais tarde se surgir uma necessidade para eles, desde que a virtualização seja usada desde o início. Caso contrário, uma migração para a virtualização seria necessária antes de ser capaz de aproveitar tais recursos.
Consolidação e redimensionamento
Os produtos de virtualização normalmente vêm com extensos recursos adicionais que só importam em certos casos. Muitos deles caem em uma grande piscina de “em caso de necessidade futura”. Possivelmente o maior de todos estes é o conceito de consolidação, como eu havia mencionado no início deste artigo. Como outros recursos avançados, como alta disponibilidade, a consolidação não é um valor central da virtualização, mas muitas vezes é confundida com isso. As cargas de trabalho que não pretendem alavancar alta disponibilidade ou consolidação ainda devem ser virtualizadas – sem dúvida. Mas essas características são tão potencialmente valiosas como opções futuras, mesmo para cenários onde não serão usados hoje, que vale a pena mencionar independentemente.
A consolidação pode ser extremamente valiosa e é fácil entender por que tantas pessoas simplesmente assumem que ela será usada como muitas vezes valiosa. A opção de consolidar uma vez que uma infraestrutura está em vigor é um ponto-chave de flexibilidade para lidar com as incógnitas de cargas de trabalho futuras. Mesmo quando a consolidação é completamente desnecessariamente hoje, há uma chance muito boa, mesmo nas menores empresas, de que ela será útil em algum momento desconhecido no futuro. A virtualização nos fornece um hedge contra o desconhecido, preparando nossos sistemas para o máximo em flexibilidade. Um dos aspectos mais importantes de qualquer decisão de TI é gerenciar e reduzir riscos. A virtualização faz isso.
Valor e custo
Virtualização é sobre estabilidade, flexibilidade, padronização, gerenciabilidade e seguir as melhores práticas. Todos os principais produtos de virtualização empresarial estão disponíveis, pelo menos de alguma forma, gratuitamente hoje. Qualquer compra exigiria, naturalmente, uma análise cuidadosa do valor versus das despesas. No entanto, com excelentes opções corporativas disponíveis gratuitamente de todas as quatro principais linhas de produtos neste espaço atualmente (Xen, KVM, Hyper-V e VMware vSphere) não precisamos fazer tal análise. Só precisamos mostrar que a implementação não é negativa.
O que facilita a tomada de decisões é que, quando consideramos o caso nominal — o mínimo que toda a virtualização corporativa fornece, que é a abstração de custo zero, o encapsulamento e os benefícios baseados em armazenamento — descobrimos que temos um pequeno benefício em todos os casos, sem desvantagens mensuráveis e um benefício potencial muito grande das áreas de flexibilidade e cobertura contra necessidades futuras. Isso nos deixa com uma vitória clara e uma decisão simples de que a virtualização, sendo livre e sem essencialmente nenhuma desvantagem por si só, deve ser usada em qualquer caso onde possa estar (o que, neste momento, é essencialmente todas as cargas de trabalho.) Recursos adicionais, não essenciais, como consolidação e alta disponibilidade devem ser avaliados separadamente e somente após a decisão de virtualizar já ter sido solidificada. Não há falta de necessidade desses recursos estendidos, de forma alguma, sugere que a virtualização não deve ser escolhida com base em seus próprios méritos.
Esta é simplesmente uma explicação das práticas recomendadas existentes do setor que foram virtualizar todas as cargas de trabalho potenciais por muitos anos. Isso não é novo nem uma mudança de direção. Apenas o fato de que a virtualização em todo o quadro tem sido uma prática recomendada do setor por quase uma década mostra que essa metodologia comprovada e aceita é. Sempre haverá cargas de trabalho que, por uma razão ou outra, simplesmente não podem ser virtualizadas, mas estas devem ser muito poucas e distantes entre si e devem solicitar uma revisão profunda para descobrir por que este é o caso.
Virtualizar ou não?
Ao decidir se virtualizar ou não, a abordagem deve ser sempre assumir que a virtualização é uma conclusão precipitada e só varia disso se uma razão técnica sólida e defendida torna isso impossível. Quase todos os argumentos contra a virtualização vêm de uma posição de mal-entendido com a crença de que consolidação, alta disponibilidade, armazenamento externo, custo de licenciamento e outros conceitos vagamente relacionados ou não relacionados são de alguma forma intrínsecos à virtualização. Eles não são e não devem ser incluídos em uma decisão de virtualização versus implantação física. Eles são separados e devem ser avaliados como opções separadas.
Vale ressaltar que, como a consolidação não faz parte da nossa matriz de decisão na criação de valor base para a virtualização, todas as razões que estamos usando aplicam-se igualmente tanto a uma única implantação virtual em um único dispositivo físico) quanto às cargas de trabalho consolidadas (que são várias máquinas virtuais em um único dispositivo físico).) Não há nenhuma situação em que uma carga de trabalho seja “muito pequena” para ser virtualizada. Em todo caso, é o oposto, apenas as maiores cargas de trabalho, tipicamente com extrema sensibilidade à latência, onde um cenário de nicho de não virtualização ainda existe como um caso de borda, mas mesmo esses casos estão desaparecendo rapidamente à medida que melhorias de latência na virtualização e capacidades totais de carga de trabalho são melhoradas. Esses casos são tão raros e desaparecem tão rapidamente que mesmo tendo tempo para mencionar esses casos é provavelmente imprudente, pois sugere que exceções, com base nas necessidades de capacidade, são comuns o suficiente para avaliar, o que não são, especialmente no mercado de SMB. Quanto menor a carga de trabalho, mais ideal para a virtualização, mas isso é apenas para reforçar que as pequenas empresas, com cargas de trabalho singulares, são o caso mais ideal para a virtualização em todo o quadro, em vez de uma exceção às melhores práticas, para não sugerir que empresas maiores devem procurar exceções em si.