Porque usar virtualização?

Sobre virtualização

A virtualização é o ato de criar uma versão virtual sobre algo real. Quando citamos a utilização de servidores virtuais, estamos nos referindo a simular hardware, fazendo assim que tenhamos maior compatibilidade com sistemas operacionais, dispositivos de entrada e saída e equipamentos de rede.

Com a virtualização é possível explorar melhor os recursos de hardware disponíveis na máquina. Utilizando somente um computador, podemos executar várias máquinas virtuais, executar diversos sistemas operacionais simultaneamente, e com fins de utilização diferente. O virtualizador fica responsável por fazer o intermédio entre suas máquinas virtuais (hóspedes) e o hardware. Ele pode fazer o gerenciamento de recursos de hardware, como utilização do processador, da memória e dos dispositivos de armazenamento, limitando ou liberando mais conforme à sua necessidade ou configuração. Uma máquina virtual dificilmente vai influenciar em outra, a menos que esse seja o objetivo da aplicação, ou tenha ocorrido um erro de configuração.

Outra vantagem de se utilizar um servidor virtualizado é a facilidade de configuração de clusters, entre as máquinas virtuais e entre outros servidores. A maioria dos virtualizadores tem ferramentas de snapshot (backup a quente, sem necessidade de desligar a máquina), isso faz com que se tenha mais segurança nas aplicações que rodam no servidor, e agilidade na restauração de um eventual problema. Lembrando que o backup da máquina virtual pode ser enviado para outro servidor dando mais segurança, a velocidade disso depende da comunicação de rede.

Exemplo de virtualização

Diferença entre Hypervisor e Conteiners

Essas duas metodologias de virtualização são um pouco diferentes e podem trazer resultados diferentes. Basicamente a virtualização com contêineres tem uma camada de sistema a menos que o hypervisor.

No hypervisor, cada máquina virtual tem seu próprio kernel e suas próprias bibliotecas de sistema, e o kernel da máquina virtual precisa acessar uma API do hypervisor, e esta faz o controle de acesso ao hardware. Isto facilita a implementação de sistemas com versões de kernel diferente, isolamento de dependências das máquinas virtuais. Exemplos de hypervisor são VmWare Esxi, Proxmox, Xen server.

Já no caso dos contêineres, as máquinas virtuais compartilham o mesmo kernel e as mesmas bibliotecas de acesso ao hardware que o hospedeiro. Isso não torna menos segura a utilização, somente é necessário tomar cuidado com as versões do kernel do hospedeiro em relação ao hóspede. Por exemplo, não é possível fazer o backup de um contêiner com kernel 4.9 e restaurar o backup em um kernel 4.1. A preparação é mais rápida e fácil de uma máquina contêiner, visto que o sistema base já esta pronto para rodar a aplicação na maioria dos casos. Exemplos de hospedeiros contêineres são Docker, Proxmox (LXC).

No esquema abaixo, ao lado esquerdo temos um exemplo de aplicação com hypervisor, ao lado direito temos um exemplo de aplicação com contêineres.

Virtualizacao2.png

Repare que neste caso não existe uma melhor alternativa, tudo depende do cenário e do objetivo das aplicações que vão rodar.

Utilizar o IXCSoft virtualizado

O IXC já foi testado nas duas formas, como Conteiner (Proxmox versão 5.0 ou superior) e como máquina virtual (Proxmox, Xen, Vmware Exsi).

Se tiver em dúvida sobre qual virtualizador escolher recomendamos o Proxmox, porque tivemos sucesso na implementação interna. A manutenção é muito simplificada, a interface web do Proxmox funciona muito bem e dificilmente será necessário acessar o console. O Proxmox consegue trabalhar com contêineres e com hypervisors, possui ferramentas de clusterização e backup, ideal para quem está iniciando ou tem pouca experiência com os temas sistemas virtuais, Linux, ou sistemas operacionais. O Proxmox também é gratuito e open source.

-

Voltar ao menu Virtualização