DEV Community

Cover image for Conceitos básicos de cloud computing, pt. 2. Virtualização, Hypervisor e Máquinas Virtuais (VMs)
macariobm
macariobm

Posted on • Updated on

Conceitos básicos de cloud computing, pt. 2. Virtualização, Hypervisor e Máquinas Virtuais (VMs)

No post anterior eu mencionei as Máquinas Virtuais e agora chegou o momento de falarmos um pouco mais sobre esse tipo de IaaS.

Mas antes precisamos dar um passo atrás:

💠 O que é virtualização?

O processo de virtualização nada mais é que converter recursos físicos em recursos virtuais.

Existem os seguintes tipos:

❄️ Virtualização em nível de Sistema Operacional (SO) - um software de virtualização (como o Docker) é instalado num SO e, a partir dele, cria, executa e distribui aplicações em pacotes de código com suas dependências. Esses pacotes (chamadas de containers) são independentes entre si e compartilham o kernel (núcleo) do Sistema Operacional do host. Isso permite que vários elementos de uma aplicação funcionem paralelamente e que sejam leves e portáteis, favorecendo, por exemplo, a arquitetura de microsserviços.

❄️ Virtualização de Hardware - nesse caso a virtualização se dá por meio de um software chamado Hypervisor que permite virtualizar CPUs, discos, rede, RAM e gerenciar vários servidores virtuais sobre um mesmo host. Como não compartilham o kernel do SO, é possível rodar servidores Linux sobre um host Windows e vice-versa. Apesar dessa flexibilidade, não podemos perder de vista que todos os recursos compartilham a capacidade de processamento do host.

💠 Tipos de Hypervisor

🌀 Hypervisor tipo 1 - roda logo acima do hardware do host sem precisar de um SO. São exemplos de Hypervisor tipo 1: Hyper-V e VMWARE ESXi. Esse tipo é mais comum em ambientes empresariais.

🌀 Hypervisor tipo 2 - roda sobre o SO do host e são normalmente direcionados ao usuário final. São exemplos de Hypervisor tipo 2: VMWARE Workstation e VirtualBox.

É possível unir os dois tipos de virtualização com a chamada virtualização aninhada ao rodar containers em servidores virtuais.

💠 Mas e as Máquinas Virtuais?

As Máquinas Virtuais (Virtual Machines ou VMs) são exatamente esses servidores virtuais gerenciados pelo Hypervisor que descrevemos ali em cima. Num ambiente cloud, como a VM é um serviço de IaaS, nós enquanto clientes nem nos preocupamos com os recursos computacionais físicos, apenas com o tipo de recurso virtualizado (os provedores oferecem várias VMs com diferentes capacidades) e o que fazemos com eles.

Para ilustrar segue uma imagem didática sobre as diferenças que falamos aqui:

desenho exemplificando a diferença entre os tipos de virtualização

A fonte é o excelente Descomplicando Docker do Jeferson da LinuxTips.

No próximo post veremos como esses recursos são facilmente escaláveis, replicáveis e um pouco sobre redundância.

Top comments (0)