Criação de servidores para diversão e lucro… OK, talvez só por diversão

Em 1998, trabalhei brevemente para o FiringSquad, um site de jogos fundado pelo campeão de Doom e Quake, Thresh aka Dennis Fong e seu irmão Lyle. Posso rastrear meu interesse de longa data em cadeiras e teclados a alguns dos primeiros e inovadores artigos que escreveram. Dennis e Lyle eram ótimos companheiros de trabalho e, de vez em quando, conversávamos ao telefone sobre coisas nerds de hardware, como a vez em que eles se envolveram tanto na construção de PCs que, na verdade, estavam construindo PCs para montagem em rack… para sua casa.

Portanto, acho que é inevitável que eu acabe escrevendo um artigo sobre o construção de PCs para montagem em rack. Mas o não do tipo que entra em sua casa. Não, isso seria tão maluco quanto o agora descontinuado Windows Home Server produto.

Mamãe, por que há um servidor na casa?

O lugar dos servidores é em seu habitat nativo, o data center. Que pode ser lugares incríveis por si só.

Facebook-datacenter-1u-racks

A foto acima é do site do Facebook Projeto de computação abertaque trata da criação de centros de dados extremamente eficientes em termos de energia. E isso começa com o projetos de servidores 1U minimalistas e sem frescurasonde 1U é a menor quantidade de espaço divisível em um rack de servidor.

Duvido que muitas empresas sejam grandes o suficiente para pensar em construir seu próprio data center, mas se o Facebook está construindo seus próprios servidores personalizados a partir de peças x86 comuns, não poderíamos fazer o mesmo? Em um mundo de máquinas virtuais baratas e alugáveis, como o Amazon EC2, Google Compute Enginee Nuvem do Azure, realmente faz sentido construir seu próprio servidor e colocá-lo em um datacenter?

É meio difícil dizer exatamente quanto custará uma instância do Amazon EC2 para o senhor, pois isso varia muito de acordo com o uso. Mas se eu usar o Amazon Web Services calculadora mensal simples e selecione o aplicativo da Web “common customer sample”, que fornece um valor de US$ 1.414 por mês, ou US$ 17 mil/ano. Se o senhor quiser executar um aplicativo Web típico no EC2, esse é o valor que deve esperar pagar. Portanto, vamos usar isso como linha de base.

O tipos de instância incluídos na amostra de cliente de Aplicativo Web são 24 pequeno (para o front-end), e 12 large (para o banco de dados). Aqui estão as especificações atuais da instância grande:

  • 7,5 GB de memória
  • 2 núcleos virtuais com 2 unidades de computação EC2 cada
  • 850 GB de armazenamento de instância
  • Plataforma de 64 bits
  • Desempenho de E/S: Alto

O senhor deve estar se perguntando o que é um Unidade de computação EC2 é a maneira da Amazon de normalizar o desempenho da CPU. Por sua definiçãoo que obtemos na instância maior é semelhante a um antigo Era 2008 CPU Xeon dual core de 2,4 GHz. Sim, o senhor pode pagar mais e obter instâncias mais rápidas, mas mudar as instâncias do pequeno para o high-CPU e do grande para o high-MEM mais do que dobra a conta para $3.302 por mês ou $40k/ano.

Supondo que o senhor subscreva a teoria da expansão para fora versus expansão para cimaSe o senhor não estiver interessado em escalar o Stack Overflow, o que deve fazer é criar um monte de servidores de commodity decentes e com bom custo-benefício. Evitei criar servidores diretamente quando estávamos ampliando o Stack Overflow, optando por comprar hardware pré-montado da Lenovo em vez disso. Mas, desta vez, decidi que o estado do hardware avançou o suficiente desde 2009 para que eu me sinta confortável em cortar o intermediário em 2012 e construir os servidores eu mesmo, do zero. É por isso que acabei de criar quatro servidores exatamente como este:

(Se estiver usando isso como uma lista de compras, o senhor também precisará de alimentação de 4 pinos extensões para o caso, e o SuperMicro 1u dissipador de calor passivo. O recurso decisivo das placas-mãe da SuperMicro, que as torna todas voltadas para servidores, em primeiro lugar, é o hardware KVM-over-IP. É isso mesmo, a menos que o servidor esteja literalmente desconectado, o senhor pode entrar remotamente e instalar um sistema operacional, ajustar o BIOS, ligar e desligar o servidor e assim por diante. Isso funciona. Eu o utilizo diariamente).

