quinta-feira, 24 de março de 2011

Maquina Virtual – você ainda vai ter uma (ou mais)!


Este texto foi originalmente publicado por mim no site FORUMPCs há um bom tempo. Mas resolvi resgatá-lo porque percebi que a previsão que fiz a seis anos aproximadamente estava na direção certa.  


Parafraseando este antigo slogan que fazia apologia do carro a álcool (“carro a álcool você ainda vai ter um”) em meados da década de 70, corro o risco de denunciar minha idade. Mas isso não importa, pois é a melhor forma de expressar minha opinião sobre o tema. Essa tecnologia não pode ser chamada de nova. A IBM já utilizava este conceito em seus mainframes, mais ou menos na mesma época que os tais carros a álcool estavam saindo da linha de produção. Mas cada vez mais me convenço de que é um santo remédio para inúmeras situações que vivemos com nossos PCs no dia a dia.


Meu primeiro contato com o que se podia chamar de máquinas virtuais foi um software chamado DesqView 386 criado em meados da década de 80. Ainda não existia Windows nem mesmo se falava de sessões multitarefa etc. Este pequeno programa prodígio permitia criar diversas sessões DOS em paralelo, cada uma em sua janela rodando simultaneamente. Era um assombro nessa época pré Windows, pré OS/2 etc. Gente boa e gente grande implantou soluções neste ambiente. O antológico Mandic BBS rodava em seus primeiros dias sob DesqView, com 4 sessões de atendimento de telefone em uma mesma máquina.

Com a chegada do Windows (3.0 e 3.11) e seu talento para multitarefa (!!?!!), as necessidades mundanas de trabalho em paralelo estavam atendidas, com restrições é verdade, mas atendidas. Foi no final da década de 90 que um velho amigo me falou de um programa que emulava um PC dentro de outro PC. Fiquei incrédulo, talvez como você que ainda talvez ainda não conheça este tipo de recurso pode estar agora. Para que isso? Ter um PC mais rodando mais lento dentro de outro!! Ledo engano. Não dei atenção e só fui olhar esta pequena jóia quando o programa VMware chegava na sua versão 2.0.

Foi identificação e amor à primeira vista. Imagine você uma janela do Windows, ou Linux (roda nas duas plataformas), na qual aparece o procedimento de POST (power on self test) de um computador de verdade, com direito a pressionar DEL ou F2 para entrar no setup da BIOS, teste de memória, etc. No final do processo… Nada acontece! Decepção? Não. Precisa instalar o sistema operacional como qualquer máquina nova! O boot por CD ou por disquete é requerido para isso, claro, exatamente como um PC novo.
Uma vez instalado o sistema operacional, seja ele qual for, do DOS 6.2 a versão Beta do Windows Vista (conhecida como Longhorn) ou do SUSE Linux, passando por Windows 95, Windows NT, Me, Windows 2000 etc., sua máquina virtual está pronta para uso e com recursos muito interessantes. Você tem controle sobre a quantidade de memória ou HD (virtuais) dessa máquina. Aloque mais RAM ou menos de acordo com a necessidade. Crie um novo HD virtual usando parte de seu HD (um mero arquivo em seu disco), ative portas seriais, paralelas e USB virtuais, placa de som etc. Quer algo mais completo ou bem espartano, o controle é todo seu. Mas o melhor ainda está por vir…
Estas máquinas virtuais permitem além de toda esta flexibilidade de configuração algo que não tem preço, estabilidade e confiabilidade. Eu explico com um exemplo prático. Em meu escritório eu tenho um servidor Windows 2003 que roda aplicações críticas para mim com servidor Web (IIS), Exchange Server, SQL Server, VPN Server etc. Uma vez eu tive uma pane de hardware e tive que montar outra máquina com toda esta parnafernália de novo. Foram dois dias até ter todos os detalhes em perfeita ordem. Hoje em dia meu servidor roda em uma MÁQUINA VIRTUAL VMware. Em outra pane de hardware que eu tive bastou que eu transferisse 3 arquivos do HD da máquina para meu notebook, que também tem VMware instalado, para que em 10 exíguos minutos meu notebook assumisse a função de servidor sem perda alguma.O “truque” é que o VMware virtualiza todo o hardware, a placa de vídeo, rede, som, etc. são todas virtuais e por isso basta “subir a máquina virtual” em outro PC, que pode ser completamente diferente em termos de características físicas, que tudo fica bem. Contingência para servidores é de cara uma aplicação óbvia e muito bem vinda.
Mas o atento leitor deve estar pensando, “deve ser muito mais lento”. Seria impossível ter desempenho igual ao da máquina “mãe”. Mas garanto, é muito bom. Tanto mais o hardware avança mais sentido faz tudo isso. Claro que máquinas virtuais entram em rede com a máquina “mãe” e com a rede local toda. Se existir gateway de internet essa pega o IP automaticamente e tem acesso também à Internet.
Vou citar alguns outros usos que faço habitualmente e sugerir mais alguns outros :

