Muitas das tecnologias de ponta atuais, como computação em nuvem, computação de ponta e microsserviços, devem seu início ao conceito de máquina virtual (VM). Afinal, foi isso que separou sistemas operacionais e instâncias de software do computador físico subjacente.
O que é uma máquina virtual?
Uma máquina virtual (VM) é um software que executa programas ou aplicativos sem estar vinculado a uma máquina física. Portanto, em uma instância de VM, uma ou mais máquinas convidadas podem ser executadas em um computador host.
Cada máquina virtual (VM) tem seu próprio sistema operacional e funciona separadamente de outras VMs, mesmo que estejam localizadas no mesmo host físico. As VMs geralmente são executadas em servidores, no entanto, também podem ser executadas em sistemas desktop ou até mesmo em plataformas embarcadas. Não obstante, várias VMs podem compartilhar recursos de um host físico, incluindo ciclos de CPU, largura de banda de rede e memória.
As VMs têm suas origens nos primórdios da computação na década de 1960, quando o compartilhamento de tempo para usuários de mainframe era usado para separar o software de um sistema host físico. Sendo assim, definiu-se no início da década de 1970 que uma máquina virtual era “uma duplicata eficiente e isolada de uma máquina de computador real”.
No entanto, as VMs como as conhecemos hoje ganharam força nos últimos 20 anos. Especialmente à medida que as empresas adotaram a virtualização de servidores para utilizar o poder de computação de seus servidores físicos com mais eficiência, reduzindo o número de servidores físicos e economizando espaço no data center. Como os aplicativos com diferentes requisitos de SO podem ser executados em um único host físico, não era necessário um hardware de servidor diferente para cada um.
Como funcionam as VMs?
Em geral, existem dois tipos de VMs: VMs de processo, que separam um único processo, e VMs de sistema, que oferecem uma separação completa do sistema operacional e dos aplicativos do computador físico. Exemplos de VMs de processo incluem a Java Virtual Machine, o .NET Framework e a máquina virtual Parrot.
As VMs do sistema contam com hipervisores como intermediários que fornecem acesso de software aos recursos de hardware. O hipervisor emula a CPU, memória, disco rígido, rede e outros recursos de hardware do computador, criando um pool de recursos que podem ser alocados para as VMs individuais de acordo com seus requisitos específicos. Contudo, o hipervisor também pode dar suporte a várias plataformas de hardware virtual isoladas umas das outras, permitindo que as VMs executem sistemas operacionais Linux e Windows Server no mesmo host físico.
Grandes nomes no espaço do hypervisor incluem VMware (ESX/ESXi), Intel/Linux Foundation (Xen), Oracle (MV Server para SPARC e Oracle VM Server para x86) e Microsoft (Hyper-V).
Os sistemas de computador desktop também podem utilizar uma máquina virtual (VM). Um exemplo aqui seria um usuário de Mac executando uma instância virtual do Windows em seu hardware físico do Mac.
Quais são os dois tipos de hipervisores?
O hipervisor gerencia recursos e os aloca para VMs. Ele também agenda e ajusta como os recursos são distribuídos com base em como o hipervisor e as VMs foram configurados e pode realocar recursos conforme as demandas flutuam. A maioria dos hipervisores se enquadra em uma das duas categorias:
Tipo 1
Um hypervisor bare-metal é executado diretamente na máquina host física e tem acesso direto ao seu hardware. Os hipervisores Tipo 1 normalmente são executados em servidores e são considerados mais eficientes e com melhor desempenho do que os hipervisores Tipo 2, tornando-os adequados para a virtualização de servidores, desktops e aplicativos. Exemplos de hipervisores Tipo 1 incluem Microsoft Hyper-V e VMware ESXi.
Tipo 2
Às vezes chamado de hipervisor hospedado, um hipervisor Tipo 2 é instalado na parte superior do sistema operacional da máquina host, que gerencia as chamadas para os recursos de hardware. Os hipervisores do tipo 2 geralmente são implantados em sistemas de usuário final para casos de uso específicos. Por exemplo, um desenvolvedor pode usar um hipervisor Tipo 2 para criar um ambiente específico para construir um aplicativo ou um analista de dados pode usá-lo para testar um aplicativo em um ambiente isolado. Exemplos incluem VMware Workstation e Oracle VirtualBox.
Quais são as vantagens das máquinas virtuais?
Como o software é separado do computador host físico, os usuários podem executar várias instâncias do sistema operacional em uma única peça de hardware, economizando tempo da empresa, custos de gerenciamento e espaço físico. Outra vantagem é que as VMs podem oferecer suporte a aplicativos legados, reduzindo ou eliminando a necessidade e o custo de migrar um aplicativo mais antigo para um sistema operacional atualizado ou diferente.
Além disso, os desenvolvedores usam máquina virtual (VM) para testar aplicativos em um ambiente seguro e em área restrita. Ou seja, desenvolvedores que desejam ver se seus aplicativos funcionarão em um novo sistema operacional podem utilizar VMs para testar seu software em vez de comprar o novo hardware e sistema operacional antecipadamente. Por exemplo, a Microsoft atualizou recentemente suas VMs gratuitas do Windows que permitem que os desenvolvedores baixem uma VM de avaliação com o Windows 11 para experimentar o sistema operacional sem atualizar um computador principal.
Isso também pode ajudar a isolar malware que pode infectar uma determinada instância de VM. Como o software dentro de uma VM não pode adulterar o computador host, o software mal-intencionado não pode espalhar tanto dano.
Quais são as desvantagens das máquinas virtuais?
Entretanto, as máquinas virtuais também têm algumas desvantagens. A execução de várias VMs em um host físico pode resultar em desempenho instável, especialmente se os requisitos de infraestrutura de um determinado aplicativo não forem atendidos. Isso também os torna menos eficientes em muitos casos quando comparados a um computador físico.
E se o servidor físico travar, todos os aplicativos executados nele ficarão inativos. Por isso, a maioria das lojas de TI utiliza um equilíbrio entre sistemas físicos e virtuais.
Quais são algumas outras formas de virtualização?
O sucesso das VMs na virtualização de servidores levou à aplicação da virtualização em outras áreas, incluindo armazenamento, rede e desktops. Provavelmente, se houver um tipo de hardware que está sendo usado no data center, o conceito de virtualização está sendo explorado (por exemplo, controladores de entrega de aplicativos).
Na virtualização de rede, as empresas exploraram opções de rede como serviço e virtualização de funções de rede (NFV), que usa servidores comuns para substituir dispositivos de rede especializados para permitir serviços mais flexíveis e escaláveis. Isso difere um pouco da rede definida por software, que separa o plano de controle de rede do plano de encaminhamento para permitir um provisionamento mais automatizado e gerenciamento baseado em políticas de recursos de rede. Uma terceira tecnologia, funções de rede virtual, são serviços baseados em software que podem ser executados em um ambiente NFV, incluindo processos como roteamento, firewall, balanceamento de carga, aceleração de WAN e criptografia.
A Verizon, por exemplo, usa NFV para alimentar seus Serviços de Rede Virtual que permitem que os clientes criem novos serviços e recursos sob demanda. Os serviços incluem aplicativos virtuais, roteamento, WANs definidas por software, otimização de WAN e até Session Border Controller as a Service (SBCaaS) para gerenciar centralmente e implantar com segurança serviços em tempo real baseados em IP, como VoIP e comunicações unificadas.
VMs e contêineres
O crescimento de VMs levou a um maior desenvolvimento de tecnologias como contêineres, que levam o conceito a outro passo e estão ganhando apelo entre os desenvolvedores de aplicativos da web. Em uma configuração de contêiner, um único aplicativo, juntamente com suas dependências, pode ser virtualizado. Com muito menos sobrecarga do que uma VM, um contêiner inclui apenas binários, bibliotecas e aplicativos.
Embora alguns pensem que o desenvolvimento de contêineres pode matar a máquina virtual (VM), existem recursos e benefícios suficientes das VMs que mantêm a tecnologia avançando. Por exemplo, as VMs continuam úteis ao executar vários aplicativos juntos ou ao executar aplicativos herdados em sistemas operacionais mais antigos.
Além disso, alguns acham que os contêineres são menos seguros do que os hipervisores de VM porque os contêineres têm apenas um SO que os aplicativos compartilham, enquanto as VMs podem isolar o aplicativo e o SO.
Gary Chen, gerente de pesquisa da divisão de computação definida por software da IDC, disse que o mercado de software de VM continua sendo uma tecnologia fundamental, mesmo quando os clientes exploram arquiteturas e contêineres em nuvem. “O mercado de software de máquinas virtuais tem sido notavelmente resiliente e continuará a crescer positivamente nos próximos cinco anos, apesar de estar altamente maduro e próximo da saturação”, escreve Chen na Previsão Mundial de Software de Máquinas Virtuais da IDC, 2019-2022.
VMs, 5G e computação de borda
As VMs são vistas como parte de novas tecnologias, como 5G e computação de borda. Por exemplo, fornecedores de infraestrutura de desktop virtual (VDI), como Microsoft, VMware e Citrix, estão procurando maneiras de estender seus sistemas VDI para funcionários que agora trabalham em casa como parte de um modelo híbrido pós-COVID.
“Com o VDI, você precisa de uma latência extremamente baixa porque está enviando suas teclas e movimentos do mouse basicamente para uma área de trabalho remota”, diz Mahadev Satyanarayanan, professor de ciência da computação da Carnegie Mellon University. Em 2009, Satyanarayanan escreveu sobre como os cloudlets baseados em máquinas virtuais poderiam ser usados para fornecer melhores recursos de processamento para dispositivos móveis na borda da Internet, o que levou ao desenvolvimento da computação de borda.
No espaço sem fio 5G, o processo de fatiamento de rede usa redes definidas por software e tecnologias NFV para ajudar a instalar a funcionalidade de rede em VMs em um servidor virtualizado para fornecer serviços que antes eram executados apenas em hardware proprietário.
Como muitas outras tecnologias em uso hoje, essas inovações emergentes não teriam sido desenvolvidas se não fosse pelos conceitos originais de VM introduzidos décadas atrás.
Saiba mais sobre o papel dos hipervisores na máquina virtual (VM)
Os hipervisores geralmente são negligenciados como uma tecnologia em favor do conceito mais chamativo de virtualização. No entanto, você não pode se divertir com a virtualização até entender o que um hipervisor faz em um sistema de computação.
Embora os benefícios da virtualização e da computação em nuvem possam agora parecer obsoletos na infraestrutura de TI, nem sempre foi esse o caso. E é a tecnologia de hipervisor que ajudou a impulsionar a inovação no mundo da computação em nuvem.
Definição de hipervisor
Um hipervisor é um processo que separa o sistema operacional e os aplicativos de um computador do hardware físico subjacente. Geralmente é feito como software, embora hipervisores incorporados possam ser criados para coisas como dispositivos móveis.
O hipervisor impulsiona o conceito de virtualização, permitindo que a máquina host física opere várias máquinas virtuais como convidadas para ajudar a maximizar o uso efetivo de recursos de computação, como memória, largura de banda de rede e ciclos de CPU.
Histórico dos hipervisores
No final da década de 1960 e durante a década de 1970, a maior parte do trabalho de virtualização e hipervisor era visto em computadores mainframe desenvolvidos pela IBM. Fosse para uso na construção de sistemas de compartilhamento de tempo, testando novas ideias de sistemas operacionais ou até mesmo explorando novos conceitos de hardware. O aspecto de virtualização permitiu aos programadores implantar e depurar sem comprometer a estabilidade do sistema de produção principal e sem ter que implantar sistemas de desenvolvimento caros adicionais.
Avançando para meados dos anos 2000, os hipervisores ocuparam o centro do palco quando Unix, Linux e outros sistemas operacionais semelhantes ao Unix começaram a utilizar tecnologias de virtualização. As razões para o crescimento de hipervisores e virtualização incluíam melhores recursos de hardware, que agora permitiriam que uma única máquina fizesse mais trabalho simultâneo; esforços de controle de custos que levaram à consolidação de servidores; segurança e confiabilidade aprimoradas devido a melhorias na arquitetura do hipervisor; e a capacidade de executar aplicativos dependentes do sistema operacional em diferentes ambientes de hardware ou sistema operacional. Além disso, em 2005, os fornecedores de CPU começaram a adicionar virtualização de hardware a seus produtos baseados em x86, estendendo a disponibilidade (e os benefícios) da virtualização para audiências baseadas em PC e servidor.
Benefícios dos hipervisores
Embora uma máquina virtual (VM) possa ser executada no mesmo hardware físico, ela ainda é separada logicamente umas das outras. Isso significa que, se uma máquina virtual (VM) sofrer um erro, uma falha ou um ataque de malware, isso não se estenderá a outras VMs na mesma máquina ou até mesmo a outras máquinas.
As VMs também são muito móveis. Afinal, por serem independentes do hardware subjacente, elas podem ser movidas ou migradas entre servidores virtualizados locais ou remotos com muito mais facilidade do que os aplicativos tradicionais vinculados ao hardware físico.
Hipervisor Tipo 1: Bare metal
Existem dois tipos de hipervisores, chamados de forma criativa de Tipo 1 ou Tipo 2. Os hipervisores do tipo 1, às vezes chamados de hipervisores “nativos” ou “bare metal”, são executados diretamente no hardware do host para controlar o hardware e gerenciar as VMs convidadas. Os hipervisores modernos incluem Xen, Oracle VM Server para SPARC, Oracle VM Server para x86, Microsoft Hyper-V e VMware ESX/ESXi.
Hipervisor tipo 2: hospedado
Os hipervisores do tipo 2, às vezes chamados de “hipervisores hospedados”, são executados em um sistema operacional convencional, assim como outros aplicativos no sistema. Nesse caso, um sistema operacional convidado é executado como um processo no host, enquanto os hipervisores separam o sistema operacional convidado do sistema operacional host. Exemplos de hipervisores Tipo 2 incluem VMware Workstation, VMware Player, VirtualBox e Parallels Desktop for Mac.
No espaço de data center corporativo, a consolidação resultou em três grandes fornecedores no front do hypervisor: VMware, Microsoft e Citrix Systems.
Contêineres versus hipervisores
Nos últimos anos, a tecnologia de contêiner cresceu em popularidade como um possível substituto para hipervisores, pois eles podem colocar mais aplicativos em um único servidor físico do que uma máquina virtual (VM).
“VMs ocupam muitos recursos do sistema. Cada VM executa não apenas uma cópia completa de um sistema operacional, mas uma cópia virtual de todo o hardware que o sistema operacional precisa para executar. Isso rapidamente adiciona muitos ciclos de RAM e CPU. Por outro lado, tudo o que um contêiner requer é um sistema operacional suficiente, programas e bibliotecas de suporte e recursos do sistema para executar um programa específico”, diz Steven J. Vaughan-Nichols neste artigo da Network World de 2016.
As preocupações com a segurança e os usos práticos das VMs, no entanto, significam que os contêineres não substituirão necessariamente os hipervisores/VMs, mas as empresas usarão uma combinação de ambos, de acordo com Vaughan-Nichols. Sobre a questão de segurança, alguns acham que os contêineres são menos seguros do que os hipervisores, porque os contêineres têm apenas um sistema operacional compartilhado pelos aplicativos, enquanto as VMs isolam não apenas o aplicativo, mas também o sistema operacional.
Se um aplicativo for comprometido, ele poderá atacar o sistema operacional único em um contêiner, afetando outros aplicativos. Se um aplicativo em uma VM for comprometido, apenas um sistema operacional nesse servidor será afetado, não outros aplicativos ou sistemas operacionais na VM.
Preocupações de segurança do hipervisor
Embora os hipervisores possam ser considerados mais seguros do que os contêineres por algumas medidas, isso não significa que não haja preocupações de segurança associadas aos hipervisores. Por exemplo, em teoria, os hackers podem criar malware e rootkits que se instalam como um hipervisor abaixo do sistema operacional. Conhecido como hyperjacking, esse processo pode ser mais difícil de detectar, pois o malware pode interceptar operações do sistema operacional (por exemplo, inserir uma senha) sem que o software antimalware necessariamente o detecte, pois o malware é executado abaixo do sistema operacional.
O debate continua se seria possível detectar a presença de um rootkit baseado em hipervisor. Alguns implementaram o conceito – o malware SubVirt e Blue Pill – enquanto outros demonstraram um anti-rootkit de camada de hipervisor chamado Hooksafe, que fornece proteção genérica contra rootkits no modo kernel.
Expansão do hipervisor
O conceito de hipervisores não se limitou apenas à operação do servidor. Os hipervisores de armazenamento, por exemplo, adotam o mesmo conceito e o aplicam ao armazenamento de dados. Um hipervisor de armazenamento pode ser executado em hardware físico, como uma VM, dentro de um sistema operacional de hipervisor ou em uma rede de armazenamento maior. Assim como os hipervisores, um hipervisor de armazenamento pode ser executado em hardware específico ou ser independente do hardware.
Além do armazenamento, os hipervisores são fundamentais para outros esforços de virtualização, incluindo virtualização de desktops, virtualização de SO e virtualização de aplicativos.
Hipervisores incorporados
Os hipervisores incorporados suportam os requisitos dos sistemas incorporados. Eles são diferentes dos hipervisores que visam aplicativos de servidor e desktop. O hypervisor incorporado é projetado no dispositivo incorporado desde o início, em vez de carregado após a implantação do dispositivo.
Ambientes de desktop e corporativos usam hipervisores para consolidar hardware e isolar ambientes de computação uns dos outros. Já em um sistema embarcado, os vários componentes normalmente funcionam coletivamente para fornecer a funcionalidade do dispositivo. A virtualização móvel se sobrepõe à virtualização do sistema incorporado e compartilha alguns casos de uso.
De forma geral, tanto a máquina virtual (VM) quanto o hipervisor são extremamente úteis em qualquer segmento de negócio. No entanto, nem sempre são fáceis de implementar. Dessa forma, é importante contar com o apoio de uma empresa de suporte de TI focada no seu negócio e necessidades reais.
Diferenciais da Infonova
A Infonova tem 20 anos de experiência em tecnologia, infraestrutura de TI, e pessoas. Temos clientes internacionais como HBO, AirBnb, Linkedin, Tempo Assist, Nissin, entre outros. Ou seja, estamos aptos a atender qualquer segmento e tamanho de negócio com maestria.
BACKUP
Todas as posições de profissionais da Infonova têm backup. Temos um ditado interno que é: “quem tem um… não tem nenhum”. Portanto, somos obcecados em ter continuidade nas operações para que nós e os nossos clientes possam focar na parte mais importante: explorar oportunidades e gerar crescimento.
VALOR FINANCEIRO
O valor da Infonova é intencionalmente menor quando comparado com empresas no mesmo nível de maturidade. No entanto, fazemos isso para ter a possibilidade de escolher os nossos clientes e ter uma base de clientes satisfeitos, e por bastante tempo.
LIBERAÇÃO DO RH
O RH é uma das áreas mais importantes de qualquer empresa. Afinal, ele deve estar focado em gerir a cultura, desenvolvimento dos colaboradores e atração de talentos; e não apenas com a reposição de profissionais. Sendo assim, terceirizar a TI oferece a possibilidade de fazer com que o RH esteja mais livre para se tornar um vetor de crescimento para a empresa.
FLEXIBILIDADE – HUB DE TECNOLOGIA
A Infonova não faz só Infra, ela pode fazer de tudo. Na verdade, para alguns clientes que não podem resolver algumas questões diretamente, a Infonova atua como Hub, indo para o mercado, encontrando parceiros e fornecedores e interagindo com eles. Esses serviços incluem áreas diversas, como:
- Ar condicionado;
- Outsourcing de impressão;
- Links de internet;
- Compra de materiais e mais.
ALOCAÇÃO DE DESENVOLVEDORES
A Infonova já foi uma fábrica de software no passado. Contudo, em 2012 escolhemos focar em Gestão de TI, Infraestrutura e Segurança. No entanto, como era de se esperar, esse conhecimento e familiaridade permanecem até hoje no time. Portanto, realizamos consultorias de DevOps para alguns clientes, atuamos como mediador entre clientes e desenvolvedores, e também alocamos desenvolvedores para alguns clientes.
RETENÇÃO DE COLABORADORES
Demoramos mais de 10 anos para entender e construir as ferramentas para atrair e manter profissionais de tecnologia no nosso time. Então, seja o profissional alocado no cliente ou não, temos a vivência de como reter, desenvolver e satisfazer tanto os profissionais quanto os clientes. E essa é uma necessidade para o sucesso da empresa.
LIBERAR BRAIN POWER DA ORGANIZAÇÃO PARA APROVEITAR OPORTUNIDADES
Não dá para fazer tudo. Então, faz mais sentido focar no que faz a empresa crescer, mas isso requer um recurso escasso: tempo e atenção. Terceirizar a TI significa retomar esse recurso, contudo, não é de graça. Terceirizar é mais caro do que contratar direto, mas faz sentido se você pode usar a atenção e o tempo para realizar mais valor, inclusive financeiro.
NÃO TEM MULTA DE CONTRATO
A Infonova tirou as multas dos seus contratos há muitos anos. Afinal, entendemos que para o cliente, muitas vezes mudar é uma situação nova. Portanto, escolhemos tirar o risco do cliente e trazer este risco apenas para o nosso lado.
PODE PARAR QUANDO QUISER
Os primeiros 90 dias de contrato com a Infonova não tem multa e nem aviso prévio. Ou seja, basta pedir para parar. Contudo, após os 90 dias, também não temos multa, porém, solicitamos um aviso com 30 dias de antecedência.
CONTINUAMOS AMIGOS
Na Infonova a relação continua mesmo sem contrato. Ou seja, mantemos o relacionamento com os clientes e continuamos ajudando, trocando experiências e apoiando, independente de existir um documento de contrato ou não. Afinal, o nosso interesse é na parceria.
DORMIR TRANQUILO
Stress faz parte do crescimento. Afinal, crescer não é um caminho fácil. No entanto, você pode escolher o tipo de stress que quer ter. Ou seja, pode decidir entre o stress de fazer a empresa “funcionar”, ou o de focar em aproveitar as oportunidades enquanto dorme tranquilo sabendo que o dia a dia está garantido.