Peças para montar um servidor 1U

Com base nas especificações acima, esse servidor tem memória comparável à instância extragrande dupla de alta memória, potência de CPU comparável à instância extragrande de alta CPU e desempenho de disco comparável ao da instância extragrande quádrupla de alta E/S. Esse é um servidor muito.., muito servidor de ponta pelos padrões EC2. Seria proibitivamente caro executar esse hardware na nuvem da Amazon. Mas quanto nos custará para construí-lo? Apenas US$ 2.452. Acrescentando 10% para impostos, frete, etc., vamos chamar de US$ 2.750 por servidor. Um servidor top de linha novinho em folha custa aproximadamente o mesmo que dois meses de hospedagem de aplicativos Web EC2.

É claro que esse valor não inclui o custo do tempo para construir e montar o servidor, o custo de colocar o servidor no locale o custo contínuo de gerenciamento e manutenção do servidor. Mas eu humildemente afirmo que o custo único de pagar por três desses servidores, mais o custo da colocação, mais um monte de dinheiro extra para cobrir o provisionamento, a manutenção e o suporte, ainda será significativamente menos de US$ 17.000 por um um único ano de hospedagem de aplicativos Web EC2. Todos os anos após o primeiro ano serão um molho, até que os servidores se tornem obsoletos – o que, mesmo de forma conservadora, deve levar pelo menos três anos. Talvez o mais importante seja o fato de que esses servidores oferecerão um desempenho muito melhor do que o que o senhor poderia obter do EC2 para executar seu aplicativo Web, pelo menos não sem pagar quantias astronômicas pelo privilégio.

Servidor 1U recém-construído para montagem em rack

(Se o senhor estiver preocupado com o consumo de energia, não se preocupe. Acabei de medir o consumo de energia do servidor usando meu confiável dispositivo Kill-a-Watt: 31 watts (0,28 amperes) em marcha lenta, 87 watts (0,75 amperes) sob uma carga artificial de 100% da CPU que nunca acontecerá. As três ventoinhas frontais do gabinete SuperMicro são conectadas à placa-mãe e só giram na inicialização e sob carga extrema. É surpreendentemente silencioso em uso típico para um servidor 1U).

Sei que, até certo ponto, estamos comparando maçãs e laranjas. Ou o senhor tem um desejo perverso de mexer no hardwareou o senhor está mais do que disposto a pagar quantias exorbitantes para que outra pessoa se preocupe com tudo isso (e, para ser justo, ofereça níveis de flexibilidade, largura de banda e disponibilidade que seriam impossíveis de alcançar, mesmo se o senhor colocasse servidores em várias instalações). US$ 51.000 em três anos é o suficiente para pagar por um lote de colocation e hardware de altíssima qualidade. Mas talvez o recurso realmente precioso em sua organização seja o tempo das pessoas, não o dinheiro, e esses US$ 51 mil sejam apenas um erro de arredondamento em seu orçamento.

De qualquer forma, quero deixar claro que o senhor construir e colocar seus próprios servidores não é (sempre) uma loucura, não é assustador, nem mesmo é particularmente difícil. Em algumas situações, pode fazer sentido construir e colocar em rack seus próprios servidores, desde que …

  • o senhor queira um desempenho de servidor absolutamente de primeira linha sem pagar milhares de dólares por mês pelo privilégio
  • o(a) senhor(a) está disposto(a) a investir tempo na construção, montagem em racks e configuração de seus servidores
  • o senhor tem o capital para investir antecipadamente
  • o senhor deseja ter controle total sobre o hardware
  • o senhor não está preocupado com a flexibilidade de provisionar rapidamente novos servidores para lidar com cargas imprevistas
  • o senhor não precisa da redundância, do backup geográfico e da flexibilidade que a virtualização em nuvem oferece

Por que opto por construir e colocar servidores? Principalmente para obter o máximo de desempenho. Essa é a única coisa que o senhor sempre não consegue das soluções de hospedagem em nuvem, a menos que o senhor esteja disposto a pagar um prêmio enorme, por mês, para sempre: desempenho bruto e desenfreado. Fico feliz em gastar dinheiro com um bom hardware dedicado, pois sei que o o hardware é barato e os programadores são caros.

Mas, para ser totalmente honesto com o senhor, na maioria das vezes eu crio servidores porque é divertido.