Mostrando postagens com marcador Virtualização. Mostrar todas as postagens
Mostrando postagens com marcador Virtualização. Mostrar todas as postagens

22 de out. de 2007

Virtualizar ou não virtualizar?

Estamos vendo uma nova grande onda na área de TI. Quer dizer, a onda é nova na era x86, mas a tecnologia em sí já existe desde os anos 1960 quando era utilizada em mainframes. O artigo que escrevo agora refere-se à recente utilização de máquinas virtuais na arquitetura x86.

Para quem está chegando agora, virtualizar significa disponibilizar os recursos de um computador físico (processador, armazenamento, memória RAM, interfaces de rede e outros) para sistemas operacionais distintos. Isto significa instalar vários sistemas em uma mesma máquina, cada um independente dos outros e com acesso "direto" ao hardware.


A essência da Virtualização: N servidores virtuais x 1 servidor físico


O compartilhamento de recursos

Há algumas ferramentas no mercado maduras o suficiente para realizar virtualizações: as nativas, como VMWare Server e Microsoft Virtual PC, e as chamadas "paravirtualiações", como o XEN do GNU/Linux - mas não quero me envolver na melhor escolha ou brigas ideológias, e sim discutir os reais benefícios da virtualização.

Estive no Symposia 2007, um evento mundial realizado pela VMWare com presença das grandes empresas de hardware (HP, IBM, Unisys, EMC entre outras) e pode-se dizer que todas estão apostando alto em virtualização. E com razão: pode-se aumentar brutalmente a eficiência, desempenho e disponibilidade, e ao mesmo tempo melhorar o custo benefínio. Quem não gostaria de conseguir tudo isso ao mesmo tempo?

Agora chegamos no dilema de todos os "tarados" por tecnologia: apreciamos a beleza das inovações por sí só, mas é necessário que se levante a aplicabilidade para os negócios. O downside de se conseguir todas as vantagens da virtualização é o alto custo inicial: servidores com alto processamento e memória RAM são necessários, assim como uma SAN para armazenar os dados. A real eficiência só aparece quando a razão Máquinas Virtuais x Servidores reais é alta (não há razão em construir toda uma estrutura para colocar apenas duas máquinas virtuais, por exemplo).

Portanto, em uma grande corporação, onde existe a real necessidade e orçamento para a implementação total, é fácil comprovar, implementar e pagar uma solução completa de virtualização com clusters e movimentação de máquinas virtuais entre servidores. Mas e nas pequenas e médias empresas? A virtualização ainda pode ser eficiente?

Tomemos como exemplo uma empresa com um servidor Linux defasado, sem atualização alguma e sem servidor de backup, e um outro servidor que tenha Windows instalado. Realizar uma atualização do sistema operacional Linux é uma tarefa necessária porém muito arriscada, pois dependeria somente de backups realizados em fitas DAT, e nesse ponto uma máquina virtual se mostraria útil. Há vários softwares de virtualização gratuitos e sólidos - caso do VMWare Server (o ESX é a solução paga da VMware) e da solução Microsoft, que deixou de ser cobrada. Instalar um servidor Linux virtual de backup em cima do servidor físico Windows é uma tarefa bastante trivial, e traz a segurança da redundância para a realização da atualização . É uma precaução extra muito mais simples que montar um computador somente para ser o backup e que pode reduzir muitas dores de cabeça no caminho.

Outra utilidade da virtualização em pequenas empresas é na criação de ambientes de teste. Estou trabalhando para encontrar a melhor forma de integração de sistemas Linux com o Active Directory, e criei algumas máquinas virtuais para realização de testes - brincar com NIS e Winbind podem trazer sérios danos ao SO, risco que poucos estariam dispostos a correr em servidores de produção.

Realizei testes comparativos para testar a performance da máquina virtual. Não foi o teste mais
correto devido às diferenças de hardware, porém serve para ter um parâmetro. O ambiente foi o seguinte:

1) Servidor Linux , Kernel 2.2, Dual Xeon 700Mhz, 2Gb RAM
2) Servidor Windows 2003 com VMWare Server instalado, single Intel Xeon Quad-Core 1.6Ghz, 2Gb RAM e Máquina Virtual Debian Linux Etch com 256MB de RAM alocados.

Com os dois servidores isolados, executo um processo do sistema que utiliza muito o processador. Todos os meses o processo é executado no servidor Linux e demora cerca de 45 minutos. Quando executado no servidor virtual, a "surpresa": o tempo não chegou a 15 minutos. Apesar da disparidade do hardware eu me ví realmente surpreso pois pensava que a máquina virtual perderia desempenho somente por ser virtual. Pura ignorância.

Pretendo executar testes mais precisos, como performance de discos e memória, mas desde já posso afirmar que a virtualização é uma boa saída inclusive para pequenos ambientes onde o investimento em TI não é alto, podendo tornar a vida dos administradores mais segura e eficiente.