Em Meu herói da escaladescrevi a incrível história de escalonamento do plentyoffish.com. Ela é impressionante sob qualquer ponto de vista, mas também é particularmente relevante para nós porque também estamos na pilha da Microsoft. Fiquei intrigado quando Markus publicou esta atualização recente:
Na última segunda-feira, atualizamos nosso servidor de banco de dados principal depois que uma queda de energia deixou o site fora do ar. Eu não mexia nessa máquina desde 2005, portanto, foi um grande empreendimento fazer isso de última hora. Fizemos o upgrade de uma máquina com 64 GB de RAM e 8 CPUs para um HP ProLiant DL785 com 512 GB de RAM e 32 CPUs …
O HP ProLiant DL785 G5 começa a partir de US$ 16.999 – e isso sem nada dentro. Totalmente configurado, como Markus descreve, ele é uma espécie de monstro:
- Tamanho de 7U (um servidor típico é de 2U, e os servidores convencionais geralmente são de 1U)
- 8 soquetes de CPU
- 64 soquetes de memória
- 16 compartimentos de unidade
- 11 slots de expansão
- 6 fontes de alimentação
Não está claro se eles o compraram pré-configurado ou se eles mesmos adicionaram os discos, as CPUs e a memória. A configuração mais cara mostrada no site da HP custa US$ 37.398 e inclui apenas 4 processadores, nenhuma unidade e uma memória insignificante de 32 GB. Quando complementada com DIMMs de memória ultra-caros de 8 GB, 8 Opterons de última geração, discos rígidos de 10.000 RPM e tudo o mais – pelas minhas estimativas, provavelmente custaria perto de US$ 100.000. Esse pode até ser um número baixo, considerando que o o DL785 enviado ao site de benchmark da TPC (pdf) teve um “custo de sistema” de US$ 186.700. E essa máquina tinha apenas 256 GB de RAM. (Mas, para ser justo, esse total incluía outra grande matriz de armazenamento e um monte de software).
De qualquer forma, vamos supor que US$ 100.000 seja um valor razoável para o servidor monstruoso que Markus comprou. Ele é a própria definição de aumento de escala — um servidor único de ferro seriamente grande.
Mas e se o senhor for ampliado, em vez disso — Hadoop ou MapReduce em muitos e muitos servidores de baixo custo? Depois de alguns problemas iniciais de configuração, fiquei satisfeito com os servidores baratos Lenovo ThinkServer RS110 que usamos. Eles não são páreo para o DL785, mas também não são exatamente um fígado picado:
Lenovo ThinkServer RS110 barebones | $600 |
8 GB DE RAM | $100 |
2 x eBay suportes de acionamento | $50 |
2 discos rígidos SATA de 500 GB, espelhados | $100 |
CPU quad-core Intel Xeon X3360 de 2,83 GHz | $300 |
Total geral de $1,150 por servidor. Mais outros 10% para impostos, frete e assim por diante. Substituo a CPU e a memória que acompanham o servidor e, em seguida, revendo as peças recuperadas no eBay por cerca de US$ 100, portanto, vamos chamar o preço total por servidor de US$ 1.200.
Agora, supondo que um despesa fixa de US$ 100.000, poderíamos construir 83 desses servidores 1U. Vamos comparar o que o senhor recebe em troca do seu dinheiro:
Aumento de escala | Aumento de escala | |
CPUs | 32 | 332 |
RAM | 512 GB | 664 GB |
Disco | 4 TB | 40,5 TB |
Agora Qual abordagem faz mais sentido?
(Esses números são um pouco distorcidos porque o DL785 está no extremo absoluto do espectro do big iron. O senhor paga um prêmio alto para atingir o máximo. É possível construir um servidor um pouco menos potente com o longe melhor para o senhor).
Mas há outra coisa a considerar: o licenciamento de software.
Aumento de escala | Aumento de escala | |
SO | $2,310 | $33,200* |
SQL | $8,318 | $49,800* |
(Se o senhor estiver usando todo o software de código aberto, é claro que esses custos serão muito próximos de zero. Estamos supondo que o senhor tenha uma loja da Microsoft aqui, com as licenças necessárias para o Windows Server 2008 e o SQL Server 2008).
Agora Qual abordagem faz mais sentido?
E quanto aos custos de energia? A eletricidade e o espaço no rack não são gratuitos.
Aumento de escala | Aumento de escala | |
Pico de Watts | 1,200w | 16,600w |
Custo de energia / ano | $1,577 | $21,815 |
Agora Qual abordagem faz mais sentido?
Não estou escolhendo favoritos. Isso é apresentado como alimento para reflexão. Há pelo menos uma dúzia de outros fatores que o senhor deve considerar, dependendo das particularidades de sua situação. Aumentar e diminuir a escala são ambos soluções viáveis, dependendo do problema que o senhor está tentando resolver e dos recursos (financeiros, de software e outros) que tem à mão.
Dito isso, acho que é justo concluir que o escalonamento só é sem atrito quando o senhor usa software de código aberto. Caso contrário, o senhor se encontra em um dilema: aumentar a escala significa pagar menos pelas licenças e muito mais pelo hardware, enquanto aumentar a escala significa pagar menos pelo hardware e muito mais pelo hardware. inteiro muito mais para as licenças.
* Eu tenho não ideia se esses são os preços corretos para o Windows Server 2008 e o SQL Server 2008, porque o ler sobre os modelos de licenciamento faz meu cérebro doer. Se houver, poderia ser substancialmente mais.