28 de setembro de 2009

Softwares para virtualização de computadores

Mesmo com a queda dos preços dos componentes de computadores, como memória e disco rígido, a virtualização de hardware tem sido uma boa opção para empresas reduzirem custos. A ideia é simples : compra-se um único computador potente o bastante para comportar a emulação de diversas máquinas, com a possibilidade de simular diversos ambientes diferentes. Ou seja, paga-se por uma máquina e pode-se ter diversas outras pelo mesmo preço.

Há diversos softwares no mercado para virtualização tanto de servidores quanto de desktops mas acredito que os mais comuns sejam o Virtual PC da Microsoft e o VMWare da empresa de mesmo nome. Ambos possuem versões gratuitas para virtualização do Desktop.

Em ambos os casos, a máquina real tem seu próprio sistema operacional, que é onde o software de virtualização executará. As máquinas virtuais, então, são carregadas e emuladas dentro do software de virtualização. Elas compartilham o hardware da máquina real, isto é, usam a mesma mémoria, o mesmo disco rígido, rede, impressoras que estejam instaladas, etc - daí a necessidade do computador real ser robusto, caso contrário as máquinas virtuais podem se tornar tão lentas que deixa de ser interessante a virtualização.

A grosso modo, a máquina ou computador virtual é apenas um grande arquivo cujo conteúdo simula a estrutura existente num disco rígido de uma máquina real. O software de virtualização fornece, através de drivers internos, maneiras do sistema operacional interagir com essa estrutura e com o resto do hardware. Assim, o sistema operacional que está executando na máquina virtual é levado a crer que trabalha com uma máquina convencional.

Uma peculiaridade decorrente dessa forma de trabalhar é que as máquinas virtuais permitem que se salve o contexto de trabalho. Isto é, você pode modificar arquivos, realizar instalações, modificar configurações, etc. e só aplicar as alterações se julgar conveniente. Se não gravá-las, a próxima vez que entrar na máquina virtual, você irá encontrá-la exatamente no mesmo estado que se encontrava antes, isto é, com os dados efetivados pela última gravação que você tenha feito. Na ABC71, por exemplo, eu uso o Virtual PC da Microsoft para fazer testes quando há alterações no programa instalador do nosso ERP. Realizo a instalação, vejo se os arquivos foram copiados corretamente, se as chaves no Registry foram criadas e estão íntegras, se o banco de dados foi populado com os registros iniciais necessários, etc. Após o teste, saio sem gravar as alterações na máquina virtual e ela estará pronta para um novo teste no futuro, sem apresentar traços dos testes de instalação anteriores.

A aplicação desse tipo de software é vasta e não se restringe a poupar dinheiro com a compra de máquinas. Além do uso para instalação de softwares como citado acima, há outras possibilidades de uso interessantes:
Num ambiente de treinamento onde há turmas em períodos distintos usando a mesma sala e mesmos equipamentos, máquinas virtuais distintas para cada aluno separa o estado de cada computador, evitando interferências do ambiente de um aluno no ambiente do outro. Se por acaso for o mesmo curso, evita até que um "cole" do outro.
Quando é necessário ter ambientes heterogênios para testes. Por exemplo, analisar o comportamento de uma aplicação em sabores diferentes do próprio Windows (XP, Vista, 98, etc) Como é possível instalar sistemas de outros fabricantes - como Linux - o caminho fica aberto para testar aplicações Web em browsers de sistemas operacionais diversos e, também, para validar aplicações .NET Multiplataforma.
Para usar aplicações legadas, isto é, programas que só rodam em uma versão antiga do sistema operacional. Isto permite que se atualize a versão do Windows num computador sem correr o risco de ter que deixar de usar a aplicação em questão.
Há certas aplicações que não conseguem trabalhar direito quando uma outra determinada aplicação também está instalada. Seja porque teriam que compartilhar algum recurso do computador (uma versão distinta de um driver ou de um arquivo) ou porque exijam uma configuração mutuamente exclusiva. Um caso típico são aplicações Java que precisam de uma versão distinta do JVM para funcionar.

Além disso tudo, como todas as máquinas virtuais se encontram numa mesma máquina real, é mais fácil gerenciá-las. E, como as máquinas em si se restrigem ao arquivo que representam seu conteúdo, fica mais fácil fazer backups.

Nenhum comentário :

Postar um comentário

OBS: Os comentários enviados a este Blog são submetidos a moderação. Por isso, eles serão publicados somente após aprovação.

Observação: somente um membro deste blog pode postar um comentário.