O que é uma máquina virtual? (Porquê e quando usá-la)

  • Compartilhar Isso
Cathy Daniels

Se você trabalha na indústria de software ou ao redor dela, você provavelmente já ouviu falar de máquinas virtuais. Se não, você pode estar se perguntando o que elas são e para que elas são usadas.

Como engenheiro de software, uso máquinas virtuais diariamente. São ferramentas potentes no desenvolvimento de software, mas também têm outros usos. Também conhecidas como VMs, muitas empresas as utilizam devido à sua flexibilidade, confiabilidade e custo-benefício; elas também evitam desastres de testes de software em execução.

Vamos dar uma olhada no que são máquinas virtuais e porque elas são usadas.

O que é uma Máquina Virtual?

Uma máquina virtual é uma instância de um sistema operacional (SO) como o Windows, Mac OS ou Linux rodando dentro do SO principal de um computador.

Uma máquina virtual tem todas as funcionalidades e age como um computador ou máquina separada. Em essência, uma máquina virtual é um computador virtual a correr dentro de outro computador conhecido como máquina anfitriã.

Imagem 1: Máquina virtual funcionando em um laptop.

Uma máquina virtual não tem hardware (memória, disco rígido, teclado ou monitor). Ela usa hardware simulado da máquina host. Por isso, várias VMs, também chamadas de "guests", podem ser executadas em uma única máquina host.

Imagem 2: Máquina host executando várias VMs.

O host também pode executar várias VMs com diferentes sistemas operacionais, incluindo Linux, Mac OS e Windows. Esta capacidade depende de um software chamado hypervisor (ver imagem 1 acima). O hypervisor roda na máquina host e permite criar, configurar, executar e gerenciar máquinas virtuais.

O hipervisor aloca espaço em disco, agenda o tempo de processamento e gerencia o uso de memória para cada VM. É o que fazem aplicativos como Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V, e muitos outros: são hipervisores.

Um hipervisor pode ser executado em um laptop, PC ou servidor. Ele torna as máquinas virtuais disponíveis para o computador local ou usuários distribuídos em uma rede.

Diferentes tipos de máquinas e ambientes virtuais requerem diferentes tipos de hipervisores. Vamos dar uma olhada em alguns deles.

Tipos de Máquinas Virtuais

Máquinas virtuais do sistema

As VMs do sistema, às vezes chamadas de virtualização total, são executadas por um hipervisor e fornecem a funcionalidade de um sistema de computador real. Elas utilizam o sistema operacional nativo do host para gerenciar e compartilhar os recursos do sistema.

As máquinas virtuais do sistema muitas vezes requerem um host potente com CPUs rápidas ou múltiplas, grandes quantidades de memória e toneladas de espaço em disco. Algumas, que rodam em computadores pessoais ou laptop, podem não exigir o poder de computação que os grandes servidores virtuais corporativos precisam; no entanto, elas rodarão lentamente se o sistema host não for adequado.

Máquinas Virtuais de Processo

Processar Máquinas Virtuais são bem diferentes de SVM - você pode tê-las rodando na sua máquina e nem mesmo sabê-lo. Elas também são conhecidas como máquinas virtuais de aplicação ou ambientes de tempo de execução gerenciado (MREs). Essas máquinas virtuais rodam dentro de um sistema operacional host e suportam aplicações ou processos de sistema.

Por que usar um PVM? Eles executam serviços sem depender de sistemas operacionais ou hardware específicos. Eles têm seu próprio SO com apenas os recursos necessários. O MRE está em um ambiente separado; não importa se ele roda em Windows, Mac OS, Linux ou qualquer outra máquina host.

Uma das Máquinas Virtuais de Processo mais comuns é aquela que você provavelmente já ouviu falar e pode ter visto em execução no seu computador. Ela é usada para executar aplicações Java e é chamada de Máquina Virtual Java ou JVM para abreviar.

Tipos de Hipervisores

A maioria das máquinas virtuais que nos preocupam usam um hipervisor porque imitam um sistema informático inteiro. Existem dois tipos diferentes de hipervisores: Hipervisores de metal nu e Hipervisores Hospedados. Vamos dar uma olhada rápida em ambos.

Hipervisor de metal nu

BMHs também podem ser chamados de hypervisors nativos, e eles rodam diretamente no hardware do host ao invés de rodar dentro do sistema operacional do host. Na verdade, eles tomam o lugar do sistema operacional do host, agendando e gerenciando o uso do hardware por cada máquina virtual, cortando assim o "middle man" (o SO do host) no processo.

Os hipervisores nativos são normalmente utilizados para VMs empresariais de grande escala, que as empresas utilizam para fornecer recursos de servidor aos funcionários. Microsoft Azure ou Amazon Web Services são VMs hospedadas neste tipo de arquitetura. Outros exemplos são KVM, Microsoft Hyper-V, e VMware vSphere.

Hipervisor hospedado

Os hipervisores hospedados rodam em sistemas operacionais padrão - como qualquer outra aplicação que rodamos em nossas máquinas. Eles usam o sistema operacional do host para gerenciar e distribuir recursos. Este tipo de hipervisor é mais adequado para usuários individuais que precisam rodar vários sistemas operacionais em suas máquinas.

