Home > Tendências

Containers e Serverless Computing ameaçam a virtualização de servidores?

Os containers estão em um bom momento e o interesse pela computação sem servidor está crescendo, mas a realidade é que a virtualização de servidores continua sendo uma tecnologia sólida que alimenta a grande maioria dos aplicativos corporativos

Neal Weinberg, NetworkWorld

14/07/2018 às 12h46

virtualizacaodeservidor_668083141.jpg
Foto:

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.

servidorvirtual

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.

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.

Junte-se a nós e receba nossas melhores histórias de tecnologia. Newsletter Newsletter por e-mail