Por que há tanto hype sobre virtualização hoje em dia?

34

Máquina virtual, servidor virtual, disco virtual, etc ......

Não faz muito sentido para mim por que alguém iria querer tornar suas coisas "virtuais", quando basicamente isso adiciona outra camada a tudo (o que na maioria dos casos o torna mais lento).

Qual é o objetivo da virtualização nos vários casos acima?

Templário Sombrio
fonte
15
Porque você pode, com apenas um clique do mouse, mover todo o servidor virtual de um computador físico para outro sem tempo de inatividade, por exemplo.
AndrejaKo
8
"que na maioria dos casos o tornará mais lento" - eu discordo dessa afirmação.
EJB
4
-1 RAZÃO: "Esta pergunta não mostra nenhum esforço de pesquisa; não é clara ou não é útil (clique novamente para desfazer)"
wizlog
3
"Esta questão dose de não mostrar qualquer esforço de pesquisa": LOL!
precisa saber é o seguinte

Respostas:

67

Simplificando, a virtualização não é a resposta para tudo, mas é ótimo!

Você diz que adicionar outra camada / faz com que ela corra devagar, mas, nos sistemas modernos, isso não é tanto assim. Existem agora muitas técnicas e recursos que tornam essa "camada" mínima (como Intel VT-x, AMD-V ). Se você estiver usando virtualização baseada em hipervisor , essa camada será ainda menor.

No entanto, com base na maneira como os discos e a memória são utilizados, é possível ver o aumento da velocidade em algumas situações.

Agora, um rápido resumo dos produtos de virtualização, pois há alguma confusão. Existem 4 categorias, sendo a maioria bem diferente:

