O que são Máquinas Virtuais (Virtual Machines) e Hipervisores (Hypervisors)?

Máquinas Virtuais são softwares (programas, códigos) que simulam o funcionamento de um hardware (uma peça física de computador) e tem grande utilidade pra qualquer pessoa que seja da área e mexa com softwares e sistemas.

Aqui vão dois vídeos introdutórios sobre o que são máquinas virtuais e hipervisores.

Ótima explicação do DioLinux:

https://www.youtube.com/watch?v=0t5HMbabeuo

Ótimo vídeo da IBM:

https://www.youtube.com/watch?v=FZR0rG3HKIk

Ótima explicação do SimplifcandoTI

https://www.youtube.com/watch?v=-byHgk0ZIxM

Pra quem e pra que servem máquinas virtuais?

Para usuários comuns, e desenvolvedores

Testar/usar softwares perigosos como vírus, sem correr riscos de infectar o seu computador.

Testar/usar softwares pirateados, evitando o risco de vírus dos cracks invadirem seu computador e tendo um maior controle do que sai e entra na rede, evitando processos da empresa dona do software pirateado.

Testar/usar softwares em versão demo, permitindo voltar a máquina no tempo assim que a licensa expirar.

Testar/usar softwares que entram em conflito com outros softwares já instalados no seu sistema operacional original (testar softwares de versões diferentes em uma mesma máquina, uma por máquina virtual).

Criar um ambiente "sandbox" para testes. Testar diversos softwares, e caso algum problema ocorra e tudo pare de funcionar, basta voltar a máquina virtual no tempo, restaurando a um estado quando as coisas funcionavam.

Testar/usar sistemas operacionais diferentes ao mesmo tempo, por exemplo usar Windows, MAC, Linux, Android, IOS ao mesmo em uma só máquina, sem precisar gastar dinheiro com máquinas novas.

Desenvolvedores de aplicativos móveis (Android, IOS)

Testar e desenvolver softwares sem necessariamente ter um Android ou IOS de verdade.

Estudantes e profissionais de Redes estudando e testando funcionamento de redes de computadores

Testar/aprender softwares que simulam uma máquina se comunicando com outra através deu uma rede sem precisar comprar vários computadores reais para isso.

Profissionais de infraestrutura que gerenciam datacenters

Em datacenters é comum que servidores de alta potência sejam "quebrados" em pedaços menores, cada pedaço sendo uma máquina virtual com alguns cores de processamento disponíveis e um pedaço da memória RAM.

Para ter mais facilidade em gerenciar servidores. É mais facil gerenciar recursos virtuais do que físicos. Você pode copiar/fazer backups/espelhar uma máquina virtual de um servidor para outro com poucos cliques.

Para se ter redundância e alta disponibilidade em softwares. Um sistema pode estar rodando em duas máquinas virtuais ao mesmo tempo. Caso uma dê problema a outra assume o trabalho imediatamente.

Quais são os tipos de máquinas virtuais ou hipervisores?

Temos dois tipos de hipervisores. Tipo 1 e Tipo 2.

Softwares Hipervisores Tipo 1

  • Microsoft Hyper-V (Exclusivo Windows)
  • Linux KVM (Kernel-based Virtual Machine) (Exclusivo Linux)
  • ESXI (da VMware)

Softwares Hipervisores Tipo 2

  • VirtualBox
  • QEMU
  • VMWare Player
  • VMWare Workstation

Softwares gerenciadores de máquinas virtuais

  • VirtualBox (o VirtualBox tem um software gerenciador de máquinas virtuais com o mesmo nome que o hipervisor)
  • Nox (usa o VirtualBox ou o Hyper-V)
  • Bluestacks (usa o VirtualBox ou o Hyper-V)
  • GNOME Boxes (pode usar QEMU e KVM)
  • Virtual Machine Manager (pode usar QEMU e KVM)
  • vCenter Server (gerenciam ESXI)
  • vSphere (gerenciam ESXI)
  • Gerenciador do Hyper-V (Hyper-V Manager)