- Varun, que empezó con el desarrollo web durante el confinamiento de 2020, pasó por Replit y una PC personal hasta construir un homelab para operar servicios y proyectos experimentales directamente desde su casa
- A medida que crecían los servicios con usuarios reales, como Quickz, un juego de quizzes en tiempo real para la escuela, una plataforma de redes sociales hecha por él y herramientas para la comunidad de Scratch, también creció su experiencia operando self-hosting
- Su primer servidor, que comenzó con Windows 10 Pro, sufrió problemas de actualizaciones y downtime; en noviembre de 2020 migró a Ubuntu Server y pasó a una operación basada en Linux, nginx y Docker
- Tras hacerse evidentes los límites de almacenamiento y rendimiento de la Dell OptiPlex, en mayo de 2022 compró una Dell PowerEdge R720XD usada y escaló a una arquitectura con Proxmox y VMs con Ubuntu Server
- Dock’n’Roll, creado por él, reproduce un flujo de despliegue rápido al estilo Replit sobre hardware y dominios propios, pero el homelab también deja restricciones reales como ruido, consumo eléctrico y mudanzas, además de libertad y aprendizaje
Un homelab en el cuarto y servicios en operación
- Varun opera dos servidores desde su casa
- La Dell OptiPlex en el piso
- La Dell PowerEdge R720XD sobre una pequeña mesa de centro de IKEA
- Ambos servidores están conectados con cables Ethernet rojo y amarillo
- En los servidores caseros conviven desde proyectos experimentales hasta servicios con usuarios reales
- Una plataforma de redes sociales hecha por él, con miles de usuarios
- Quickz, un juego de quizzes en tiempo real para la escuela
- Una plataforma estilo flipbook para crear y compartir animaciones, que es una instancia demo de su MYP Personal Project
- Herramientas como un motor de búsqueda para la comunidad de Scratch
- Servidores de juegos para amigos
- Varias instancias de Plausible Analytics
- Una herramienta similar a Replit para crear y alojar proyectos experimentales
El self-hosting que empezó en el confinamiento de 2020
- El punto de partida fue el periodo de confinamiento de 2020, cuando Varun tenía 13 años
- Al principio empezó el desarrollo web con sitios HTML estáticos, y pronto comenzó a crear apps más complejas que necesitaban backend
- Sus primeras apps web, bots de Discord y scripts de automatización se alojaban en Replit
- Los servidores de Minecraft se los ofrecía a sus amigos manteniendo encendida su computadora personal
- La razón para elegir un servidor en casa en vez de la nube tenía más que ver con aprender todo el stack que con ahorrar costos
- El frontend de cara al usuario
- El backend y la base de datos
- También quería aprender directamente la operación del servidor donde realmente se publican los servicios
- Consideraba que, a su escala, usar la nube podría ser más rentable
Primer servidor: Dell OptiPlex y Windows 10 Pro
- Consiguió en eBay una Dell OptiPlex con i7-3770S y 8 GB de RAM
- Durante el envío de Estados Unidos a Suiza, el vendedor primero mandó una cantidad de RAM incorrecta, y resolverlo tomó varias semanas
- Al principio siguió usando Windows 10 Pro como sistema operativo del servidor porque le resultaba familiar
- Tener una dirección IPv4 estática en casa hacía que alojar sitios web fuera más fácil y estable
- Todos los servicios estaban detrás de Cloudflare, y Cloudflare se encargaba gratis de funciones como SSL, DNS y lo que parecía ser protección DDoS
Migración de Windows a Ubuntu Server
- En ese momento, operar un servidor con Windows 10 tenía varias ventajas para Varun
- Ya estaba familiarizado con Windows
- Podía probar en un entorno similar al de su escritorio personal
- En casa podía usar RDP con una conexión rápida y de buena calidad
- Desde el Chromebook entregado por la escuela necesitaba acceso basado en web, así que podía usar Chrome Remote Desktop
- Cuando las actualizaciones de Windows empezaron a provocar downtime y a obligarlo a reacomodar ventanas repetidamente, en noviembre de 2020 migró a Ubuntu Server
- Antes de la migración le preocupaba perder la sensación de entender rápidamente todo el sistema, pero como ya se había acostumbrado a la línea de comandos mientras programaba en Windows, la adaptación a Linux avanzó rápido
- La configuración inicial en Linux era simple, pero también traía riesgos
- nginx expuesto a Internet manejaba tráfico HTTPS en el puerto 443 con un certificado autofirmado y rechazaba solicitudes que no vinieran de Cloudflare
- Ejecutaba varios proyectos que quería mantener online las 24 horas
- Operaba una única instancia de MongoDB compartida por los proyectos
- Ejecutaba algunos servidores de Minecraft Java
- Expuso webssh2 para acceder al servidor desde la escuela, aunque él mismo reconoce que probablemente no era muy seguro
- La instalación de software de terceros se volvió rápidamente compleja por dependencias y agregados de repositorios apt, y Docker se convirtió en una herramienta para simplificar la instalación y ejecución
- El software de terceros lo ejecutaba con Docker
- El código escrito por él lo ejecutaba directamente en el servidor
Límites de almacenamiento e incorporación de la PowerEdge R720XD
- Aproximadamente un año después, ya operaba proyectos con usuarios reales, como Quickz y una plataforma de redes sociales hecha por él
- Mientras estaba en la escuela, el servidor se detuvo; intentó conectarse por SSH, pero después de aparecer errores de disco terminó bloqueándose
- La causa fue falta de almacenamiento, y en casa ganó tiempo eliminando algunos archivos
- La Dell OptiPlex existente, con 8 GB de RAM y un i7-3770S, empezó a quedarse corta frente al aumento de uso
- En mayo de 2022 usó dinero que había ahorrado con bug bounties para comprar una Dell PowerEdge R720XD usada
- Tres discos de 3 TB
- 128 GB de RAM DDR3
- CPUs 2×E5-2690 de alto consumo eléctrico
- Antes de comprarla no consideró lo suficiente el espacio, el ruido ni el consumo eléctrico, y redujo parte del problema de ruido fijando la velocidad de los ventiladores de iDRAC al 10% mediante un hack no soportado
- La R720XD tiene dos fuentes de poder, dos CPUs y dos NIC, y también iDRAC, que funciona como una minicomputadora para administración remota incluso cuando el servidor está apagado
- Al principio puso el servidor sobre una mesa de centro junto al televisor de la sala; el rack y el equipo de montaje eran más caros que el propio servidor
Proxmox y estructura de acceso remoto
- En el nuevo servidor decidió usar un hipervisor y ejecutó Proxmox
- Asignó la mayor parte de los recursos a una VM con Ubuntu Server, y ahora todos los servicios se ejecutan ordenados dentro de Docker
- Esta estructura le dio flexibilidad para mover servicios más adelante sin tener que configurar todo de nuevo
- Por separado opera una VM con Xubuntu llamada
backdoory usa Chrome Remote Desktop- Puede acceder desde cualquier lugar a un espacio de trabajo cómodo dentro de la red de su casa
- También podría configurar una VPN como OpenVPN o WireGuard, pero este método funciona incluso con dispositivos restringidos como un iPad y en el Wi‑Fi público de la escuela
- También ve como ventaja no tener que preocuparse por intentos de fuerza bruta de bots
Dock’n’Roll, una implementación propia de la experiencia de Replit
- Incluso después de tener varios servidores, seguía extrañando el flujo de experimentación rápida de Replit
- Replit era bueno para levantar rápidamente apps aisladas para proyectos desechables, experimentos y demos, y su fortaleza era el flujo en el que escribías código en un IDE web y se publicaba de inmediato en la web
- Replit era gratis, pero introdujo funciones para monetizar; los repl inactivos se desactivan si no tienen usuarios, y él entiende que ya no es posible alojar sitios web dinámicos públicos gratis
- Para usar hardware propio y dominios bajo su control directo, Varun creó Dock’n’Roll, un clon self-hosted de Replit basado en Docker
- Dock’n’Roll es un servicio de un solo usuario
- Programa apps web desde la interfaz privada
dockn.varun.ch - Los resultados quedan disponibles públicamente de inmediato bajo
*.varunbiniwale.com
- Programa apps web desde la interfaz privada
- Sus componentes son los siguientes
- Un panel de control hecho con ExpressJS y una interfaz web basada en Monaco Editor de VSCode
- El botón para iniciar un proyecto compila la imagen y ejecuta el contenedor usando la Docker Engine API
- Los metadatos de los proyectos se almacenan en Redis
- El puerto 80 de cada contenedor se expone automáticamente como
:project.varunbiniwale.commediante un reverse proxy OpenResty que se comunica con Redis usando un plugin Lua - Los archivos bajo
/persisted/se conservan incluso después de reiniciar el contenedor y se pueden ver y modificar desde la interfaz web - La interfaz web de administración está protegida por un custom nginx auth proxy creado por él
- Dock’n’Roll también se usa para bug hunting
- Aloja herramientas arbitrarias que usa para encontrar vulnerabilidades como blind SSRF y XSS
- Hay un ejemplo en
yourip.varunbiniwale.comque ofrece imágenes generadas automáticamente
El presente del homelab y sus limitaciones futuras
- Varun resume que su homelab quizá sea un poco excesivo, pero es un entorno que posee directamente y que le gusta
- Cree que algún día, cuando se mude para ir a la universidad después de graduarse, probablemente no se lleve los servidores, y tampoco quiere imponerles a sus padres la carga de seguir operando hardware en su casa
- El self-hosting no es para todo el mundo, pero considera que si eres una persona tinkerer y estás dispuesto a asumir las consecuencias, vale la pena probar con algo pequeño
- Operar sus propios servidores le enseñó mucho, y siente libertad en la experiencia de tener un lugar bajo su propio control donde ejecutar herramientas y proyectos
- Esta configuración a veces genera estrés y puede no ser la forma más práctica, pero le permitió adquirir muchas habilidades que habrían sido difíciles de aprender de otra manera
1 comentarios
Comentarios de Hacker News
Yo también tengo 16 años y un homelab pequeño :)
Antes tenía todos mis servicios en la nube, pero cuando en casa tuve una conexión 1G/1G y descubrí que las tiendas de caridad vendían barato hardware de empresas dado de baja o salido de vertederos, decidí probar operar servidores físicos por mi cuenta.
Ahora corro Proxmox en 2 máquinas y 1 NAS, con 14 discos giratorios, y alojo un servidor de Minecraft, proyectos personales de programación, un escáner de vulnerabilidades, bots de Telegram, VPS para amigos, máquinas virtuales para builds de Android y macOS, almacenamiento, un proyecto escolar de machine learning con una 1050 Ti que agregué hace poco, e incluso la infraestructura para competencias CTF de la escuela.
Por cierto, estoy en Italia.
Después estudié física, hice un doctorado y hasta un posdoctorado relacionado con redes neuronales, pero lo que más importante me pareció fue inspirar a jóvenes como yo en esa época, y desde este año volví a Italia y me convertí en profesor de secundaria.
También estoy preparando un curso extracurricular de Python en la escuela, así que si no estás lejos de Milán y te interesa conversar con los estudiantes, podrías considerarlo. Te deseo mucho éxito.
Tendrían que haber ido a la misma secundaria.
En cualquier caso, un aplauso para una familia que apoya tus intereses.
Cuando tenía 16, en 2001, con el dinero que junté de un trabajo de verano compré "Teach Yourself C" de Herbert Schildt, una tarjeta de video y un Sony Trinitron.
Al final del capítulo 5, Herb empezó a hablar de arreglos multidimensionales de una manera rara, y cuando vi que el siguiente capítulo era sobre punteros, literalmente magia y disparates, me sentí abrumado y decidí ir por el plan B: convertirme en rockstar. Programar era demasiado difícil.
Lo que aprendí lo usé para meter programas en una TI-82 y hacer trampa en exámenes de matemáticas.
Unos años después, en mi primer semestre de universidad, un asesor me recomendó posponer la especialización un semestre y tomar varias materias que me interesaran, y eso fue realmente una salvación.
Compré mi primer libro de Java y me puse a estudiarlo; me resultó mucho más accesible que el libro de C, y cuando fui a mi primera clase ya había leído todo el contenido del curso.
Así empezó un camino que pensé que había abandonado una vez, y que ya lleva más de 15 años.
Todavía toco guitarra y la disfruto, pero sé que mi yo músico no habría llegado más lejos que mi yo ingeniero.
Recuerdo que cuando aprendía C de adolescente, todos los materiales advertían que desde los punteros todo se volvía raro y difícil.
Al principio me parecían misteriosos, pero era vacaciones de invierno y decidí seguir hasta entenderlos. No recuerdo si fueron horas, días o toda una semana, pero en el momento exacto en que lo entendí sentí una satisfacción enorme, y después de eso sentí que podía lograr cualquier cosa.
Una vez leí en una entrevista con Hidetaka Miyazaki, director de la notoriamente difícil serie Dark Souls, que tuvo una experiencia parecida al tocar guitarra y aprender acordes con cejilla, y que incorporó en sus juegos la satisfacción de superar un gran obstáculo.
Es una sensación realmente poderosa.
Al final, cuando me di cuenta de que un puntero era simplemente una dirección de memoria, mucha de la confusión se derrumbó en un solo concepto simple. Todavía recuerdo cómo se sintió en mi cabeza.
Muchos compañeros a mi alrededor tuvieron experiencias parecidas, y no todos lograron superarlo.
Por eso vuelvo a preguntarme: ¿por qué a la gente le cuesta tanto entender los punteros de C? ¿Es por el concepto, es decir, la indirección; por la notación con
&y*y tratar los arreglos como punteros; o por alguna otra razón?Antes de la universidad le había dedicado mucho esfuerzo a manipular los chips VIC y SID con los comandos
peekypoke, y a escribir ensamblador, así que cuando conocí C parece que ese trasfondo no estuvo nada mal. Aunque en ese momento no haya notado la conexión de inmediato. También me pregunto cuál sería el equivalente hoy.En ese entonces tenía una noción básica de lenguajes de programación, pero era casi principiante, y pregunté por qué un impresor de argumentos en C imprimía contenido no relacionado con
(null), es decir,envp.Una persona muy amable del canal me guio con paciencia hasta entender los fundamentos de los punteros, y eso fue hace unos 16 años. Ya no recuerdo su nombre, pero agradezco a quien me ayudó entonces.
malloc.Aguanté porque necesitaba los punteros para entender las listas enlazadas, pero esa estructura de datos la usé una vez en los años 80 y desde entonces no la he vuelto a usar.
Definitivamente tiene ventajas entender cómo funciona la CPU en el nivel más bajo. Claro que es debatible si eso es necesario para la mayor parte de la programación actual.
Me gusta que junto al párrafo que habla de racks caros haya un servidor sobre una mesa de Ikea. Me pregunto si conocía el Lack Rack: https://web.archive.org/web/20230131031301/https://wiki.eth0...
Un dato curioso. Cuando tenía 16 años, conseguir un servidor casero de 200 dólares era mucho más fácil que conseguir un VPS de Digital Ocean de 5 dólares
Aquí, el servicio de compras en línea Allegro es básicamente como una mezcla de Amazon y eBay, y aceptaba con gusto pagos contra entrega por una pequeña comisión
Para registrarte probablemente tenías que tener 18 años, pero en Polonia a nadie le importaban realmente esas restricciones y no había verificación de edad
En cambio, los servicios en la nube requerían una tarjeta de débito o de crédito, algo que sin la intervención de tus padres no podías obtener, o directamente era imposible
Se pueden decir muchas cosas malas sobre Bitcoin y las criptomonedas en general, pero la perspectiva de los derechos de los adolescentes nunca se enfatiza lo suficiente
Y con consentimiento de los padres, alguien de 13 años puede abrir una cuenta bancaria gratuita con tarjeta de débito que permite pagos en línea. No es algo nuevo; yo ya tenía una hace 15 años
Bien hecho. Siento que cada vez menos gente aprende los fundamentos del hardware y de los sistemas operativos, y a veces algo más que los fundamentos
Ese conocimiento es muy valioso incluso cuando trabajas con PaaS. Por ejemplo, haber trabajado con IIS desde la época de NT4 y con Apache desde la era 1.x ayuda muchísimo al diagnosticar problemas en Azure Web Sites
Hace unos 10 años, cuando trabajaba en un centro de datos, tuvimos que reemplazar hardware como la RAM de un servidor. El responsable del equipo que usaba ese servidor llevaba años sentado a unas 50 yardas de la sala de servidores, y preguntó si podía ver cómo lo reemplazábamos
Dijo que le daba curiosidad porque nunca había visto el interior de un servidor, e incluso sonaba como si tampoco hubiera visto nunca el interior de una PC de casa. Eso me impactó muchísimo
En ese entonces el procedimiento tampoco era tan estricto, así que si cualquier día le pedías un tour a una de decenas de personas, te lo habrían mostrado sin hacer preguntas. También había servidores tirados alrededor de los cubículos de la oficina por distintos motivos
Simplemente nunca lo había pensado hasta ese día
Una PC así tampoco es un servidor de rack profesional, pero puede usarse como servidor y aun así requiere configuración
Se está perdiendo mucho de esa comprensión básica y experiencia de aprendizaje. No falta mucho para que haya desarrolladores frontend que casi no sepan HTML ni CSS y solo conozcan React
No tenía 16 años cuando encontré servidores rackmount usados, pero era bastante joven; probablemente tenía 21
En 2012 tenía un trabajo horrible en Dallas, TX, casi de subsistencia, por 30 mil dólares al año y sin seguro médico
Para experimentar con codificación de video necesitaba algo un poco más potente que una laptop, pero no tenía dinero para comprar una computadora lo bastante rápida para lo que quería hacer. Hasta más o menos los 25 tampoco pude ahorrar en serio
Por impulso, me puse a buscar en Craigslist varias formas de decir “computadora rápida y barata”, hasta que terminé buscando “server”
Así descubrí que podía comprar servidores Dell rackmount viejos pero todavía utilizables por casi nada, y un vendedor ofrecía dos servidores Dell de rack con 16 núcleos y 32 GB de RAM por unos 250 dólares
Apenas pude pagarlos, así que manejé hasta allá y los recogí, y eso prácticamente definió el rumbo de mi carrera durante los siguientes 12 años
En general Dell me salió bien, pero también hubo ocasiones en que tuve que reemplazar de inmediato el backplane y otras piezas
https://en.wikipedia.org/wiki/Sun_Enterprise#Entry-level_ser...
También tenía un E450, parecido al de aquí: [https://en.wikipedia.org/wiki/File:SUN_Ultra_Enterprise_450....](https://en.wikipedia.org/wiki/File:SUN_Ultra_Enterprise_450.JPG)
Además tenía varios equipos pequeños y estaciones de trabajo, y si no recuerdo mal, en algún momento también tuve un E220R. No sé qué habrá pasado con todos esos cacharros viejos
En todo caso, fueron muy útiles para prepararme para entrevistas antes de reunirme con clientes potenciales, es decir, para volver a pulir habilidades en tecnologías específicas, y también servían bien para desarrollo general o trabajos de empaquetado
Si no necesitas una gran cantidad de E/S, por ejemplo almacenamiento SAS/SATA o tarjetas PCIe antiguas, evitar servidores grandes, ruidosos y que consumen mucha electricidad es mucho más simple de lo que parece.
Por el mismo rango de precio, una PC OEM de factor de forma Mini/Micro suele traer hardware de generaciones mucho más recientes. En vez de un i7 de 3.ª generación, podrías conseguir un i5 de 8.ª generación, y el rendimiento general también es mucho mejor.
El hosting y el mantenimiento también son mucho más fáciles: la conectas cerca del módem del ISP y te olvidas.
Sin modificaciones, puede alojar dos discos de 3,5 pulgadas y uno de 2,5 pulgadas, y gracias a su diseño con ducto que expulsa el calor del CPU directamente hacia atrás y a una fuente de alimentación con eficiencia 80 Plus Platinum, tiene una relación precio/rendimiento excelente para una máquina que está siempre encendida.
Yo también tenía un servidor, pero era de factor de forma HP ML, así que hacía menos ruido que uno tipo caja de pizza. ECC también es bastante importante, y un RAID de hardware de verdad es una buena experiencia de aprendizaje.
Tengo un pequeño grupo de ellos, y si 1) desactivas un CPU, 2) haces funcionar el CPU restante con bajo voltaje y 3) armas tu propio controlador de ventiladores con secuencias de bytes IPMI sin procesar, en realidad no son tan ruidosos ni consumen tanta electricidad.
Es una de las soluciones de almacenamiento masivo con mejor costo por PB. También tengo varios NUC y computadoras de placa única, pero sus usos son claramente distintos.
Algún día pienso comprar uno o dos clústeres Isilon excedentes y alcanzar el verdadero nivel del almacenamiento masivo. Me da flojera pelearme con Ceph en mi tiempo libre.
En cambio compré una microcomputadora Intel N100 sin ventilador de 100 dólares, que consume apenas 7 W y tiene un rendimiento casi igual. Se va a pagar sola con el ahorro en la factura de electricidad.
Y eso que el i5-6600K ni siquiera consumía especialmente mucho.
Después pasé a un Pentium Skylake, y funciona mucho mejor.
Yo también fui ese tipo de chico antes. Tenía una PC de gama altísima armada por mí; para dar una idea de la época, costaba bastante más de 6.000 dólares[0] y estaba basada en el recién salido 486DX50.
Tenía la RAM de la motherboard al máximo, creo que eran 16 MB, aunque mi memoria es borrosa. También tenía una tarjeta de sonido Turtle Beach Wave Table Synth y una tarjeta de video capaz de manejar 1152x1024 en un CRT de 16 pulgadas.
Operaba una BBS multinodo con dos módems de 9600, y más tarde con dos módems de 16.8K.
Si no hubiera tenido la experiencia de trastear con esa PC y con el 8088 de 10 años de antigüedad que tuve antes, es muy probable que no me hubiera convertido en desarrollador de software.
Una vez le armé una PC gamer al hijo de un vecino, y durante 4 años vi cómo, sin darse cuenta, se convertía en un nerd muy competente.
Al ajustar configuraciones para exprimir unos cuantos FPS más en los juegos, lidiar con actualizaciones de firmware, drivers de la tarjeta de video, actualizaciones de software y todo el caos que provoca decir “quiero jugar en PC”, se acumula mucho conocimiento por accidente.
Pasé 4 años sin hablar con ese chico y hace poco lo volví a ver; me sorprendió muchísimo. Lo primero que hizo fue sacar un Flipper Zero del bolsillo y contarme todas las locuras que había hecho con él.
Era tan competente como cualquier administrador de sistemas con el que haya hablado, pero ni siquiera sabe que tiene esas habilidades.
Fue una experiencia tan buena que a mi hijo también le compré una laptop gamer decente para que se pasara de la consola, y durante el último año pasó lo mismo.
Este año mi hija, dos años menor, me estuvo insistiendo para que le armara una desktop, así que va a recibir una Navidad genial y un año de aprendizaje y frustración :)
Ah, y nuestra familia también compró un Flipper Zero este año. No podíamos dejar que el hijo del vecino se quedara con toda la diversión.
[0] Junté ese dinero armando computadoras para otras personas.
En mi equipo actual son menos de la mitad. En cambio yo soy el raro que, además de la laptop del trabajo, tiene varias máquinas: una PC gamer, una laptop gamer y una MBP de uso general.
Mi hijo tuvo una experiencia parecida. Nunca mostró gran interés por aprender computación, pero sí quiso ayudar a armar la PC, y ahora es el soporte técnico de sus amigos.
Después de pasar varios años jugando con mi “homelab” cableado con cable coaxial 10BASE2, me di cuenta de que la gente de verdad pagaba por mis juegos de juguete.
Por supuesto, ese dinero volvía íntegramente a juguetes para el homelab.
Ahora tengo muchos amigos con hijos, y algunos ya son adolescentes. Durante un tiempo tuve una preocupación en el fondo: el conocimiento técnico de esos chicos se limita a preguntar la contraseña del Wi-Fi y ver cosas como videos tontos en apps.
Cuando les preguntas qué quieren ser de grandes, dicen “influencer”. Su acción más técnica es reiniciar el “router” cuando no hay internet, y el segundo paso de diagnóstico es gritar que no hay internet.
Son chicos excelentes y no intento criticarlos, pero me preocupaba si habría alguien que mantuviera las luces encendidas cuando nuestra generación desaparezca.
En nuestra época había una barrera de entrada alta para usar una computadora y conectarse a internet, pero eso también tuvo la ventaja de producir una explosión de talento técnico.
Por eso me alegra mucho saber que todavía hay chicos nerds que miran qué hay por dentro.
Intentar jugar en la Gateway de mi mamá me llevó a armar mi primera PC con un Pentium D, luego a un hobby de comprar y vender hardware constantemente en eBay para cambiar piezas, y finalmente hasta un título en ingeniería eléctrica.
Sin videojuegos, sin trastear con PCs ni hacer overclocking, tampoco habría tenido un título en ingeniería eléctrica.
Felicitaciones. Cuando tenía 16 años, solo tenía una 486DX2-66, un módem de 28.8K y un UPS.
Para otros adolescentes y gente que sigue siendo adolescente de corazón que quiera lograr esto: busquen servidores empresariales usados en eBay. HP, Lenovo, Dell y Supermicro suelen ser marcas para elegir.
Antes de comprar, busquen la hoja de especificaciones, drivers y firmware del modelo específico para asegurarse de que sea algo completo y utilizable, o que pueda completarse a un costo razonable.
Si planean correr varias máquinas virtuales con XenServer o VMware ESXi, antes de comprar revisen la lista de compatibilidad de hardware (HCL) del sistema operativo para confirmar que sea compatible.
Conviene evitar los servidores 1U. Como tienen que hacer girar ventiladores más pequeños y cortos mucho más rápido que los de 2U o más, son más ruidosos.
La CPU debería ser al menos tan rápida como la computadora que ya tienen. Si no, podría terminar siendo un pisapapeles muy caro o una “Raspberry PI” enorme: https://www.cpubenchmark.net
Hay una trampa con las CPU AMD en servidores Dell, Lenovo y HP: a veces vienen bloqueadas por el proveedor. Aunque a veces tiene sentido si el vendedor ofrece una CPU bloqueada muy barata.
RAM ECC. Un amigo no dejaría que otro amigo manejara RAM sin ECC: https://cr.yp.to/hardware/ecc.html
Conviene usar SSD. Los discos giratorios son para almacenamiento, no para el sistema operativo: https://web.archive.org/web/20110831080738/http://buyafuckin...
Si es posible, conviene conseguir un equipo que ya tenga licencia para funciones de administración remota como iLO o iDRAC.
Cuando lo reciban, probablemente esté sucio y tenga rayones, así que ábranlo afuera y límpienlo con aire comprimido.
Puntos extra: convencer a tus padres de instalar un patch panel de 19 pulgadas y un half rack en el garaje :]
Llevo mucho tiempo con homelab y he usado sistemas rackmount llenos de componentes viejos de desktop, en vez de comprar o andar buscando hardware de servidor usado. No es imprescindible.
La RAM ECC también es útil si se consigue barata y la CPU la soporta, pero según mi experiencia el problema está algo exagerado.
Eso sí, estoy de acuerdo con comprar equipos 2U o 3/4U. Pueden llevar ventiladores mucho más grandes y, por eso, ser más silenciosos.
Cuando era adolescente a principios de los 90 y conseguí mi primera computadora, lo más impactante fue darme cuenta de que todas las computadoras son servidores.
La computadora no tenía que tener formato de rack ni ser cara. Solo hacía falta Winsock y TCP/IP, y eso era todo. Mi computadora era igual que cualquier otra computadora en internet.
Así que este artículo está genial, pero me gustaría que pusiera un poco menos de énfasis en el hardware, porque para correr una app basada en Node y ofrecerla en internet, el hardware casi no importa.
Ni siquiera hace falta una IP estática; solo hay que averiguar lo de DNS dinámico :)
Era un texto escrito por la persona que lo creó; en los 90, cuando Deutsche Bahn todavía no estaba en línea, la información de rutas sí estaba en CD-ROM.
Alguien tomó los datos de ese CD-ROM y creó una herramienta que, al consultar una ruta entre dos estaciones, la devolvía.
La forma de consulta era interesante: si enviabas un correo a su dirección universitaria, el “servidor”, que en realidad era una PC en un rincón de su habitación, descargaba el email cada 5 minutos, procesaba la consulta y devolvía el resultado por correo.
Lamentablemente, Google y DDG ahora se volvieron inútiles, así que la última vez que intenté encontrar esa historia me tomó muchísimo tiempo.
Una computadora moderna de placa única también puede ser un home server perfectamente capaz, y es mucho más pequeña, silenciosa, barata y consume menos energía.
Al principio le instalé FreeBSD y después Linux, y era increíble tener mi propia máquina Unix en casa.
No era potente ni tenía mucha memoria o almacenamiento, pero era mía y podía hacer con ella lo que quisiera.
Corría bots de IRC y mantenía un servidor web con scripts desastrosos en Perl que yo había escrito. Después de ponerle una placa de red, también funcionó como router dial-up de la casa.
Aprendí muchísimo trasteando con esa máquina, y diría que mi capacidad de salir de vim se la debo a ella.
Lo subí a Freshmeat[1] y, mientras cenaba, miraba desde el sofá cómo se desplazaban los logs de Apache. Fue una de las sensaciones más geniales de mi carrera.
[1] https://en.wikipedia.org/wiki/Freecode