Algumas notas sobre Virtualização

Zandra Monteiro
2 min readDec 27, 2021
homem segurando um telefone

No modelo tradicional, o software é instalado em um sistema operacional que se encontra no hardware. Então sempre que o software demanda por mais infraestrutura física para dar suporte aos serviços e usuários, acontece o upgrade vertical.

Para tentar resolver essa questão, surge o upgrade horizontal: computadores trabalhando juntos para dividir tarefas enquanto compartilham recursos. Para atender às crescentes demandas, novos computadores são adicionados ao cluster, mantendo sua própria estrutura de sistema operacional e, assim, seu próprio processo.

A virtualização vem para separar o sistema operacional e o hardware por adicionar uma camada de software que simula a infraestrutura física. Isso possibilita, por exemplo, rodar diferentes sistemas operacionais na mesma máquina. O caminho oposto também acontece: devido à camada de virtualização, o sistema operacional (nesse contexto, chamado máquina virtual) somente “enxerga” um hardware.

Benefícios?

Virtualização pode reduzir os investimentos em hardware, energia e espaço físico. Como nem todos os processos demandam o mesmo volume de processamento (CPU), memória (I/O) e outros recursos, aqueles que não estão em uso no momento podem ser reduzidos sem danos para o processo. Com a otimização dos recursos, não há a necessidade da aquisição de novos equipamentos, custo de manutenção, energia e outros.

Além disso, a manutenção de sistemas legados é um grande desafio encontrado por muitas empresas. Algumas vezes um hardware antigo tem a responsabilidade de manter uma aplicação rodando com configurações específicas, mesmo que tenham sido descontinuadas. A virtualização permite simular o hardware obsoleto sem o risco de uma parada fatal. Ainda, uma vez que as máquinas virtuais trabalham de forma independente, se acontecer um problema com alguma delas, não irá afetar as outras.

Também é possível emular vários hardwares, de diferentes arquiteturas, e testar aplicações feitas para rodar em um sistema específico, sem a necessidade de comprar cada equipamento.

Tipos:

  • Virtualização de aplicativos: um aplicativo pode estar hospedado em apenas uma máquina e acessado por um enorme número de usuários, com um custo reduzido, uma vez que os custos são divididos entre todos os usuários.
  • H-based: uma camada de software chamada Hypervisor gerencia a comunicação de cada máquina virtual (MV) e o sistema operacional hospedeiro.
  • OS-based: o uso de containers melhora o gerenciamento de serviços e recursos na nuvem.

A diferença entre MV e container é que o container é executado como um processo isolado no hospedeiro e compartilha seu sistema operacional, enquanto que a MV tem um sistema operacional completo para cada máquina virtual.

Para saber mais sobre esse assunto, recomendo este vídeo.

Deseja ler este texto em inglês? Então acesse este link.

--

--

Zandra Monteiro

Passionate about programming and solving problems using code! Enjoying this amazing journey of becoming a dev, I’ll share here some of it.