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:
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)