Ao falar em virtualização, é inevitável que a maioria das pessoas a associem à ideia de vários sistemas operacionais rodando na mesma máquina. Esse é, na verdade, um dos diversos tipos de virtualização: a de hardware. Se por um lado ela não é a única, por outro é, certamente, a mais perceptível.
O presente artigo contempla os aspectos triviais da virtualização, com noções conceituais, aplicações práticas e sua forma de interação com o usuário final.
A VIRTUALIZAÇÃO EM SI
Para entender perfeitamente o conceito da tecnologia, deve-se traçar um paralelo entre o que é real e o que é virtual. Seguindo essa linha de raciocínio, algo real teria características físicas, concretas; já o virtual está associado àquilo que é simulado, abstrato. Dessa forma a virtualização pode ser definida como a criação de um ambiente virtual que simula um ambiente real, propiciando a utilização de diversos sistemas e aplicativos sem a necessidade de acesso físico à máquina na qual estão hospedados.
Isso acaba reduzindo a relação de dependência que os recursos de computação exercem entre si, pois possibilita, por exemplo, a dissociação entre um aplicativo e o sistema operacional que ele utiliza (já imaginou acessar o Microsoft Word através do Linux?).
E qual é a vantagem?
Prioritariamente, econômica. Com a iminente crise ambiental global (principal fomentadora da TI verde) e a crescente necessidade de diminuir o desperdício de recursos (incluída aí a energia elétrica), não há nada mais natural que o surgimento de alternativas para otimizar o uso de tais recursos.
Agora pense em um computador no qual opere um servidor de e-mails: mesmo que o disco rígido seja plenamente utilizado, não se pode dizer o mesmo sobre sua capacidade de processamento: enquanto ela pode chegar ao ápice em horários de pico (como às 15h), também pode se aproximar da ociosidade durante a madrugada. E se essa “sobra” fosse usada para gerar relatórios, aproveitando melhor o tempo e processamento livres? Na teoria, surtiria a tão desejada economia de recursos; na prática, isso é obtido através da virtualização.
OS TIPOS DE VIRTUALIZAÇÃO
Virtualização de Hardware
Como mencionado no começo da matéria, a virtualização de hardware consiste em rodar vários sistemas operacionais na mesma máquina. Isso é possível com o uso de programas específicos, que geram máquinas virtuais (Virtual Machines, ou VMs): estas emulam os componentes físicos de um PC, possibilitando que um sistema operacional diferente seja instalado em cada uma delas.
Há duas grandes vantagens na adoção dessa tecnologia: uma voltada a usuários, outra a servidores. No caso dos primeiros, o trunfo consiste em eliminar a incompatibilidade entre aplicativos e sistemas operacionais; pense em um usuário cujo PC tenha o Windows Vista instalado, mas que deseje rodar um aplicativo que só é compatível com o Windows XP. Isso é possível com a criação, nesse PC, de uma VM que rode o WinXP: depois disso, basta instalar o aplicativo nessa VM e executá-lo normalmente (como se fosse um computador dentro de outro).
Quando aos servidores, sua virtualização permite que, ao invés de se ter diversos subservidores (que utilizam apenas uma porcentagem dos recursos das máquinas em que estão hospedados), os processos sejam distribuídos de forma equânime entre um número menor de computadores (que, com isso, chegam mais próximos do aproveitamento total de sua capacidade). Isso reduz a quantidade de mão-de-obra técnica, o espaço para alocar as máquinas e o gasto com eletricidade necessários; tudo isso incorre em economia.
Virtualização da Apresentação
A maioria dos programas disponíveis no mercado funciona no mesmo local em que se encontra a instalação. Isso pode parecer óbvio para usuários tradicionais, mas tal barreira foi quebrada com o uso da Virtualização da Apresentação: trata-se do acesso a um ambiente computacional sem a necessidade de estar em contato físico com ele. Isso propicia, entre outras coisas, a utilização de um sistema operacional completo (bem como de seus aplicativos) de qualquer local do planeta, como se estivessem instalados no seu PC. O conceito é bem parecido com o de acesso remoto, com a diferença de que vários usuários podem se beneficiar do mesmo sistema simultaneamente (sem interferir uns aos outros).
Virtualização de Aplicativos
Cada aplicativo depende do sistema operacional para uma variedade de serviços, como alocação de memória ou gerenciamento de drivers. Resolver incompatibilidades entre determinado programa e o sistema operacional instalado na máquina é fácil, podendo ser feito uso de qualquer um dos dois tipos de virtualização já citados (hardware e apresentação). Mas e quando o conflito é entre dois aplicativos distintos? Pode ser que cada um deles requeira, por exemplo, uma versão diferente de uma mesma DLL.
Isso é resolvido através da virtualização de aplicativos. A técnica consiste em ter uma única cópia de determinado aplicativo, instalada em um servidor virtual; usuários que desejarem ter acesso a tal aplicativo podem fazê-lo diretamente, sem a necessidade de que ele também esteja instalado na máquina física. A partir daí o programa pode ser executado normalmente, já que as características específicas de cada aplicativo (seus drivers, entradas no registro, DLLs e afins) são compiladas e baixadas diretamente para o PC do usuário, através da geração de um aplicativo virtual que fica à parte.
A VIRTUALIZAÇÃO NO FUTURO
A virtualização está chegando com o vento em popa – suas vantagens econômicas são atrativas demais para serem resistidas. A adoção de tecnologias como a computação em nuvens só corrobora para seu inevitável progresso. Será que daqui a alguns anos poderemos acessar nossos PCs de qualquer lugar do planeta? Só o tempo dirá.