Novas caixas para a equipe de desenvolvimento: Compre PCs potentes ou 15k de infra-estrutura de VM? [duplicado]

1

Olhando para atualizar as caixas dev para minha equipe de desenvolvimento. Falei com o meu CTO e ele está potencialmente me dando a opção de comprar caixas potentes (digamos que o Core i7, 8GB de RAM) - gastar talvez um máximo de US $ 1000 - US $ 1200 por caixa ou, eu posso levar cerca de US $ 15k para investir em um servidor VMWare para minha equipe.

Eu tenho uma equipe de 7 (em breve 8) desenvolvedores e, em última análise, queremos mais flexibilidade para criar ambientes de desenvolvimento mais fáceis, sem depender de nosso departamento de TI para criar novas caixas para nós. Obviamente, há um monte de outros benefícios com o VMWare, como aumentar nossa capacidade de criar nossos próprios ambientes de teste, etc.

Se eu for na rotina da VM, vou despejar o 15K todo em hardware e apenas executar o hipervisor gratuito VMWare ESXi - pois acredito que funcionará bem para as necessidades da minha equipe. No entanto, será um 15k no valor de hardware do servidor cortada 8 maneiras comparar no desempenho (ou chegar perto?) Para smokin 'hot core i7 PC para todos? Talvez até mesmo se a VM for um pouco mais lenta - todos os outros benefícios tornam a VM a melhor escolha geral?

Interessado em ouvir pessoas que tiveram que fazer essa escolha.

    
por erbz 04.05.2011 / 15:08

3 respostas

2

Na minha opinião, eu iria com workstations de alta potência. Você precisará ter um armazenamento extremamente bem otimizado em seu ambiente de VM se quiser manter seus devs felizes. No meu ambiente, cada desenvolvedor está executando várias instâncias de SQL, o que manteria os discos muito ocupados o tempo todo em um ambiente de VM.

Se você quiser facilitar as tarefas de desenvolvimento com mais flexibilidade e escalabilidade, uma coisa melhor a fazer seria implementar um repositório de algum tipo, como o Team Foundation, ou o que for aplicável à sua loja.

    
por 04.05.2011 / 15:55
2

Em meus olhos, não é "ou" ou "situação".

Seus desenvolvedores precisam das máquinas mais rápidas possíveis. Melhora sua eficiência, faz o trabalho mais rápido e evita que eles se distraiam enquanto esperam que o computador conclua uma tarefa.

Seus desenvolvedores também precisam de um ambiente para testar seu aplicativo. Instalação, desinstalação, se funciona em configuração específica. Se for um aplicativo cliente-servidor, eles precisam de vários sistemas para testar o aplicativo, e cada um deles precisa do ambiente, para poder caçar seus próprios bugs, e não lutar uns contra os outros pelo acesso ao banco de testes.

Portanto, a resposta depende do que você tem agora. Se você tiver apenas mesas, cadeiras e codificadores, precisará de estações de trabalho, porque as pessoas precisam trabalhar em algum lugar. Se você tem um hardware decente e pensa em atualização, então pegue uma estação para o 8º desenvolvedor e consiga um ambiente de teste próprio para o playground. A capacidade de criar e derrubar máquinas com qualquer configuração que elas gostem será muito útil. Eles vão apreciar a restauração de instantâneos também. OTOH se você tiver máquinas lentas, mas um departamento de TI semi-decente para criar ambientes de teste para seus caras, então, obtenha máquinas físicas mais rápidas.

No que diz respeito à velocidade, as estações de trabalho serão mais rápidas. Você está falando de mais de 32 núcleos reais e 64 GB de RAM dedicados apenas ao ambiente de desenvolvimento. O uso da CPU dependerá da velocidade do seu ciclo de desenvolvimento (com que freqüência eles compilarão / executarão outras tarefas intensivas da CPU), mas você gostaria de conceder a eles pelo menos 48 GB de RAM, permitindo a desduplicação de memória do VMware e, preferencialmente, ferramentas de desenvolvimento idênticas). Ainda assim, precisariam de algo em sua mesa para se conectar à infraestrutura virtual.

Na frente de armazenamento, se você não tem algo, que você pode anexar à sua infraestrutura de VM, um sistema FC de controlador duplo de nível básico comerá melhor parte de seus 15 mil dólares. Nesse caso, construir um ambiente de desenvolvimento virtualizado não parece viável para mim.

    
por 05.05.2011 / 07:06
0

Acho que a escolha entre PCs realmente legais para uma "caixa de areia" local e uma máquina de teste comum é realmente específica para o funcionamento de sua equipe. Em nosso ambiente, temos servidores de teste centrais que todos os desenvolvedores compartilham porque podem compartilhar muitos componentes comuns. Estamos desenvolvendo principalmente no Windows, portanto, temos alguns controladores de domínio em máquinas virtuais, alguns servidores SQL comuns que eles geralmente compartilham e, em seguida, VMs extras para qualquer projeto em que cada pessoa esteja trabalhando. A vantagem é que este laboratório de teste fornece um nível comum de serviços que todos eles compartilham e não precisam construir separadamente em sua própria máquina, mas ainda têm muita flexibilidade para ter suas próprias VMs para qualquer coisa.

$ 15K não vai muito longe para um servidor de desenvolvimento, mas depende do tipo de trabalho que estão fazendo. Eles estão usando apenas para testes de tipo de configuração, onde eles garantem que o código funcione em qualquer sistema com o qual ele se integre? VMs de baixa potência certamente podem lidar com isso. Mas se eles quiserem fazer qualquer tipo de teste de carga que não funcione com o seu orçamento.

Acabamos de comprar uma caixa para alguns testes em que gastamos cerca de US $ 15 mil. É um Dell PowerEdge T710 com 16 unidades internas, 64 GB de RAM e dois processadores de 6 núcleos. Você pode facilmente obter 35 VMs de baixo consumo nessa caixa.

Obviamente, com o seu orçamento, você não estará comprando uma matriz de armazenamento externo e certamente não um canal de fibra, mas uma máquina simples com vários discos grandes faria o truque.

    
por 05.05.2011 / 09:29