Tecnologia

História da virtualização

Dando continuidade a série de artigos sobre virtualização, iremos agora mostrar um pouco sobre a história da mesma, e alguns momentos marcantes, que tornaram hoje, a virtualização um tema tão requisitado. Boa leitura!

O surgimento do conceito de virtualização

O conceito de virtualização vem sendo discutido desde a década de 1950, embora se tornasse de fato uma tendência com o uso na plataforma x86, na década de 1980. No inicio da década de 1960, a IBM introduziu o conceito de “Time Sharing” (tempo compartilhado), que foi a direção inicial para a virtualização. 1.

Hoje muitas pessoas associam o termo “Time Sharing” com mainframes, mas possivelmente a virtualização na plataforma x86 foi introduzida mesmo conceito, mas sobre o nome de computação “On-Demand”. Em 1964, a IBM introduziu o IBM System/360, que tinha capacidade limitada de virtualização e foi arquitetada pelo legendário Gene Amdahl. Mais tarde em 1964, o CP-40 foi lançado e houve a primeira menção de máquinas virtuais e memória virtual. Em 1965, o System/360 Modelo 67 foi desenvolvido, juntamente com o TSS (Time Sharing System). Este foi seguido em 1967 por outro lançamento do CP-40 e CMS, que colocou em produção um sistema suportando 14 máquinas virtuais, cada uma com 256kb de memória virtual.

Uma nova iteração do CP-40 chamada CP-67 Versão 1 foi lançada em 1968. Esta possuía uma capacidade e estabilidade superior em relação ao antecessor. O CP-67 Versão 2 em 1969 ganhou um novo agendador e suporte a PL/I (linguagem de programação desenvolvida pela IBM). Em 1970 a versão 3 do CP-67 tinha suporte a reserva de armazenamento que garantia melhor performance e adição de instrução SLT. Finalmente em 1971, a versão 3.1 do CP-67 foi liberada com melhorias no desempenho de I/O.

Em 1972, o System/370 Advanced Function foi liberado e possuía um novo hardware de relocação de endereços e suporte a quatro novos sistemas operacionais: VM/370, DOS/VS, OS/VS1 e OS/VS2. A introdução do VM/370 Release 2 em 1974 continha a primeira iteração do microcódigo VMA (Virtual machine Assist). Neste mesmo ano, Gerald J. Popek e Robert P. Goldberg criaram um conjunto de requerimentos formais para arquiteturas, intitulado “Formal Requirements for Virtualizable Third Generation Architectures”.

Durante o período de 1974 a 1987, não houve avanços nesta área. Mas com o avanço da internet houve grande necessidade pelo suporte TCP/IP. Em 1987, a VM TCP/IP também conhecida como FAL tornou o TCP/IP disponível para máquinas virtuais. Durante as décadas de 1980 a 1990, a necessidade de virtualização foi abandonada devido ao fato do crescimento da plataforma x86, com o uso de minicomputadores e de baixo-custo. Ao invés de compartilhar recursos de forma centralizada, baseada no modelo de mainframes, as organizações passaram a adotar os sistemas distribuídos de baixo custo.

A virtualização na plataforma x86

A grande adoção do Linux e Windows como sistemas operacionais emergentes em servidores estabilizou a plataforma x86 como um novo padrão da indústria. Entretanto, a crescente demanda e o forte crescimento de servidores x86 e ambientes desktop apresentaram um novo conjunto de infraestrutura de TI e desafios operacionais para este cenário 2.

Em 1988, uma pequena companhia chamada Connectix Corporation foi fundada e provia soluções para sistemas da Apple Macintosh (MAC). A Connectix começou a tornar-se conhecida por suas soluções inovadoras para resolver problemas que a Apple não podia ou não queria resolver.

A experiência com a plataforma MAC e PC levou a Connectix a criar um produto chamado Connectix Virtual PC 1.0 para MAC. O Virtual PC 1.0 foi uma verdadeira façanha de programação que incorporou um mecanismo de tradução de binários para traduzir instruções de um processador Intel x86 virtual para um processador PowerPc físico utilizado no MAC. Este exemplo de emulação levou a Connectix à tecnologia da virtualização.

O surgimento do VMware

Em 1998, uma companhia chamada VMware foi fundada por Diane Greene e seu marido, Dr. Mendel Rosenblum junto com dois estudantes da Universidade de Stanford e um colega de trabalho de Berkley. Em outubro de 1998, estes fundadores patentearam uma nova tecnologia de virtualização baseadas em pesquisas conduzidas na universidade de Stanford.

A VMware introduziu a plataforma “VMware Virtual Plataform” em 8 de fevereiro de 1999. Este produto é considerado por muitos como sendo o primeiro produto comercial para virtualização na plataforma x86. Mais tarde, este produto tornou-se o VMware Workstation.

Em 2000, a VMware lançou sua primeira plataforma de virtualização para servidores, o VMware GSX Server 1.0. Este produto era instalado sobre sistemas operacionais Windows ou Linux. No ano seguinte, com o lançamento do VMware ESX Server 1.0, houve uma melhoria significativa, pois este era instalado diretamente no bare-metal e provia maior estabilidade e alta-performance por possuir um nativo hypervisor, também conhecido como Virtual machine Monitor (VMM). De 2002 até os dias atuais, o VMware continuou a liberar versões de atualizações de ambos os produtos: GSX Server (ultimamente chamado de VMware Server) e a plataforma ESX (mais tarde tornando ESXi), adicionando novas capacidades e aumento de performance.

Em janeiro de 2004, a VMware foi adquirida pela EMC Corporation, embora continuasse atuando como uma subsidiaria independente, sendo ainda dirigida pela CEO Diane Greene.

A chegada da Microsoft no campo da virtualização

