Qual o Futuro da Virtualização de Servidores?

Qual o Futuro da Virtualização de Servidores?

Container e computação sem servidor estão se tornando mais comuns. Seriam duas ameaças?

O que aconteceria se em vez de executar uma instância do sistema operacional e um aplicativo por servidor, fosse possível adicionar uma camada de software, conhecida como hypervisor, que permite executar várias instâncias em um único servidor físico?

Essa é a ideia por trás da virtualização de servidores, popularizada principalmente pela VMware, que introduziu o software de virtualização para servidores x86 no início dos anos 2000. Desde então, outros fornecedores desenvolveram suas próprias plataformas e o setor como um todo criou ferramentas avançadas de gerenciamento, automação e orquestração.

Mas, como se sabes, nenhuma tecnologia está imune de ser derrubada por uma próxima descoberta. No caso da virtualização de servidores, a próxima tendência pode estar chegando.

A virtualização de servidores pegou um dispositivo físico e o dividiu, permitindo que vários sistemas operacionais e vários aplicativos usassem a capacidade de computação subjacente. Agora, os desenvolvedores estão dividindo aplicativos em microsserviços executados em contêineres leves, além de experimentarem computação sem servidor (também conhecida como Function as a Service (FaaS).

Em ambos os cenários, a virtualização é ignorada e o código é executado em bare metal.

Benefícios da virtualização de servidores

Os benefícios da virtualização de servidores são muitos, começando com a consolidação básica de servidores. O usuário pode combinar vários aplicativos em uma única peça de hardware, reduzindo o número total de servidores necessários no data center. Menos servidores, menos racks, menos equipamentos de rede. Tudo isso se traduz em economia de dinheiro, de espaço físico até custos de manutenção e ar condicionado. Além disso, reduz a necessidade de gastar dinheiro em novo hardware, diminuindo a necessidade de atualização de hardware.

A tecnologia também oferece alta disponibilidade, velocidade, escalabilidade, agilidade, desempenho e flexibilidade que as empresas altamente conectadas baseadas na web exigem. E é a virtualização de servidores que permite que os fornecedores de computação em nuvem ofereçam seus serviços.

Os diferentes tipos de virtualização de servidores:

No mundo da virtualização de servidores, o servidor físico é chamado de host, que executa um sistema operacional host. Cada máquina virtual é um convidado e executa um sistema operacional convidado.

Com a virtualização baseada em hypervisor padrão, o hypervisor ou o monitor de máquina virtual (VMM) fica entre o sistema operacional do host e a camada de hardware subjacente, fornecendo os recursos necessários para os sistemas operacionais convidados.

Para virtualização completa, o ideal é modificar o sistema operacional convidado antes da instalação na máquina virtual. Isso aprimora o desempenho, pois o sistema operacional convidado se comunica diretamente com o hipervisor, eliminando a sobrecarga da emulação.

A virtualização assistida por hardware também tenta reduzir a sobrecarga do hipervisor, mas faz isso por meio de extensões de hardware, em vez de modificações de software.

Com a virtualização no nível do sistema, todas as VMs devem compartilhar a mesma cópia do sistema operacional, enquanto a virtualização do servidor permite que diferentes VMs tenham sistemas operacionais diferentes.

Máquinas virtuais vs. containers

Os dois principais facilitadores do movimento de containers são o Docker, uma ferramenta popular para criar containers, e o Kubernetes, do Google, que ajuda a gerenciar vários containers. Eles são ambientes de execução de código independentes que compartilham o kernel do sistema operacional host.

A tecnologia é mais simples e leve do que as VMs, pois ignoram os sistemas operacionais convidados redundantes e a sobrecarga de inicialização associada. Os desenvolvedores podem executar de seis a oito vezes mais contaneirs que as VMs no mesmo hardware.

Mas ele também tem suas desvantagens. Por ser relativamente novo, ele não tem a riqueza de ferramentas de gerenciamento que uma tecnologia madura teria, portanto, há muito trabalho de configuração e manutenção que precisa ser feito. Também há preocupações sobre segurança.

Máquinas virtuais vs. computação sem servidor (serverless computing)

Em um ambiente de nuvem IaaS (Infrastructure as a service - Infraestutura como serviço) tradicional, os clientes primeiro provisionam VMs, armazenamento, bancos de dados e ferramentas de segurança e gerenciamento associadas e, em seguida, carregam aplicativos nas VMs.

Com a computação sem servidor, os desenvolvedores escrevem código e o provedor de serviços de nuvem manipula todo o resto. O desenvolvedor nunca precisa pensar em servidores, sistemas operacionais, provisionamento ou gerenciamento. É claro que há um servidor físico que executa o código, mas isso é responsabilidade do provedor de serviços em nuvem.

Ao invés de uma aplicação monolítica, o código é dividido em funções específicas. Quando ocorre um evento que dispara essa função, o serviço sem servidor - por exemplo, o Lambda da Amazon - o executa.

A computação sem servidor ignora a camada da máquina virtual e as funções são executadas no bare metal. Porém, neste ponto, a computação sem servidor é relativamente imatura e os casos de uso são limitados.

Futuro da virtualização de servidores

Enquanto os containers estão em um bom momento e o interesse pela computação sem servidor está crescendo, a realidade é que a virtualização de servidores é uma tecnologia sólida que alimenta a grande maioria dos aplicativos corporativos - algumas estimativas colocam a saturação da VM em até 90%.

É difícil imaginar uma empresa movendo aplicativos críticos que funcionam perfeitamente em VMs para containers ou plataformas sem servidor. Além disso, os usuários com ambientes heterogêneos provavelmente ainda usarão VMs, pois os containers precisam ser executados em um mesmo sistema operacional.

Mas os desenvolvedores que pensam em novos aplicativos agora têm opções. No futuro, eles tomarão decisões caso a caso para a execução de novas cargas de trabalho em uma VM tradicional, um container ou um ambiente sem servidor.

Fonte: Computerworld - Por Neal Weinberg - NetworkWorld (EUA)