1. Testes de softwares ou sistemas operacionais : como o VMware tem um recurso de “disco não persistente”, eu tenho máquinas virtuais prontinhas com vários sistemas operacionais. Escolho uma, instalo o software, testo e quando a máquina é desligada ela volta exatamente ao ponto original. É ótimo também para testar versões beta de softwares e sistemas ou provar aquele Linux específico que seu amigo tanto fala!

2. Usando também este recurso de disco não persistente, eu uso máquinas virtuais para acessar sites pouco confiáveis. É muito freqüente após visitar sites “underground” sua máquina ficar um lixo, cheia de programas malignos. Eu nem medo tenho, quando aparece a mensagem “preciso instalar o ActiveX bla bla bla” eu concordo solenemente e na hora que desligo a máquina virtual tudo volta para trás. Pra vocês terem uma idéia eu só uso KAZAA em Virtual Machine.

3. Testes com programas perigosos como por exemplo estudar o efeito de um Vírus ou de um Worm. Seria idiotice fazer isso em sua máquina de produção. E mesmo que fosse em uma máquina de testes, ter que formatar tudo para outro teste seria muito chato.

4. Meu uso primordial : recuperação de contingência de servidor crítico-instalado em uma máquina virtual. Há empresas que usando versão mais parruda do VMware (versão GSX) fazem a chamada consolidação de vários servidores em uma única máquina física (bem parruda). A empresa Locaweb vende servidor dedicado virtual-adivinha qual a tecnologia por trás disso? Sim essa mesma.

5. Desenvolvimento de aplicações : descobri empiricamente que o melhor ambiente para compilar aplicações e gerar pacotes de instalação é o (pasmem!) Windows NT Workstation. Todo desenvolvimento que faço a compilação final e a geração do pacote de setup é feita nessa máquina virtual NT. Se feito no XP muitas vezes o pacote de instalação não funciona direito no W98 ou Me.

6. Separação de ambiente. Sabe aquilo que o XP tem (o NT já tinha algo parecido), cada usuário tem a sua área de trabalho? Porque não, para evitar brigas domésticas cada usuário da casa ter o seu próprio PC Virtual?!!! Assim além de separar as bobagens que cada um faz, dá para usar o recurso de “snapshot” do VMware para retroceder ao um estágio confiável, mais radical que o System Restore do XP. Dá até para impedir que os mais afoitos saiam instalando coisas de qualquer jeito.

7. Como já foi dito, fazer o backup da máquina inteira é uma moleza, basta copiar o arquivo de configuração e o arquivo que é o HD virtual.
Bem já deu para ver que sou fissurado nisso, mas com bons motivos, não acham? Uma crítica que pode ser feita é quanto a performance de jogos 3D sob este ambiente. A placa de vídeo virtual ainda não tem a destreza que uma ATI ou NVIDIA nativa podem ter. Mas alguém tem alguma dúvida que isso não é só uma questão de tempo ??

A Microsoft abraçou 100% a virtualização. Ela era usuária do VMware internamente em seus projetos de desenvolvimento há muitos anos. Tentou comprar a empresa, mas não conseguiu e por isso comprou a concorrente. Hoje existe o Microsoft VIRTUAL PC e Microsoft VIRTUAL SERVER, que são as versões de Redmond análogos. O próprio VIRTUAL PC era conhecido pelo pessoal de MAC, pois como roda no “computador da maçã”, estes usuários quando precisavam usar algo de Windows (sim, eles às vezes fazem isso), usavam o Virtual PC para tal. Também é um belo produto e vale a pena ser visto. Mas como meu caso de amor com o VMware é antigo, não troco de plataforma (sem contar dezenas de máquinas virtuais que tenho gravadas em HDs, CDs e DVDs).


Por fim a Microsoft criou com o Windows Server 2008 sua própria versão "pesada" de virtualização, o HYPER-V, que vem gratuitamente com esta versão do sistema.Este também já tem larga adoção entre as empresas e se tornou um ótimo concorrente do VMware, assim como a solução XEN para quem é usuário de LINUX.

2 comentários:

  1. Amigo Xandó, também sou usuário de máquinas virtuais, coincidentemente desde a versão 2.0 do Vmware e realmente é uma mão na roda, como trabalho com Rede e segurança, consigo simular uma rede inteira no meu PC para realzar testes com Active Directory, Firewall e etc. Logicamente tenho bastante memória no PC (8GB) e processador multi-core (Quad core).

    ResponderExcluir
  2. Oi Daniel!! Que prazer receber comentário seu aqui no meu blog. Esta situação 8 Gb e Quad Core é a ideal para virtualização, embora primeiros passos podem ser dados em máquina mais modestas. Abraços.

    ResponderExcluir