A Connectix criou um relacionamento com a Microsoft que consistia na inclusão de pacotes do sistema operacional Microsoft com o Connectix Virtual PC para produtos Mac. E mais tarde, eles providenciaram a tecnologia de emulação PocketPC embutida na aplicação Visual StudioNET da Microsoft. No começo de 2003, ela entrou no campo da virtualização de servidores x86 com sua versão “release candidate” do Connectix Virtual Server. Entretanto, o Connectix Virtual Server nunca entrou no mercado, porque a Microsoft adquiriu os direitos de propriedade intelectual do Virtual PC para Mac e Windows como também do Connectix Virtual Server.

O plano de virtualização da Microsoft focava-se no suporte a aplicações legadas, consolidação de servidores e automação de desenvolvimento de softwares e ambientes de teste. Eles liberaram seus primeiros produtos de virtualização, o Microsoft PC 2004, no dia 02 de dezembro de 2003. Devido a necessidade de aprimoramento de segurança, o projeto acabou tendo atrasos e em meados de 2004 foi liberadas duas versões: o Microsoft Virtual Server 2005 Standard e a Enterprise Edition.

Com a tecnologia de hypervisor como VMware ESX e Xen começou a dominar a plataforma de virtualização de servidores, a Microsoft passou a focar em algo mais competitivo do que o Microsoft Virtual Server. Com o desenvolvimento do Longhorn ou Windows Server 2008, a companhia iniciou o desenvolvimento da sua própria tecnologia de hypervisor, originalmente chamada Viridian e depois chamada Hyper-V 3.

A plataforma XEN

O projeto Xen foi descrito primeiramente em um ensaio apresentado na SOSP (Symposium on Operating Systems Principles) em 2003. 4. Em outubro do mesmo ano, a versão 1.0 foi liberada. Originalmente, a Xen foi desenvolvida pelo “Systems Research Group” no laboratório de computação da universidade de Cambridge, como parte do projeto XenoServers, e foi fundada pelo UK-EPSRC. Desde então, Xen ganhou maturidade e se tornou um projeto que possibilitou pesquisas para melhorar técnicas para virtualizar recursos tais como CPU, memoria, discos e redes. Ian Pratt, professor sênior de Cambridge, liderou o projeto e ajudou a fundar a XenSource, Inc., uma companhia responsável pelo desenvolvimento do projeto Xen open-souce e também criou e vendeu uma versão do software comercial e empresarial. Contribuidores deste projeto incluem empresas como AMD, HP, IBM, Intel, Novell, RedHat e XenSource.

A XenSource liberou a primeira versão do XenEnterprise 3.0 em 2006, um produto baseado no Xen v3.0.3 e criado para competir diretamente com o produto VMware ESX. Em agosto de 2007, XenSource Anunciou a liberação do XenEnterprise v4, baseada no Xen 3.1, que estava mais estável e tentou ser competitiva com produtos concorrentes como o VMware ESX. Neste mesmo mês, a Citrix anunciou que iria fazer como a EMC e a Microsoft em relação à plataforma de virtualização e adquiriu a XenSource por aproximadamente 500 milhões de dólares. 5.

A atuação dos fabricantes de chips em relação a virtualização

Fabricantes de chips como Intel e AMD continuaram a introduzir novas tecnologias para prover melhor suporte para virtualização na camada de hardware. Estas tecnologias incluem processadores multinúcleos, tecnologia de virtualização Intel (originalmente conhecida como Vanderpool e Silvervale), e AMD-V/SVM (originalmente conhecida como Pacifica). Estas tecnologias de virtualização no nível de hardware permitiram plataformas de virtualização tornarem-se mais eficientes. As tecnologias Intel-VT e AMD-V interceptaram estas instruções e passaram a controlar o hypervisor para não haver a necessidade de uma camada de software complexa podendo ocasionar problemas de desempenho. As instruções de virtualização adicionadas nos processadores AMD e Intel têm ajudado a criar novas plataformas de virtualização desde que tecnologias adicionais têm removido uma das barreiras de entrar no mercado da virtualização.

Conclusão

A virtualização é uma tecnologia existente há décadas. Com o surgimento da plataforma x86, acabou se tornando esquecida, mas voltou à tona quando surgiu a necessidade de consolidação maior dos servidores, com o aumento da necessidade de processamento e eficiência maior dos servidores.

O foco dos artigos serão sempre virtualização em nível de software (no próximo artigo apresentarei os vários tipos de virtualização), embora este tipo de virtualização apresente um grande overhead e perda de desempenho, vale mencionar também o esforço dos fabricantes de processadores (Intel e AMD) no sentido de criar instruções de hardware que aumentam o desempenho da virtualização nesta plataforma, tornando a eficiência dos servidores virtuais próxima a dos servidores físicos. Há muito por vir…aguardem!

Referencias

  1. MARSHALL, David, REYNOLDS, Wade A, MCCRORY, Dave. Advanced server virtualization – Vmware and Microsoft Platforms in the Virtual Data Center. Auerbach Publications, 2006  
  2. BUYTAERT, Kris, DITTNER, Rogier, et all. The Best Damn Server Virtualization. Book Period. Syngress Publishing Inc, 2007  
  3. MORIMOTO, Rand, GUILLET, Jeff. Windows Server 2008 Hyper-V – Unleashed. Sams Publishing, 2009  
  4. MARSHALL, David, BEAVER, Stephen S., MCCARTY, Jason W. VMware ESX Essentials in the Virtual data Center. Auerbach Publications, 2009  
  5. WILLIAMS, David E.,GARCIA, Juan. Virtualization with Xen. Syngress Publishing Inc, 2007  
Fábio Massalino

One thought on “História da virtualização”

Deixe uma resposta