Virtualização distribuída em estações de trabalho ou em um grande servidor central para testes e documentação?

1

Estamos contemplando um esforço para empregar a virutalização para nosso grupo de teste e documentação para ajudar a gerenciar ambientes de teste e documentação consistentes. Estávamos olhando para escolher um par de caixas centrais realmente grandes que consolidassem várias instâncias de VM ou apenas certificando-se de que todos tivessem muito espaço em disco e executassem algo como uma caixa virtual em cada máquina.

Tenho certeza de que deve haver pessoas que tentaram uma ou ambas as configurações e podem me dizer quais são os prós e contras de uma das abordagens?

    
por MikeJ 09.06.2009 / 00:24

4 respostas

2

Nós fizemos algo semelhante, mas acabamos recorrendo às soluções de virtualização baseadas em desktop.

Os profissionais são que você pode controlar o nível de detalhes de suas configurações e garantir que eles sejam padronizados e atualizados em sintonia com nossas máquinas de produção.

A desvantagem é que uma execução tardia do Selenium (como parte da integração contínua em webapps) pode derrubar uma instância que outras pessoas podem precisar, portanto você precisa dar acesso root no Dom0 a todos e esperar que seus desenvolvedores pode consertar as coisas quando elas quebram, ou um administrador tem que gastar uma quantidade não trivial de tempo mantendo a caixa central em execução. Também tentamos dividir as instâncias (uma instância de cada tipo por desenvolvedor), mas descobrimos que ela era complicada de administrar, porque cada desenvolvedor quebrava as coisas de maneira única.

Nossa política atual é ter desenvolvedores trabalhando no hardware da Apple, porque ele pode rodar tanto o Linux quanto o Windows DomU em vários produtos, e não nos preocupamos em descobrir como executar um DomU do OSX, se possível, no hardware da Wintel.

    
por 09.06.2009 / 00:42
2

Posso dar-lhe as minhas razões para preferir uma abordagem centralizada / de servidor.

  • Cotas: permitindo que eu / gerentes agrupem usuários de VMs e aloquem recursos que possam distribuir entre projetos / VMs, conforme necessário
  • Visualização centralizada: permite-me detectar tendências em quão rapidamente precisaremos comprar mais RAM / servidores
  • Backup: é muito mais fácil gerenciar backups de servidor do que estações de trabalho
  • Conjunto compartilhado: o dinheiro gasto em hardware de servidor verá uma utilização mais alta, creio eu, do que as estações de trabalho (especialmente em organizações de horário flexível). Aqueles ficarão ociosos quando as pessoas estiverem de férias.

Eu também sinto que você obtém mais retorno do seu dinheiro dos servidores finais mais altos em comparação às estações de trabalho, mas isso pode ser apenas um pressentimento.

Temos alguns laptops modernos, usados principalmente por:

  • Serviços profissionais: é uma dádiva para transportar um ambiente de teste para o site do cliente
  • Demonstrações de vendas
por 09.06.2009 / 00:45
2

A resposta, claro, é "depende".

Se você estiver executando algo como o VMWare Workstation ou usando o VMWare Player na estação de trabalho, pois cada usuário precisa de sua própria instância, cada instância em execução da VM deve ser uma cópia exclusiva. Como o disco local é sempre mais rápido que o disco de rede, você também pode copiar as VMs para as estações de trabalho individuais. Isso significa que o usuário final tem mais controle sobre as VMs e pode pará-las / matá-las se elas forem limpas.

Se você estiver executando-os em um servidor central, porque você precisa controlar rigorosamente o conteúdo da VM, E você tem algum tipo de servidor de arquivos extra-confiável como um NetApp ou algo assim, então eu gostaria de colocá-los no servidor de arquivos (seja sobre iSCSI ou NFS) e execute-os assim. Dessa forma, se o servidor da VM morrer, suas VMs não serão retidas no disco local de um servidor que esteja corrompido. (Eu presumo que o seu servidor de arquivos extra-confiável tenha algum tipo de nível de contrato de suporte 7x24, "está-quebrado-faça-você-vá").

Eu fiz isso de duas maneiras, dependendo do objetivo.

    
por 09.06.2009 / 11:20
1

Testamos / desenvolvemos VMs em estações de trabalho, em vez de servidores VM centralizados. Os principais benefícios são melhor controle do desenvolvedor (reboots, mexericos, etc), melhor isolamento (se um desenvolvedor faz algo realmente estúpido, o pior que pode acontecer é que eles derretem a CPU da sua própria workstation em vidro) e o fato de que aquele hardware apenas sentado lá debaixo das mesas das pessoas sem fazer nada (computação verde, e tudo isso) ...

    
por 09.06.2009 / 02:08