back_button
2025/04/04
12. Comparação de Software de Virtualização de Servidores
Já se passaram cerca de 25 anos desde que o software de virtualização de servidores apareceu pela primeira vez em sistemas x86. Inicialmente, o VMware tinha uma participação esmagadora no mercado, mas agora o Linux KVM também é amplamente utilizado. Serviços baseados em Linux KVM são especialmente populares entre os serviços de máquinas virtuais fornecidos por fornecedores de nuvem pública (como Amazon EC2 e OCI Compute).
Nesta coluna, abordamos o Oracle Linux KVM como software de virtualização de servidores várias vezes. Vamos回顾 a história do software de virtualização de servidores e explicar as opções atuais e os pontos a considerar ao selecionar um.
O surgimento e a evolução do software de virtualização de servidores
O primeiro software de virtualização de servidores para sistemas x86, o VMware Workstation, foi lançado em 1999. Em 2001, o VMware ESX Server, a versão inicial do atual VMware vSphere ESXi, foi lançado.
Mesmo antes do advento do VMware, a tecnologia de virtualização existia para computadores de uso geral e servidores UNIX de alta gama para dividir um único servidor em vários servidores, mas foi um choque quando ela se tornou disponível em sistemas x86 baratos.
Desde então, a virtualização de servidores tornou-se comum devido a melhorias dramáticas no desempenho do hardware e à evolução do software de virtualização de servidores. Aqui, vamos tocar brevemente nas melhorias no desempenho do hardware e回顾 a história do software de virtualização de servidores.
Melhorias no desempenho do hardware
A maior influência na disseminação da virtualização de servidores foi a melhoria no desempenho do hardware. Atualmente, até mesmo servidores de baixo custo estão equipados com CPUs com cerca de quatro núcleos, e não é incomum ver CPUs com mais de 50 núcleos. A virtualização de servidores tornou-se uma tecnologia indispensável para usar esses servidores de forma eficiente.
Além disso, o desempenho do hardware melhorou dramaticamente entre 20 anos atrás e agora.
- CPUs multi-core e com muitos núcleos
- Aumento do número de threads de CPU com Hyper-Threading e Simultaneous Multi Threading (SMT)
- Tecnologias de suporte à virtualização de CPU, como Intel VT e AMD-V (AMD SVM)
- A disseminação de memória de grande capacidade na faixa de centenas de gigabytes a terabytes
- Aceleração do acesso a disco com SSD/NVMe
Evolução do software de virtualização de servidores
Existem muitos programas de software de virtualização de servidores disponíveis até hoje. Aqui, apresentaremos os principais softwares que foram lançados até agora.
Desde o aparecimento do VMware
Com o VMware ESX (agora VMware ESXi), a virtualização eficiente usando hipervisores tornou-se possível. Além disso, agora possui muitas funções, como migração ao vivo usando vMotion e o aparecimento da poderosa ferramenta de gerenciamento, vCenter Server.
Se você olhar o site do VMware, verá que há muitas edições apenas do VMware vSphere, com uma ampla gama de funções. Além disso, muitos produtos relacionados, como vSAN e NSX, foram lançados.
Xen
O Xen foi o primeiro hipervisor a aparecer no Linux. A primeira versão foi lançada em 2003, e desde então, empresas como Citrix Systems, Oracle e outras lançaram hipervisores baseados em Xen.
O produto lançado pela Oracle nessa época foi o Oracle VM Server para x86. O Oracle VM Server permitiu o particionamento rígido, algo que anteriormente não era permitido em ambientes de virtualização como o VMware.
O Oracle VM Server ainda está em uso, mas o Suporte Premier já terminou, e foi anunciado que o Suporte Estendido terminará em junho de 2024. O produto sucessor é o Oracle Linux KVM, que será descrito mais adiante.
Linux KVM
O KVM (Kernel-based Virtual Machine) foi integrado ao kernel principal do Linux em 2007. Inicialmente, era inferior porque o Xen era superior (o Amazon EC2 também era inicialmente baseado em Xen). No entanto, desde que foi integrado ao kernel principal, ele gradualmente ganhou vantagem, e agora o KVM é o hipervisor Linux mainstream.
Além disso, muitas nuvens públicas, como Amazon Web Services, Oracle Cloud Infrastructure e Google Cloud, usam sistemas baseados em Linux KVM.
O KVM está incluído no kernel do Linux e, portanto, está disponível na maioria das distribuições Linux lançadas atualmente.
O Oracle Linux é um deles, e não existe um produto chamado Oracle Linux KVM. Você pode usar o KVM com o Oracle Linux regular. Além disso, ao combiná-lo com o Oracle Linux Virtualization Manager lançado em 2019, você pode não apenas alcançar gerenciamento integrado, mas também realizar particionamento rígido semelhante ao Oracle VM Server.
Um exemplo de produto especializado para virtualização é o Red Hat Virtualization (anteriormente conhecido como Red Hat Enterprise Virtualization), lançado pela Red Hat em 2009.
O produto foi otimizado para ambientes virtuais e incluía ferramentas de gerenciamento, mas foi anunciado que o período de suporte de manutenção terminará em 2022, e o suporte de fase de vida estendida mais longo terminará em agosto de 2026.
O Red Hat Virtualization está atualmente incorporado à plataforma de contêineres Red Hat OpenShift e existe como um recurso chamado Red Hat OpenShift Virtualization.
Microsoft Hyper-V
O Hyper-V foi introduzido em 2008 como uma das funcionalidades do Windows Server. Inicialmente, sofria com desempenho insuficiente e um pequeno número de sistemas operacionais convidados suportados, mas agora foi adotado como a base para o Azure. Algumas edições do Windows 8 e posteriores também possuem o Hyper-V cliente, mas este artigo foca no Hyper-V do Windows Server.
Outras opções
Até agora, apresentamos os principais hipervisores, mas nos últimos anos outras tecnologias de virtualização de servidores também têm sido usadas. Vamos apresentar algumas delas aqui. No entanto, como elas são posicionadas de forma diferente dos hipervisores que explicamos até agora, não serão incluídas na comparação no próximo capítulo.
Este produto é classificado como Nutanix
Infraestrutura Hiperconvergente (HCI). É um produto que combina as funções necessárias para a virtualização de servidores em um só, e inclui todos os componentes de servidores, armazenamento, redes e software. É pré-configurado, então pode ser construído em pouco tempo, e é tudo fornecido por um único fornecedor, reduzindo a complexidade e os custos operacionais.
Como hipervisor, o Nutanix AVH baseado em Linux KVM pode ser usado por padrão, e hipervisores externos como o ESXi também podem ser utilizados.
As desvantagens são que é difícil construir com o número desejado de núcleos de CPU porque a configuração do servidor é limitada, e há limitações no desempenho de I/O porque é um armazenamento baseado em software. No entanto, o Nutanix também pode usar armazenamento externo.
OpenStack
O OpenStack é um software para construir ambientes de computação em nuvem. É usado principalmente em ambientes de nuvem privada e inclui máquinas virtuais, armazenamento, redes, ferramentas de gerenciamento, etc. Ele suporta hipervisores como KVM, ESXi e Hyper-V.
Inicialmente, esperava-se que fosse um ambiente virtual barato, mas devido à sua estrutura complexa, dificuldade em construir e operar, ciclo de lançamento curto de seis meses e período de manutenção limitado, agora é usado como infraestrutura de algumas empresas de tecnologia e fornecedores de nuvem pública.
O OpenStack também é lançado como uma distribuição, como o Red Hat OpenStack Platform.
Tabela 01: Tabela de compatibilidade de componentes do OpenStack e da nuvem pública
OpenStack | AWS | OCI | |
---|---|---|---|
Computação | Nova | EC2 | Compute |
Rede | Neutron | VPC | VCN |
Armazenamento em Bloco | Cinder | EBS | Block Volume |
Armazenamento de Objetos | Swift | S3 | Object Storage |
Ferramentas de Gerenciamento Operacional | Horizon | Management Console | OCI Console |
Contêineres
Começando com o Docker, que apareceu em 2013, o Kubernetes tornou-se o padrão como orquestrador de infraestrutura de contêineres por volta de 2018. A virtualização de servidores usando contêineres tem maior poder de consolidação, é mais rápida e mais leve que os hipervisores. Também é compatível com DevOps, sendo bem recebida por engenheiros de aplicativos avançados.
No entanto, seu uso em ambientes de produção on-premise é limitado pelos seguintes motivos, especialmente quando há aplicativos existentes.
- O ciclo de lançamento do Kubernetes é rápido (uma versão é suportada por nove meses), e o próprio Kubernetes e o ecossistema estão evoluindo em um ritmo feroz, tornando difícil acompanhar.
- A resolução de problemas é mais difícil do que com máquinas virtuais
- Os aplicativos existentes precisam ser modificados porque o mecanismo é diferente do das máquinas virtuais.
A questão 1 pode ser mitigada usando serviços gerenciados na nuvem pública, mas isso não está disponível on-premise.
Comparação de software de virtualização de servidores
Até agora, apresentamos vários métodos de virtualização de servidores. Desta vez, compararemos os seguintes três produtos como hipervisores on-premise.
- VMware vSphere
- Microsoft Hyper-V
- Oracle Linux KVM
Na verdade, há 10 anos, o VMware era esmagadoramente superior. No entanto, desde então, a disseminação das nuvens públicas e o uso do Linux KVM por muitos fornecedores de nuvem pública melhoraram significativamente, e agora não há diferença nas funções básicas como funcionalidade, desempenho e estabilidade (o Azure usa Hyper-V). Alguns resultados de pesquisas até mostram que o KVM é superior em termos de escalabilidade.
Por exemplo, o AWS Nitro System, que forma a base do Amazon EC2, consiste em hardware usando um SoC (System on a Chip) dedicado e um hipervisor baseado em KVM.
Nesta comparação de software, vamos回顾 e comparar as visões gerais, bem como os aspectos de custo e operacionais onde aparecem diferenças.
Comparação de Visão Geral
A tabela a seguir mostra a visão geral básica e as principais características de cada hipervisor. Existem tabelas de comparação mais detalhadas por aí, mas não há muita diferença entre elas, então vamos deixar neste nível. Por favor, apenas olhe esta tabela para ter uma visão geral de cada um.
Tabela 02: Comparação de Hipervisores (Básicos)
*1: Isso apenas indica que o hipervisor tem a função, mas pode não funcionar dependendo das configurações do host e do convidado.
Comparação de Custos
A maior diferença está no custo das licenças e do suporte. O VMware e o Hyper-V têm preços complicados e algumas partes não são publicamente disponíveis, então não darei preços específicos, mas se você já obteve um orçamento para cada um, saberá que o Oracle Linux KVM é esmagadoramente mais barato. Além disso, se você estiver usando produtos Oracle, ele é certificado como particionamento rígido, então você pode reduzir significativamente os custos de licença da Oracle.
Tabela 03: Comparação de Hipervisores (Custo)
Comparação de aspectos operacionais
Ao contrário do aspecto de custo, o Oracle Linux KVM é inferior em termos de operação. Mesmo que o servidor do seu fornecedor favorito não seja oficialmente suportado, você pode resolver o problema de suporte usando o Oracle x86 Server da Oracle. O problema é a falta de ferramentas de terceiros, como backups, e engenheiros com o know-how.
Tabela 04: Comparação de Hipervisores (Operação)
Resumo
Agora que as diferenças em funções básicas, desempenho e estabilidade diminuíram, os pontos importantes a comparar são “custo” e “operação”. Se você tem um grande orçamento e quer operar com segurança, o VMware é uma escolha forte. Além disso, se você usa muito o Windows Server, o Hyper-V deve ter uma alta afinidade.
O Oracle Linux KVM é atraente para aqueles que estão preocupados com o custo. É livre de licença e o suporte é barato. Especialmente ao usar produtos Oracle, a diferença de preço com outras empresas se torna mais perceptível porque você pode usar particionamento rígido. A preocupação restante é o aspecto operacional. Se isso é resolvido pelo treinamento de engenheiros internos ou por um bom parceiro pode ser decidido pela política de cada empresa e pelo encontro.
Para referência, a Oracle publicou um documento de comparação entre KVM e VMware vSphere, que gostaria de apresentar.