Hypervisor - A menor sobrecarga e geralmente sólida, projetada para virtualização 24x7. (Por exemplo, Microsoft Hyper V , VMware ESXi .

Virtualização de área de trabalho (baseada em software) - Geralmente projetada para programadores, testadores e profissionais de TI - A velocidade ainda é muito rápida / quase nativa em máquinas modernas, mas, à mercê do sistema operacional convidado, ela é executada por baixo dele. As VMs 24x7 na minha máquina para várias tarefas, não são realmente "projetadas" para isso - (por exemplo, Microsoft Virtual PC , VMware Workstation , Sun (Oracle?) Virtual Box ). Eles emulam um computador virtual inteiro.

Virtualização de servidor (baseada em software) - esse era um mercado bastante grande por um tempo, mas era menos capaz que o Hypervisor e, atualmente, é um mercado morto. Basicamente, é a virtualização de desktop que é apenas otimizada para um ambiente de servidor - (por exemplo, Microsoft Virtual Server , VMware Server .

Virtualização de software - De acordo com os comentários, deixei de fora este. Esse é um mercado especializado, geralmente para virtualização de programas únicos (por exemplo, Microsoft App-V , VMware ThinApp ). Isso cria uma fina "camada" entre o seu computador e o software - basicamente intercepta todas as chamadas feitas pelo programa para redirecionar gravações de arquivo / registro e, basicamente, proteger o aplicativo. Isso tem alguns benefícios, como a capacidade de executar várias versões de alguns aplicativos complicados e facilita a implantação (apesar de tudo, pode ser uma área difícil de entender / entrar).

Quanto ao motivo de serem tão populares agora - tudo se resume a custo e tempo de administração.

Por exemplo, na minha empresa, preciso executar muitos "sistemas" para vários sistemas que uso ... SQL Server, um sistema de intranet, sistema de cobrança, sistema de email, VOIP, um sistema legado para alguns softwares antigos que tenho para alguns clientes e mais alguns - desde que alguns deles possam ser executados da mesma caixa, mas, por uma longa lista de razões chatas, quero dividi-los.

Essa escolha em 2004/5 significou que eu tinha 6 servidores aqui em funcionamento 24x7 - funcionou muito bem, mas cada máquina tinha 2 GB de memória (quando era caro!) E um processador da era P4 no qual eu poderia cozinhar um ovo . Os processadores em todos os sistemas dificilmente ultrapassaram 5% ... talvez um pico de 10 a 15%, mas a maioria ficou inativa em 0% durante quase toda a vida útil das máquinas.

Na eletricidade, eu realmente não me lembro, mas acredito que isso me custou cerca de £ 100 por máquina por ano.

Agora, se eu tivesse virtualizado esse ambiente (o que acabei fazendo), consegui mover todos esses sistemas para uma única máquina e me beneficiar de muitos recursos, como excesso de assinatura de memória.

O que isso significa é que minhas 6 máquinas cada uma tinha 2 GB de memória, mas, em média, estavam todas usando cerca de 1/4 disso - nesta nova máquina, eu consegui colocar 8 GB e, em um P2V contínuo ( Físico para virtual - o processo de migração de uma máquina) é movido, tenho todas as minhas máquinas funcionando tão rápido quanto sempre foram ... na verdade, elas são mais rápidas (pois possuem uma CPU mais rápida).

Além disso, existem muitos outros benefícios, como migração ( V-Motion ) e alta disponibilidade, que tornam a virtualização uma escolha brilhante.

Também deve-se dizer que existem alguns extras que muitos usuários domésticos / não comerciais não pensam - eu consegui me livrar de alguns dos meus equipamentos de rede, perder uma carga de cabos, não precisar do meu KVM caro ... Eu poderia derrubar 5 no-breaks e minha PDU ... E o melhor de tudo, cabe em um único armário / fora do caminho, em vez do zumbido enorme e irritante de um rack ventilado! ... e não é uma necessidade tão importante de manter o ar-condicionado tão alto no verão (que eu não considero os custos de eletricidade acima).

Talvez eu tenha sido pequeno, mas pense em empresas maiores fazendo isso em uma escala maior - uma vez eu ajudei uma empresa grande a migrar para um ambiente virtualizado - elas não tinham o orçamento, então negociei que meus termos de contrato eram os seguintes: Eu recebia qualquer economia de custo por 1 ano e 20% pelos próximos 3 ... Isso me pagou muito bem e eles desfrutaram dos benefícios administrativos no primeiro ano - e uma enorme economia de custos daqui para frente.

Espero que isso responda à sua pergunta! Se você tiver dúvidas, teremos prazer em respondê-las.

William Hilsum
fonte
2
Resposta muito boa. Eu até adicionaria uma quarta categoria - VMs de software (principalmente para programação) como Java VM, Perl, V8, CLI etc. que melhoram a portabilidade.
schnaader
4
Talvez você deve escrever um post sobre isso @Wil ;-)
Ivo Flipse
4
Não vejo como as VMs contribuem para a alta disponibilidade. Outro dia, tivemos um cofre de hardware no hardware do servidor VM. Instantaneamente oito servidores saíram da rede. O VMotion não funciona, a menos que o host que você deseja mover esteja sendo executado, pelo que entendi.
21411 Andy
2
@Andy - vmware.com/products/high-availability/overview.html - Eu usei isso para clientes, a VM é executada em dois locais e, se um cair, o outro pega instantaneamente sem perder um único ping - realmente é uma tecnologia verdadeiramente incrível sem a necessidade de configurar o clustering ou qualquer outra coisa no software - isso é apenas um recurso do hypervisor.
William Hilsum 29/10
1
@IvoFlipse Deal! .... Quando eu tiver tempo! Deveria estar começando um novo emprego na próxima semana (tudo por um contrato de um mês) e as coisas estão um pouco agitadas no momento.
William Hilsum 29/10
22

Para adicionar à resposta de William

Testando software em sistemas operacionais Eu vi um script de programação que, quando uma nova versão do software era criada, ele inicia automaticamente máquinas virtuais para vários sistemas operacionais diferentes, instala o novo software e executa alguns testes de unidade para garantir que tudo funcione e depois desliga a máquina virtual. Nesse caso em particular, havia apenas uma vm para cada sistema operacional, mas seria possível estender isso para mais cenários. Por exemplo, um VM para Windows 7 de 32 bits, outro para Windows 7 de 64 bits. Outro para W7 de 32 bits com Service Pack 1, W7 de 64 bits com SP1, vms com IE 9, vms com IE. Como apenas um desses vms é executado a qualquer momento, tudo o que está usando é espaço em disco, portanto, é possível ter dezenas de vms em um servidor normal.

Economizando espaço em disco: se eu tiver dez computadores virtuais executando o mesmo sistema operacional, é possível que eles compartilhem o mesmo disco rígido virtual de base e gravem suas alterações em seu próprio disco rígido virtual.

Alocando / Re-alocando espaço. Com servidores físicos diferentes, é bastante comum ver uma máquina que está ficando sem espaço em disco e outros servidores com carga livre. Infelizmente, você não pode tirar metade de um disco (ou metade de uma matriz) de um servidor e ficar em outro servidor. Porém, com servidores virtuais, é possível reduzir a alocação de um servidor e aumentar o outro (ou apenas usar discos de expansão dinâmica).

Instantâneos. Isso permite que você tire um instantâneo do servidor em um determinado momento, como um backup completo quase instantâneo. Isso significa que você pode fazer coisas como, tirar uma foto instantânea, desligar o servidor. Monte o snapshot da semana passada, verifique algumas coisas e, em seguida, encerre e monte o snapshot mais recente e continue, tudo sem gastar horas fazendo backup e restauração do servidor. Com um pouco mais de trabalho, você pode montar o instantâneo mais antigo como outra máquina virtual e fazer com que as cópias antigas e novas sejam executadas lado a lado)

