Para realizar uma abordagem mais explicita do que é a virtualização, é
interessante fazer uma breve reflexão do que se entende por máquina e como ela
atende as solicitações do usuário. É normal que um usuário comum enxergue a
máquina como simplesmente um equipamento que atenda as suas solicitações, e não
deveria ser diferente, o objetivo é fornecer o máximo possível de praticidade
em sua utilização, sem que esse venha a ter a necessidade de conhecimentos
técnicos e complexos sobre o funcionamento do hardware.
Segundo Lowe (2009), um computador compreende do trabalho em conjunto do
hardware e software. Em outras palavras, o hardware
e software não trabalham
separadamente, pelo contrário, eles são ligados e dependentes um do outro. Como
já é esperado, em nível de hardware
um computador possui vários componentes, como Central Processing Unit (CPU), memória, disco rígido,
entre outros elementos. Agora em se tratando de software o computador requer um sistema que tenha a capacidade de
gerenciar todos os recursos que o mesmo tenha a sua disposição e o torne
prático de utilizar.
Tanenbaum (2009) comenta que o sistema computacional é visto como uma
série de camadas partindo da mais complexa (inferior) para a mais amigável
(aplicativos). Nesse sistema hierárquico em camadas, quem se encontra na camada
mais baixa é o hardware com todo o
seu nível de complexidade a ser compreendido pelo sistema operacional que vem
logo a acima, e mais adiante os programas de interação com o usuário e os softwares aplicativos como ilustrado na
figura apresentada abaixo.
Sistema computacional em camadas |
Ao lado esquerdo da figura são indicados dois modos de operação para
os softwares, o primeiro equivale ao
Modo Núcleo designado para o sistema operacional e para os demais softwares o Modo é Usuário. Tanenbaum
(2009) diz ainda que no Modo Núcleo a CPU disponibiliza todas as instruções que
pode executar, por outro lado no Modo Usuário são disponibilizados apenas um
subconjunto das instruções que o mesmo pode executar. A diferenciação entre os
modos de operação acontece porque o sistema operacional é um gerenciador de
todos os recursos do hardware,
funcionando como uma ligação entre os softwares
do usuário e o hardware propriamente
dito.
Quando o usuário solicita, por exemplo, salvar um arquivo, o software usuário por si só nada faz,
apenas envia uma requisição ao sistema operacional o qual interage com o hardware solicitando que esse por fim
atenda ao pedido. Mas enquanto o usuário continua a utilizar o computador, o
mesmo usa muito pouco da capacidade dos recursos disponíveis nesse equipamento,
principalmente nos dias de hoje em que dispomos de máquinas cada vez mais
robustas até mesmo para uso doméstico.
Lowe (2009) explica que para compreender a ociosidade dos computadores é
preciso saber os conceitos sobre Hertz (Hz). Um Hz é um cliclo de algo a cada
segundo. O segundo ponteiro do relógio desloca-se na verdade de um tique por
segundo. Cada movimento é um ciclo completo, portando o segundo ponteiro opera
na velocidade de um ciclo por segundo ou 1 Hz.
Associando a abordagem de Lowe e a ociosidade dos computadores,
suponhamos que um usuário digite um caractere por segundo o que corresponde a 8
bits, equivalendo a uma velocidade de 8 bits por segundo ou ainda 8 Hz.
Alegando que o processador do computador do usuário em questão tenha a
capacidade de processar ao menos um bilhão (1.000.000.000) Hz, ou seja, 1 GHz,
o mesmo estará usando apenas 0,000000008% dos seus recursos disponíveis.
Sabendo da ociosidade das máquinas e como ocorre à interação
homem-máquina, é chegada a hora de questionar o que pode ser feito para
melhorar ainda mais a interação, otimização e eficiência dos recursos
computacionais?
Daí eis que surge o conceito de virtualização em meados de 1965 despertada
pela ideia de compartilhamento de tempo entre os processos e mais ainda em 1972
quando a International Business Machines (IBM) produziu um Mainframe com capacidade de executar simultaneamente vários
sistemas operacionais sendo esses controlados por um programa chamado de hypervisor.
Inicialmente a experiência em virtualização não obteve muita demanda
diante dos custos exorbitantes dos equipamentos, sem falar que pouco mais
adiante foi posta no mercado a Arquitetura Cliente/Servidor, o que influenciou o consumo de equipamentos com menos capacidade de
processamento, menor custo e podendo trabalhar interconectados independentes de
sua localização geográfica por meio dos sistemas distribuídos e VPN.
O que trouxe a virtualização a ser retomada com tanto afinco nos dias de
hoje, foi uma consequência da prática do padrão de utilização de máquina com
apenas uma finalidade, esse procedimento é usado com o intuído de diminuir as possibilidades
de falhas entre os softwares da mesma,
o que pode comprometer os serviços disponíveis na rede. Lowe (2009) afirma que a prática de um serviço por
máquina continuou porque ela limita os efeitos das falhas e as interrupções em
um único aplicativo. Tendo por consequência a subutilização dos recursos
computacionais, incentivando a indústria e retomar o foco em serviços
direcionados a virtualização.
A virtualização consiste em separar o hardware do software, a Virtual Machine (VM) é constituída da combinação entre aplicativos e o sistema operacional, sendo
levada a pensar que possui um hardware próprio,
quando na verdade esse é compartilhado com outras máquinas.
Com a virtualização a máquina passa a usar melhor seus recursos
computacionais, podendo serem executadas várias VMs e cada uma fornecendo um
serviço diferente na rede. Caso uma VM venha a falhar, apenas o serviço disponibilizado
por essa será paralisado e as demais permanecem funcional como se nada houvesse
ocorrido, sem falar que a recuperação de problemas passa a ser resolvido em
curto prazo.
Além de resolver drasticamente os problemas envolvendo ociosidade, redução de custo com hardware e tempo de recuperação de falhas, a virtualização traz outros benefícios como economia em contratos de manutenção, refrigeração e energia, além disso, diminui o espaço físico, pois uma mesma máquina pode virtualizar várias outras, ou seja, mesmo ocupando o espaço físico de uma única máquina ela poderá servir como várias máquinas virtuais, ficando as desvantagens presa apenas ao hardware onde as VMs estão alocadas, caso não haja redundância e backups para as mesmas.
Referências bibliográficas:
LOWE, William J. VMware
Infrastructure 3 para leigos. 1 ed. Rio de Janeiro: Alta Books, 2009.
TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 3 ed.
São Paulo: Pearson, 2009.
Nenhum comentário:
Postar um comentário