- Durante o lockdown de 2020, Varun começou no desenvolvimento web e, depois de passar pelo Replit e por um PC pessoal, montou um homelab para operar serviços e projetos experimentais diretamente de casa
- À medida que aumentavam os serviços com usuários reais — como o jogo de quiz em tempo real para a escola Quickz, uma plataforma de mídia social criada por ele e ferramentas para a comunidade Scratch — também crescia sua experiência operacional com self-hosting
- O primeiro servidor, iniciado com Windows 10 Pro, sofreu com atualizações e downtime; em novembro de 2020, ele migrou para Ubuntu Server, adotando uma operação baseada em Linux, nginx e Docker
- Depois que ficaram evidentes os limites de armazenamento e desempenho do Dell OptiPlex, em maio de 2022 ele comprou um Dell PowerEdge R720XD usado e expandiu para uma estrutura com Proxmox e VMs Ubuntu Server
- O Dock’n’Roll, criado por ele, recria em hardware e domínio próprios o fluxo rápido de deploy ao estilo do Replit, mas o homelab também continua trazendo limitações práticas como ruído, consumo de energia e mudanças de casa
O homelab no quarto e os serviços em operação
- Varun opera dois servidores em casa
- um Dell OptiPlex no chão
- um Dell PowerEdge R720XD em cima de uma pequena mesa de centro da IKEA
- os dois servidores estão conectados por cabos Ethernet vermelho e amarelo
- Nos servidores caseiros rodam desde projetos experimentais até serviços com usuários reais
- uma plataforma de mídia social criada por ele com milhares de usuários
- o jogo de quiz em tempo real para escolas Quickz
- uma plataforma estilo flipbook para criar e compartilhar animações, usada como instância de demonstração do MYP Personal Project
- ferramentas como um mecanismo de busca para a comunidade do Scratch
- servidores de jogos para amigos
- várias instâncias do Plausible Analytics
- uma ferramenta parecida com o Replit para criar e hospedar projetos experimentais
Self-hosting iniciado no lockdown de 2020
- O ponto de partida foi o lockdown de 2020, quando Varun tinha 13 anos
- No começo, ele iniciou no desenvolvimento web com sites estáticos em HTML e logo passou a criar apps mais complexos que exigiam backend
- Seus primeiros web apps, bots de Discord e scripts de automação eram hospedados no Replit
- Ele também mantinha um servidor de Minecraft para os amigos deixando seu computador pessoal ligado o tempo todo
- O motivo para escolher um servidor em casa em vez da nuvem tinha menos a ver com economia e mais com aprender a stack inteira
- front-end voltado ao usuário
- backend e banco de dados
- e também a operação real do servidor onde os serviços são colocados no ar
- ele considera que, na escala dele, usar nuvem talvez fosse até mais eficiente em custo
O primeiro servidor: Dell OptiPlex e Windows 10 Pro
- Ele conseguiu no eBay um Dell OptiPlex com i7-3770S e 8 GB de RAM
- No envio dos EUA para a Suíça, o vendedor inicialmente mandou a quantidade errada de RAM, e levaram algumas semanas para resolver
- Por familiaridade, no começo ele continuou usando Windows 10 Pro como sistema operacional do servidor
- Ter um endereço IPv4 estático em casa tornava a hospedagem de sites mais fácil e estável
- Todos os serviços ficavam atrás do Cloudflare, que cuidava gratuitamente de SSL, DNS e do que ele supõe ser proteção contra DDoS
A transição de Windows para Ubuntu Server
- Na época, operar um servidor com Windows 10 tinha algumas vantagens para Varun
- ele já estava acostumado com Windows
- podia testar em um ambiente parecido com o do seu desktop pessoal
- em casa, conseguia uma conexão rápida e de boa qualidade via RDP
- no Chromebook fornecido pela escola, precisava de acesso via web e por isso usava o Chrome Remote Desktop
- Quando as atualizações do Windows começaram a causar downtime e a obrigar a reorganizar janelas repetidamente, ele migrou para Ubuntu Server em novembro de 2020
- Antes da mudança, ele temia perder a noção de conseguir entender rapidamente o sistema inteiro, mas, por já ter se acostumado à linha de comando ao escrever código no Windows, a adaptação ao Linux foi rápida
- A configuração inicial em Linux era simples, mas também trazia riscos
- um nginx exposto à internet tratava o tráfego HTTPS na porta 443 com certificado autoassinado e rejeitava requisições que não vinham do Cloudflare
- ele rodava vários projetos que queria manter online 24 horas por dia
- operava uma única instância compartilhada de MongoDB entre os projetos
- executava alguns servidores de Minecraft Java
- expôs o webssh2 para acessar o servidor a partir da escola, embora ele mesmo reconheça que isso provavelmente não era muito seguro
- Instalar software de terceiros logo ficou complexo por causa de dependências e da adição de repositórios apt, e o Docker virou a ferramenta para simplificar instalação e execução
- software de terceiros passou a rodar em Docker
- código escrito por ele rodava diretamente no servidor
Limites de armazenamento e a chegada do PowerEdge R720XD
- Cerca de um ano depois, ele já operava projetos com usuários reais, como o Quickz e a plataforma de mídia social criada por ele
- Enquanto estava na escola, o servidor travou; ele tentou acessar via SSH, mas, depois que surgiram erros de disco, acabou bloqueado
- A causa era falta de espaço de armazenamento, e ele ganhou tempo apagando alguns arquivos quando chegou em casa
- O Dell OptiPlex existente, com 8 GB de RAM e i7-3770S, já não conseguia lidar bem com a carga crescente
- Em maio de 2022, ele usou dinheiro acumulado com bug bounty para comprar um Dell PowerEdge R720XD usado
- 3 discos de 3 TB
- 128 GB de RAM DDR3
- 2 CPUs E5-2690 com alto consumo de energia
- Antes da compra, ele não considerou bem espaço, ruído e consumo de energia, e reduziu parte do problema de barulho fixando a velocidade das ventoinhas do iDRAC em 10% com um hack não suportado
- O R720XD tem fontes de alimentação, CPUs e NICs em duplicidade, além do iDRAC, que funciona como um mini computador capaz de gerenciamento remoto mesmo com o servidor desligado
- No começo, ele deixou o servidor sobre uma mesa de centro ao lado da TV da sala, e o rack e os equipamentos de montagem custavam mais do que o próprio servidor
Proxmox e a estrutura de acesso remoto
- No novo servidor, ele decidiu usar um hipervisor e instalou Proxmox
- A maior parte dos recursos foi alocada para uma VM Ubuntu Server, e agora todos os serviços rodam organizados dentro de Docker
- Essa estrutura deu flexibilidade para mover serviços depois sem precisar reconfigurar tudo do zero
- Separadamente, ele mantém uma VM Xubuntu chamada
backdoorusando Chrome Remote Desktop- assim, pode acessar de qualquer lugar um espaço de trabalho confortável dentro da rede doméstica
- ele poderia configurar uma VPN como OpenVPN ou WireGuard, mas esse método funciona até em dispositivos limitados como iPad e no Wi‑Fi público da escola
- ele também vê como vantagem não precisar se preocupar com tentativas automatizadas de força bruta contra bots
Dock’n’Roll: recriando por conta própria a experiência do Replit
- Mesmo depois de ter vários servidores, ele continuou sentindo falta do fluxo rápido de experimentação do Replit
- O Replit era ótimo para subir rapidamente projetos descartáveis, experimentos e apps isolados para demo, e seu ponto forte era o fluxo em que se escreve código numa IDE web e ele vai para a web imediatamente
- O Replit era gratuito, mas passou a introduzir recursos de monetização; ele entende que repls inativos são desativados quando não há usuários, e que também já não é mais possível hospedar gratuitamente sites dinâmicos públicos
- Para usar seu próprio hardware e um domínio sob seu controle, Varun criou o clone self-hosted do Replit baseado em Docker chamado Dock’n’Roll
- O Dock’n’Roll é um serviço de usuário único
- ele programa web apps na interface privada
dockn.varun.ch - os resultados ficam imediatamente acessíveis ao público em
*.varunbiniwale.com
- ele programa web apps na interface privada
- Os componentes são os seguintes
- um painel de controle feito em ExpressJS e uma interface web baseada no Monaco Editor do VSCode
- o botão de iniciar projeto usa a API do Docker Engine para construir a imagem e executar o contêiner
- os metadados dos projetos são armazenados em Redis
- a porta 80 de cada contêiner é exposta automaticamente em
:project.varunbiniwale.compor meio de um proxy reverso OpenResty com plugin Lua que se comunica com o Redis - arquivos em
/persisted/permanecem mesmo após reiniciar o contêiner e podem ser visualizados e editados pela interface web - a interface web de administração é protegida por um custom nginx auth proxy criado por ele
- O Dock’n’Roll também é usado em caça a bugs
- ele hospeda ferramentas ad hoc usadas para encontrar vulnerabilidades como blind SSRF e XSS
- há um exemplo que oferece imagens geradas automaticamente em
yourip.varunbiniwale.com
O presente do homelab e suas limitações futuras
- Varun resume que seu homelab talvez seja um pouco exagerado, mas é um ambiente de que ele gosta e que possui de fato
- Ele acha provável que, quando se mudar para cursar a universidade depois de se formar, não leve os servidores com ele, e também não quer deixar para os pais o peso de continuar operando esse hardware em casa
- Self-hosting não é algo para todo mundo, mas ele considera que, para quem gosta de mexer nas coisas e está disposto a lidar com as consequências, vale a pena tentar algo pequeno
- Operar seus próprios servidores lhe ensinou muito, e ele sente liberdade na experiência de ter um lugar sob seu próprio controle para rodar ferramentas e projetos
- Essa configuração às vezes gera estresse e talvez não seja a forma mais prática, mas lhe permitiu aprender muitas tecnologias que dificilmente teria aprendido de outro modo
1 comentários
Comentários do Hacker News
Eu também tenho 16 anos e tenho um pequeno homelab :)
Antes eu colocava todos os serviços na nuvem, mas depois que tive uma conexão 1G/1G em casa e descobri que lojas de caridade vendiam barato equipamentos corporativos descartados e hardware vindo de aterros, resolvi tentar operar meus próprios servidores físicos
Hoje rodo Proxmox em 2 máquinas e 1 NAS, com 14 discos giratórios, e hospedo um servidor de Minecraft, projetos pessoais de programação, scanners de vulnerabilidades, bots do Telegram, VPS para amigos, máquinas virtuais para builds de Android e macOS, armazenamento, um projeto escolar de machine learning usando uma 1050 Ti que adicionei recentemente, e até a infraestrutura de uma competição CTF da escola
Para constar, sou da Itália
Depois estudei física, fiz doutorado e até pós-doutorado relacionado a redes neurais, mas o que passei a considerar mais importante foi inspirar jovens como eu era antes; desde este ano voltei para a Itália e virei professor do ensino médio
Também estou preparando um curso extracurricular de Python na escola, então, se você não estiver longe de Milão e tiver interesse em conversar com os alunos, pode pensar nisso. Desejo muito sucesso
Ou então teriam que estudar na mesma escola
De qualquer forma, aplausos para uma família que apoia seus interesses
Em 2001, quando eu tinha 16 anos, usei o dinheiro que juntei em um emprego de verão para comprar "Teach Yourself C", do Herbert Schildt, uma placa de vídeo e um Sony Trinitron
No fim do capítulo 5, o Herb começou a falar de arrays multidimensionais de um jeito estranho, e, quando vi que o capítulo seguinte era sobre ponteiros, literalmente magia e bobagem, fiquei sobrecarregado e decidi pelo plano B: virar rockstar. Programação era difícil demais
Usei o que aprendi para colocar programas na TI-82 e colar nas provas de matemática
Alguns anos depois, no primeiro semestre da faculdade, um orientador sugeriu que eu adiasse a escolha do curso por um semestre e cursasse várias matérias que me interessassem, e isso foi uma verdadeira salvação
Comprei meu primeiro livro de Java e comecei a destrinchá-lo; achei muito mais acessível que o livro de C e, quando fui à primeira aula, eu já tinha lido todo o conteúdo da disciplina
Assim começou uma jornada que já dura mais de 15 anos no caminho que eu achava ter abandonado de vez
Ainda toco guitarra e me divirto, mas sei que eu como músico nunca serei melhor do que eu como profissional de tecnologia
Lembro que, quando estava aprendendo C na adolescência, todo material avisava que as coisas ficavam estranhas e difíceis a partir dos ponteiros
No começo parecia algo misterioso, mas eram férias de inverno, e decidi insistir até entender. Não lembro se foram horas, dias ou uma semana inteira, mas, no momento exato em que entendi, senti uma satisfação enorme, e depois disso pareceu que eu conseguiria fazer qualquer coisa
Li certa vez uma entrevista com Hidetaka Miyazaki, diretor da notoriamente difícil série Dark Souls, em que ele dizia ter tido uma experiência parecida ao tocar guitarra e aprender acordes com pestana, e que incorporou nos jogos a satisfação de superar um grande obstáculo
É uma sensação realmente poderosa
No fim, quando percebi que ponteiros eram simplesmente endereços de memória, muita confusão desmoronou em um único conceito simples. Ainda lembro como aquilo pareceu na minha cabeça
Muitos colegas ao meu redor tiveram experiências parecidas, e nem todos conseguiram passar por isso
Então volto a me perguntar: por que as pessoas têm tanta dificuldade para entender ponteiros em C? É por causa do conceito, isto é, da indireção, por causa da notação com
&e*e do tratamento de arrays como ponteiros, ou por algum outro motivo?Antes da faculdade, eu tinha dedicado bastante esforço a manipular os chips VIC e SID com os comandos
peekepokee a escrever em assembly, então esse histórico provavelmente não foi ruim quando encontrei C pela primeira vez. Mesmo que, na época, eu não tenha percebido imediatamente a conexão. Também fico curioso sobre qual seria o equivalente modernoNa época eu tinha uma noção básica de linguagens de programação, mas era praticamente iniciante, e perguntei por que um impressor de argumentos em C estava imprimindo
(null)e coisas que não tinham relação, ou seja,envpUma pessoa muito gentil do canal me conduziu pacientemente até eu entender os fundamentos dos ponteiros, e isso foi há cerca de 16 anos. Já não lembro mais o nome, mas sou grato a quem me ajudou naquela época
mallocAguentei firme porque ponteiros eram necessários para entender listas encadeadas, mas essa estrutura de dados eu usei uma vez nos anos 1980 e nunca mais
Sem dúvida há vantagens em entender como a CPU funciona lá no fundo. Claro que dá para discutir se isso é realmente necessário para a maior parte da programação hoje em dia
Gosto de ver um servidor em cima de uma mesa da Ikea ao lado de um parágrafo falando de racks caros. Fico me perguntando se ele conhecia o Lack Rack: https://web.archive.org/web/20230131031301/https://wiki.eth0...
Um fato curioso: quando eu tinha 16 anos, era muito mais fácil conseguir um servidor doméstico de US$ 200 do que um VPS da Digital Ocean de US$ 5
O serviço de compras online daqui, o Allegro, é basicamente uma mistura de Amazon com eBay, e aceitava pagamento contra entrega numa boa, cobrando só uma pequena taxa
Para se cadastrar, provavelmente era preciso ter 18 anos, mas na Polônia ninguém realmente ligava para esse tipo de restrição, e não havia verificação de idade
Já serviços de nuvem exigiam cartão de débito ou crédito, algo que não dava para obter sem envolvimento dos pais, ou era simplesmente impossível
Dá para falar muita coisa ruim sobre Bitcoin e criptomoedas em geral, mas a perspectiva de direitos dos adolescentes nunca é enfatizada o suficiente
E, com consentimento dos pais, uma pessoa de 13 anos pode abrir uma conta bancária gratuita com cartão de débito que permite pagamentos online. Isso nem é algo novo; eu já tinha uma há 15 anos
Mandou bem. Tenho a impressão de que cada vez menos gente aprende o básico — e às vezes mais que o básico — de hardware e sistemas operacionais
Esse conhecimento é muito valioso mesmo quando se trabalha com PaaS. Por exemplo, minha experiência com IIS desde os tempos do NT4 e com Apache desde a série 1.x ajuda muito ao diagnosticar problemas no Azure Web Sites
Há cerca de 10 anos, quando eu trabalhava em um data center, precisei substituir hardware, como a RAM, de um servidor. A pessoa responsável pela equipe que usava aquele servidor ficava havia vários anos sentada a uns 50 jardas da sala de servidores, e perguntou se podia assistir à troca
Disse que tinha curiosidade porque nunca tinha visto o interior de um servidor; e até parecia que nunca tinha visto o interior de um PC doméstico. Aquilo foi realmente chocante
Na época, os procedimentos nem eram tão rígidos: se em qualquer dia ela tivesse pedido a uma das dezenas de pessoas para fazer um tour, teriam mostrado sem fazer perguntas. Também havia servidores espalhados por vários motivos ao redor das baias do escritório
Até aquele dia, ela simplesmente nunca tinha pensado nisso
Mesmo esse tipo de PC não sendo um servidor profissional de rack, ele pode ser usado como servidor e ainda precisa ser configurado
Muita dessa compreensão básica e experiência de aprendizado está desaparecendo. Não estamos longe de ver desenvolvedores front-end que mal conhecem HTML e CSS e só sabem React
Eu não tinha 16 anos quando descobri servidores rackmount usados, mas era bem jovem; acho que tinha 21
Em 2012, em Dallas, Texas, eu tinha um emprego horrível, quase de subsistência, ganhando US$ 30 mil por ano e sem plano de saúde
Para fazer experimentos com codificação de vídeo, eu precisava de algo um pouco mais potente que meu notebook, mas não tinha dinheiro para comprar um computador rápido o bastante para o que eu queria. Até mais ou menos os 25 anos, eu também não conseguia economizar muito
Por impulso, comecei a procurar no Craigslist por várias variações de “computador rápido e barato” e acabei procurando por “server”
Foi assim que descobri que dava para comprar servidores Dell rackmount antigos, mas ainda úteis, por quase nada; um vendedor tinha dois servidores Dell de rack, com 16 núcleos e 32 GB de RAM, por cerca de US$ 250
Eu mal consegui pagar, fui de carro buscar, e isso praticamente definiu o rumo da minha carreira pelos 12 anos seguintes
No geral, a Dell foi ok para mim, mas houve ocasiões em que precisei trocar imediatamente o backplane e outras peças
https://en.wikipedia.org/wiki/Sun_Enterprise#Entry-level_ser...
Eu também tinha um E450, parecido com este aqui: [https://en.wikipedia.org/wiki/File:SUN_Ultra_Enterprise_450....](https://en.wikipedia.org/wiki/File:SUN_Ultra_Enterprise_450.JPG)
Além disso, eu tinha vários equipamentos menores e workstations; se a memória não me falha, também tive um E220R por um tempo. Não sei o que aconteceu com todos aqueles trambolhos antigos
De todo modo, eles eram muito úteis para me preparar para entrevistas antes de encontrar clientes em potencial, ou seja, para retomar prática em tecnologias específicas, e também eram bons para desenvolvimento geral ou trabalhos de empacotamento
Se você não precisa de muito I/O, como armazenamento SAS/SATA ou placas PCIe antigas, evitar servidores grandes, barulhentos e que consomem muita energia é bem mais simples do que parece
Pelo mesmo preço, PCs OEM em formato Mini/Micro geralmente vêm com hardware de uma geração bem mais recente. Em vez de um i7 de 3ª geração, talvez você consiga um i5 de 8ª geração, e o desempenho geral também é muito melhor
Hospedar e manter também fica bem mais fácil: é só ligar perto do modem do ISP e esquecer
Sem modificações, ela aceita dois drives de 3,5 polegadas e um de 2,5 polegadas, e graças à estrutura de duto que joga o calor da CPU direto para trás e à fonte com eficiência 80 Plus Platinum, tem um custo-benefício excelente para uma máquina sempre ligada
Eu também tinha um servidor, mas era no formato HP ML, então fazia menos barulho que os modelos tipo caixa de pizza. ECC também é bem importante, e RAID de hardware de verdade é uma ótima experiência de aprendizado
Tenho um pequeno conjunto deles e, se você 1) desativar uma CPU, 2) rodar a CPU restante com undervolt e 3) criar seu próprio controlador de ventoinhas com sequências brutas de bytes IPMI, eles na prática não são tão barulhentos nem consomem tanta energia
É uma das soluções de armazenamento em massa com melhor custo por PB. Também tenho vários NUCs e computadores de placa única, mas os usos são claramente diferentes
Um dia pretendo comprar um ou dois clusters Isilon excedentes para chegar ao verdadeiro nível de armazenamento em massa. Não tenho paciência para brigar com Ceph no tempo livre
Em vez disso, comprei um microcomputador Intel N100 fanless de 100 dólares, que consome só 7 W e tem desempenho quase igual. A economia na conta de luz deve se pagar
E isso mesmo o i5-6600K nem sendo especialmente gastão
Depois fui para um Pentium Skylake, e funcionou muito melhor
Eu também era esse tipo de criança. Tinha um PC topo de linha montado por mim; para dar uma ideia da época, custava bem mais de 6.000 dólares[0] e era baseado no recém-lançado 486DX50
Coloquei o máximo de RAM que a placa-mãe aceitava, acho que eram 16 MB, mas minha memória é meio nebulosa. Também tinha uma placa de som Turtle Beach Wave Table Synth e uma placa de vídeo capaz de rodar 1152x1024 em um CRT de 16 polegadas
Eu operava um BBS multinó com dois modems de 9600, depois dois modems de 16,8K
Se eu não tivesse mexido naquele PC e, antes dele, em um 8088 de 10 anos, é bem provável que eu não tivesse virado desenvolvedor de software
Uma vez montei um PC gamer para o filho do vizinho e, ao longo de 4 anos, vi o garoto virar, sem perceber, um nerd muito competente
Ao ajustar configurações para extrair um pouco mais de taxa de quadros nos jogos, lidar com atualizações de firmware, drivers de placa de vídeo, updates de software e toda a bagunça que vem junto com “quero jogar no PC”, você acaba acumulando muito conhecimento por acaso
Passei 4 anos sem falar com esse garoto e o reencontrei recentemente; fiquei impressionado. A primeira coisa que ele fez foi tirar um Flipper Zero do bolso e me contar todas as loucuras que tinha feito com ele
Ele era tão competente quanto qualquer administrador de sistemas com quem já conversei, mas nem percebe que tem essas habilidades
A experiência foi tão boa que comprei para meu filho um notebook gamer decente para ele sair do console, e no último ano aconteceu a mesma coisa
Este ano, minha filha, dois anos mais nova, está insistindo para eu montar um desktop para ela, então vai ganhar um Natal incrível e um ano de aprendizado e frustração :)
Ah, e nossa família também comprou um Flipper Zero este ano. Não dava para deixar só o filho do vizinho ficar com toda a diversão
[0] Juntei esse dinheiro montando computadores para outras pessoas
Na equipe atual, é menos da metade. Enquanto isso, eu sou o estranho que, além do notebook de trabalho, tem um PC gamer, um notebook gamer e um MBP de uso geral
Meu filho teve uma experiência parecida. Nunca demonstrou grande interesse em aprender computação, mas quis ajudar a montar PCs e agora é o suporte técnico dos amigos
Passei anos brincando com um “homelab” cercado por cabo coaxial 10BASE2, até perceber que as pessoas de fato pagavam pelas minhas brincadeiras
Claro que esse dinheiro voltava todo para brinquedos do homelab
Hoje tenho muitos amigos com filhos, e alguns deles são adolescentes. Por um tempo tive uma preocupação no fundo da cabeça: o conhecimento técnico dessas crianças se limita a pedir a senha do Wi-Fi e assistir a vídeos bobos em apps
Quando pergunto o que querem ser quando crescer, respondem “influencer”. A ação mais técnica é reiniciar o “roteador” quando a internet não funciona, e a segunda etapa de diagnóstico é gritar que a internet caiu
São ótimas crianças, não quero criticá-las, mas eu me preocupava se ainda haveria alguém para manter as luzes acesas depois que a nossa geração desaparecesse
Na nossa época, havia uma barreira de entrada grande para usar computadores e acessar a internet, mas isso também teve o benefício de fazer explodir a quantidade de talentos técnicos
Então é muito bom saber que ainda existem crianças nerds fuçando por dentro das coisas
Tentar jogar no Gateway da minha mãe me levou a montar meu primeiro PC com um Pentium D, depois a um hobby de comprar e vender hardware no eBay e trocar peças sem parar, e no fim até a um diploma em engenharia elétrica
Sem videogames, sem mexer em PCs e fazer overclock, eu não teria esse diploma em engenharia elétrica
Parabéns. Quando eu tinha 16 anos, eu só tinha um 486DX2-66, um modem de 28,8K e um UPS
Para outros adolescentes, e para quem é adolescente de espírito, conseguirem fazer isso: procurem servidores corporativos usados no eBay. HP, Lenovo, Dell e Supermicro costumam ser marcas que valem considerar
Antes de comprar, procure a documentação de especificações, drivers e firmware do modelo específico para confirmar se é algo completo e utilizável, ou se dá para completar por um custo razoável
Se você planeja rodar várias máquinas virtuais com XenServer ou VMware ESXi, verifique a compatibilidade na lista de compatibilidade de hardware (HCL) do sistema operacional antes de comprar
É melhor evitar servidores 1U. Eles precisam girar ventoinhas menores e mais curtas muito rápido, então fazem mais barulho que os de 2U ou maiores
A CPU deve ser pelo menos tão rápida quanto o computador que você já tem. Caso contrário, pode virar um peso de papel caríssimo ou um “Raspberry PI” gigante: https://www.cpubenchmark.net
CPUs AMD em servidores Dell, Lenovo e HP têm uma pegadinha: às vezes vêm com bloqueio de fornecedor. Dito isso, às vezes faz sentido quando o vendedor vende uma CPU bloqueada por um preço muito baixo
RAM ECC. Amigo de verdade não deixa amigo usar RAM sem ECC: https://cr.yp.to/hardware/ecc.html
É melhor usar SSD. Discos giratórios são para armazenamento, não para o sistema operacional: https://web.archive.org/web/20110831080738/http://buyafuckin...
Se possível, procure um equipamento que já tenha recursos de gerenciamento remoto licenciados, como iLO ou iDRAC
Quando receber, provavelmente estará sujo e arranhado, então abra do lado de fora e limpe com ar comprimido
Pontos bônus: convencer seus pais a instalar um patch panel de 19 polegadas e um half rack na garagem :]
Tenho um homelab há muito tempo e, em vez de comprar ou procurar hardware de servidor usado, usei sistemas rackmount cheios de peças antigas de desktop. Não é realmente necessário
RAM ECC também é útil se você encontrar barato e a CPU der suporte, mas, na minha experiência, é uma questão meio exagerada
Dito isso, concordo em comprar equipamento 2U ou 3/4U. Eles podem ter ventoinhas bem maiores e, por isso, ficam mais silenciosos
Quando eu era adolescente no começo dos anos 90 e ganhei meu primeiro computador, o mais chocante foi perceber que todo computador é um servidor
O computador não precisava ter formato de rack nem ser caro. Bastava Winsock e TCP/IP, e era isso. Meu computador era igual a qualquer outro computador na internet
Então este texto é legal, mas eu gostaria que desse um pouco menos de ênfase ao hardware, já que ele quase não importa para rodar um app baseado em Node e disponibilizá-lo na internet
Você também não precisa de IP estático; basta descobrir como usar DNS dinâmico :)
Era um texto escrito pelo próprio criador: na época em que a Deutsche Bahn ainda não estava online nos anos 90, as informações de rotas existiam em CD-ROM
Alguém pegou os dados desse CD-ROM e criou uma ferramenta que recebia consultas sobre rotas entre duas estações e devolvia o resultado
O modo de consulta era interessante: você mandava um e-mail para o endereço universitário dele, e o “servidor”, na prática um PC no canto do quarto, buscava os e-mails a cada 5 minutos, processava a consulta e devolvia os resultados por e-mail
Infelizmente, Google e DDG ficaram inúteis hoje em dia, então da última vez que tentei achar essa história demorei muito tempo
Um computador de placa única moderno também pode ser um home server bastante capaz, e é muito menor, mais silencioso, mais barato e consome menos energia
No começo instalei FreeBSD e depois Linux, e era incrível ter minha própria máquina Unix em casa
Ela não era potente, nem tinha muita memória ou armazenamento, mas era minha e eu podia fazer o que quisesse
Rodei bots de IRC e mantive um servidor web com scripts Perl horríveis que eu escrevi. Depois que coloquei uma placa de rede, ela também virou o roteador discado da casa
Aprendi muito mexendo naquela máquina, e considero que minha capacidade de sair do vim veio graças a ela
Publiquei no Freshmeat[1] e fiquei sentado no sofá, jantando, vendo os logs do Apache rolarem. Foi uma das sensações mais incríveis da minha carreira
[1] https://en.wikipedia.org/wiki/Freecode