Movendo servidores virtuais. Se você tiver, digamos dois servidores host e você achar que o host1 está sobrecarregado, mas o host2 não estiver, é possível mover uma das missões do host1 para o host2, o que é quase tão simples quanto desligar o convidado movendo um (bastante grande) Arquivo. (Existem opções, geralmente extras, que permitem fazer coisas maravilhosas, como mover convidados entre hosts sem desligá-lo, para que os usuários não percebam.)

E não são apenas os servidores / empresas onde a virutalização pode ser benéfica.

Eu faço minhas contas pessoais usando uma versão antiga do Quicken e uma versão muito, muito antiga do Excel e alguns outros pequenos programas. Essa configuração não funciona corretamente no Vista / W7 e não funciona em janelas de 64 bits. Eu costumava executar isso em um computador antigo que começou a se tornar não confiável. Agora, ele está em um disco rígido virtual do XP e agora, quando recebo uma nova máquina, instalo o Virtual PC, copio minha máquina virtual e inicio minha máquina virtual. Não é necessário instalar o Quicken e o Excel, nem os disquetes que surgiram no excel (eu disse que era uma versão muito, muito antiga).

A desvantagem de fazer isso com o Windows em casa é o custo extra de licenciamento. Como AaronM apontou, pode haver uma economia de custos significativa para os negócios, mas esse não é o caso em casa.

sgmoore
fonte
3
Os instantâneos não são tão bons quanto parecem - eles sofrem um grande desempenho. Cada instantâneo que você tira diminui a velocidade da Máquina Virtual e, se você continuar tirando instantâneos com várias ramificações, sua VM será interrompida. Se você precisar de um backup, é melhor copiar o conteúdo da VM em outro lugar, em vez de tirar instantâneos. Os instantâneos são ideais quando você não usa muitos deles e precisa de um mecanismo "rápido" de backup e restauração, como testar instalações de software ou comportamentos de vírus.
21411 Hippo
@sgmoore isso é estranho, porque minha instalação do Windows Office de 32 bits funcionou perfeitamente na minha nova máquina de 64 bits. Todas essas máquinas não deveriam ser compatíveis com versões anteriores?
Escuro Templar
+1 para instantâneos. Se o que está sendo testado não funcionar, reverta, se funcionar, livre-se do instantâneo.
Bratch
@JacobHayden. A compatibilidade não é perfeita, e é para isso que serve o modo XP. Mas na verdade não cheguei a testar minha cópia do Excel com janelas de 64 bits (mas estou executando a versão de 32 bits do Office 2007 no W7 de 64 bits no trabalho). Meus problemas estavam mais relacionados aos outros programas, pois a instalação do Quicken travou e, em segundo lugar, tive problemas com o ODBC. Era mais fácil evitar os problemas e continuar usando o XP em uma máquina virtual.
sgmoore
Eu faço tudo no Linux no meu notebook (não é corporativo), mas ainda preciso de algo ocasional no XP ou 7. Eu costumava passar pelo grave agravamento da reinicialização da minha máquina de inicialização dupla duas vezes - uma vez para chegar ao XP e uma vez para voltar. Agora, eu posso ter o XP rodando em uma VM, para que pareça com outro aplicativo no Linux. É uma grande melhoria. Além disso, tudo o que preciso fazer é copiar um (enorme) arquivo para fazer backup completo do Windows - em um pronto para executar com todas as minhas configurações intactas. É brilhante!
Joe
5