Estes incluem aplicativos como Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop e muitos outros. Você pode encontrar informações mais detalhadas sobre hipervisores hospedados em nosso artigo, Melhor software de máquina virtual.

Por que usar máquinas virtuais?

Agora que você tem uma compreensão básica do que é uma máquina virtual, você provavelmente pode pensar em algumas aplicações excelentes. Aqui estão algumas das principais razões pelas quais as pessoas usam máquinas virtuais.

1. custo-efetivo

As máquinas virtuais são rentáveis em numerosas situações. Uma das mais proeminentes é no mundo corporativo. Usar servidores físicos para fornecer recursos aos funcionários pode ser muito caro. O hardware não é barato, e mantê-lo é ainda mais caro.

A utilização de máquinas virtuais como servidores empresariais tornou-se agora a norma. Com as VMs de um fornecedor como o MS Azure, não há aquisição inicial de hardware nem taxas de manutenção. Estas VMs podem ser configuradas, configuradas e utilizadas por apenas cêntimos por hora. Também podem ser desligadas quando não estão a ser utilizadas e não têm qualquer custo.

O uso de uma VM em sua máquina também pode ser uma grande economia de dinheiro. Se você precisar trabalhar em vários sistemas operacionais ou em diferentes configurações de hardware, você pode

usar várias máquinas virtuais em uma máquina - não é necessário sair e comprar um computador separado para cada tarefa.

2. escalonável e flexível

Quer sejam servidores corporativos ou VMs rodando em seu laptop, as máquinas virtuais são escaláveis. É fácil ajustar os recursos para atender às suas necessidades. Se você precisar de mais memória ou espaço em disco rígido, basta entrar no hipervisor e reconfigurar a VM para ter mais. Não há necessidade de adquirir novo hardware, e o processo pode ser concluído rapidamente.

3. configuração rápida

Um novo VM pode ser instalado rapidamente. Já tive casos em que precisei de uma nova configuração de VM, chamei meu colega de trabalho que as gerencia, e as tinha prontas para uso em menos de uma hora.

4) Recuperação em caso de desastre

Se você está tentando evitar a perda de dados e se preparar para a recuperação de desastres, os VMs podem ser uma ótima ferramenta. Eles são fáceis de fazer backup e podem ser distribuídos em locais diferentes, se necessário. Se um terceiro como a Microsoft ou a Amazon hospeda as máquinas virtuais, eles estarão fora do local - o que significa que seus dados estarão seguros se o seu escritório queimar.

5. Fácil de Reproduzir

A maioria dos hipervisores permite-lhe fazer uma cópia, ou imagem, de uma VM. A imagem permite-lhe fazer facilmente reproduções exactas da mesma VM base para qualquer situação.

No ambiente em que trabalho, damos a cada desenvolvedor uma VM para usar no desenvolvimento e teste. Este processo nos permite ter uma imagem configurada com todas as ferramentas e softwares necessários. Quando temos um novo desenvolvedor a bordo, tudo o que temos que fazer é fazer uma cópia dessa imagem, e eles têm o que precisam para começar a trabalhar.

6. perfeito para Dev/Teste

Uma das melhores vantagens de usar máquinas virtuais é que elas são uma ferramenta perfeita para o desenvolvimento e teste de software. As VMs permitem que os desenvolvedores desenvolvam em várias plataformas e ambientes em uma máquina. Se essa VM for corrompida ou destruída, uma nova pode ser criada rapidamente.

Eles permitem que um testador tenha um novo ambiente limpo para cada ciclo de testes. Trabalhei em projetos onde configuramos scripts de testes automatizados que criam uma nova VM, instalamos a última versão do software, executamos todos os testes necessários e depois apagamos a VM após a conclusão dos testes.

As VMs funcionam esplendidamente para testes e revisões de produtos como as que fazemos aqui na SoftwareHow.com. Posso instalar aplicativos em uma VM rodando na minha máquina e testá-los sem desorganizar meu ambiente principal.

Quando acabo de testar, posso sempre apagar a máquina virtual, depois criar uma nova quando preciso. Este processo também me permite testar em múltiplas plataformas, mesmo tendo apenas uma máquina Windows.

Palavras Finais

Como você pode ver, as máquinas virtuais são uma ferramenta versátil e econômica que pode ser usada para muitos aplicativos. Não precisamos mais comprar, configurar e manter hardware caro para fornecer acesso ao servidor para testadores, desenvolvedores e outros. As VMs nos dão a flexibilidade para criar fácil e rapidamente os sistemas operacionais, hardware e ambientes que precisamos - a qualquer momento.

Sou Cathy Daniels, especialista em Adobe Illustrator. Uso o software desde a versão 2.0 e crio tutoriais para ele desde 2003. Meu blog é um dos destinos mais populares da web para pessoas que desejam aprender a usar o Illustrator. Além do meu trabalho como blogueiro, também sou autor e designer gráfico.