O que são Máquinas Virtuais?

Para realizarmos qualquer tarefa em um computador, precisamos invariavelmente escolher um sistema operacional. Quando fazemos essa escolha, colocamos na balança todos os prós e contras entre o sistema A ou B, e escolhemos aquele que nos trará mais vantagens, tendo que deixar o outro de lado.

Mas o que você acha de poder aproveitar o que cada SO tem de melhor? E se você pudesse escolher qual utilizar em um momento ou outro?

Com uma máquina virtual você pode!

Claro que existem outras maneiras de fazer isso, como várias máquinas físicas, utilizar dual boot, mas com máquinas virtuais isso se torna bem simples, rápido e barato.

O que é uma máquina virtual?

Uma máquina virtual ou VM, é um computador emulado em um ambiente de virtualização. Isso quer dizer que você pode implementar novos computadores através de software, e isso se torna muito interessante, pois permite instalar sistemas operacionais diferentes do que sua máquina física possuí, criar ambientes isolados, onde as aplicações não podem interferir umas nas outras, fazer o escalonamento vertical da VM dependendo da sua necessidade, entre várias outras vantagens que só conseguimos utilizando uma máquina virtual.

Atualmente os principais softwares utilizados para virtualização são:

  • Hyper-V
  • VMWare
  • Virtual Box
  • Xenserver (na verdade não é um software, mas uma espécie de distro Linux especializada para virtualização)

Aqui vou falar um pouco mais o Hyper-V, pois tenho utilizado muito ultimamente.

Hyper-V

Em quase todas as versões desktop do Windows 7 em diante é possível habilitar o Hyper-V nas features do Windows.

Quando o Hyper-V é habilitado, as máquinas virtuais não acessam os recursos físicos como processador e memória diretamente. Para este acesso é utilizada uma camada chamada Hypervisor e é ela quem administra os recursos físicos. O interessante é que não apenas o SO das máquinas virtuais criadas pelo Hyper-v, como o próprio SO hospedeiro, aquele que foi instalado na sua máquina e que você está utilizando para criar suas máquinas virtuais, utilizam o Hypervisor para acessar memória, processador, disco, e os outros recursos. Assim, para o Hyper-V, o nosso SO principal é uma máquina virtual.

Hyper-V vs Virtual Box

Quando você utiliza o Hyper-V, devido ao fato de seu sistema operacional hospedeiro ser utilizado como uma máquina virtual, existem algumas limitações. Uma delas é que atualmente não é possível criar uma VM dentro de outra (Nested Virtualization).

Na prática, a maioria das pessoas percebe essa limitação quando tenta utilizar o Virtual Box, ou algum outro meio de virtualização em paralelo ao Hyper-V. Para um software de virtualização funcionar ele precisa administrar alguns recursos do hardware. Aí é que está o problema. Lembra que o Hyper-V administra os recursos de hardware? Então, ele é meio egoísta, e não permite que mais nada tenha acesso a esses recursos.

No Windows Server 2016 TP4 até existe essa opção, mas o Windows “esconde” esse recurso. Com algumas linhas de comando é possível habilitá-lo, mas para isso é necessário ter um processador com tecnologia VT-x e esse cenário só é recomendado para fins de estudo uma vez que ainda não foi amplamente testado, e ainda existem muitos recursos que ainda não funcionam corretamente.

Containers

De uns tempos para cá tem se falado muito sobre containers. Esse assunto merece um post só para ele, portanto não vou aprofundar muito nesse assunto agora.

A grosso modo, um container é uma máquina virtual que compartilha o Kernel com o SO hospedeiro, e por isso ele é muito mais leve, tornando-o útil em vários cenários, principalmente quando precisamos criar recursos computacionais rapidamente.

Em breve pretendo criar um post com mais detalhes sobre containers.

Como eu crio uma máquina virtual?

Abaixo vou deixar alguns links com instruções de instalação e configuração do Hyper-V, e como criar uma Máquina Virtual.

Habilitando o Hyper-V no Windows 10

Criando uma máquina virtual

Conectando minha máquina virtual à rede

Espero ter ajudado com os conceitos básicos sobre Máquinas Virtuais, e sobre como o Hyper-V funciona.

Até mais!

Estudo para Certificação 70-532 – Implementing Microsoft Azure Infrastructure Solutions

Olá pessoal!

Irei iniciar uma série de posts onde abordarei os assuntos exigidos para a certificação da Microsoft 70-533, pois, apesar da grande quantidade de conteúdo em inglês, ainda encontramos muito pouco sobre esse assunto em português.

Essa prova é muito conhecida como a prova do Microsoft Azure voltada para a Infraestrutura, mas apesar do nome, esse conteúdo é muito interessante para todos os profissionais ou entusiastas que desejam trabalhar com a nuvem da Microsoft, já que, cobre as tarefas mais comuns realizadas dentro da plataforma como:

  • Criação/gerenciamento de máquinas virtuais;
  • Criação/gerenciamento de redes virtuais;
  • Criação/gerenciamento de Blob Storages;
  • Criação/gerenciamento de sites utilizando plataforma como serviço (PaaS);
  • Monitoramento de aplicações e máquinas virtuais;
  • E muitos outros assuntos relacionados;

Como guia para os posts, irei utilizar a referência que existe no próprio site da Microsoft:

Conforme for publicando, irei atualizar está página com os links. 😉

Até mais!