Em grandes empresas, também permite uma economia significativa de custos nos requisitos de licenciamento. Ou seja, uma licença de duas CPUs do Microsoft Server 2008 Datacentre permitirá executar tantas cópias do Server 2008 R2 em uma caixa virtual quanto possível, sem a sobrecarga adicional do licenciamento por SO. Da mesma forma, o Microsoft SQL Server é licenciado por CPU.

Um único servidor físico com duas CPUs pode executar vários SOs convidados e cada um deles pode executar uma instância do servidor SQL - todos cobertos pela licença de servidor físico único, o que pode proporcionar uma economia de custos considerável.

Consulte http://www.bythebell.com/2010/05/virtualization-licensing-savings-for-microsoft-windows-and-sql-server-products.html para obter alguns exemplos disso.

Todos os comentários de William acima também são válidos.

AaronM
fonte
5

Outra razão importante pela qual eu acho que é tão popular é que ela é considerada uma maneira " verde " de operar seu data center, porque tem o potencial de usar menos eletricidade. E a lavagem verde é uma coisa importante para os departamentos corporativos de RP ultimamente.

Em um ambiente não virtualizado típico, você constrói cada servidor com capacidade excedente para lidar com o pico de carga, o que significa que você tem uma quantidade extra de potência extra em uma tomada para o caso de todo mundo decidir que precisa iniciar uma solicitação cara ao mesmo tempo.

Em um ambiente virtualizado, vários servidores lógicos podem compartilhar esse excesso de capacidade com a suposição de que os servidores lógicos co-localizados em uma máquina física não serão todos maximizados simultaneamente.

Uma segunda razão pela qual está ganhando força é o fato de estar usando as roupas da computação em nuvem . Servidores virtualizados são uma tecnologia central que possibilita oferecer muitos dos recursos da computação em nuvem, que não coincidem de forma coincidente com os da virtualização. A computação em nuvem é uma tendência quente no momento e as chances são de que, se você estiver colocando servidores na nuvem, eles serão servidores virtualizados.

JohnFx
fonte
Olá JohnFX, você poderia explicar um pouco sobre como a computação em nuvem e a virtualização são semelhantes ou relacionadas? Obrigado :)
Dark Templar
1
Eu estava me referindo principalmente à computação em nuvem do tipo Hardware como serviço, em que você terceiriza as plataformas de servidor e as acessa pela Internet. Antes da virtualização, empresas como a Rackspace tinham literalmente computadores físicos dedicados a cada cliente. Agora, eles apenas alocam recursos usando a virtualização e isso economiza um custo considerável.
JohnFx
0

Todas as coisas mencionadas nas respostas anteriores estão corretas, mas a verdadeira razão pela qual conquistou tanta popularidade no início em grandes empresas é que contornou todas as nossas restrições de exportação de licença e criptografia de software de fornecedor ao mover trabalhos de central de atendimento para países em desenvolvimento.

srm
fonte
-3

O comentário de Mrm está certo sobre o dinheiro. Além de permitir que o software seja usado muitas e muitas vezes mais do que o número de licenças adquiridas permitiria (e fornecendo uma área legal legal, pois o software foi tecnicamente instalado em apenas um sistema e é muito difícil provar forense que vários sistemas usei, muito menos explique como isso é ilegal uma vez que você o provou) A virtualização permite que departamentos de TI preguiçosos implantem versões antigas de software. Isso economiza dinheiro e horas de trabalho na atualização, reciclagem de usuários e tratamento de problemas causados ​​pela atualização

jamesson
fonte
4
Eu não diria que isso é muito preciso - leia minha resposta - eu não me consideraria preguiçoso e executo aplicativos herdados. O motivo é que eu posso executar o Windows NT 4 para o sistema de um cliente bem virtualizado, onde, onde, onde diabos vou encontrar suporte para hardware antigo como esse? E se algo quebrar, vou ter sérios problemas ... Funciona perfeitamente dentro de uma VM. Além disso, todas as VMs têm um ID de BIOS, NIC MAC e muito mais; portanto, todas parecem uma máquina separada completamente e é muito fácil perceber a diferença.
William Hilsum 29/10