2 points par GN⁺ 2023-12-23 | 1 commentaires | Partager sur WhatsApp
  • Varun, qui a commencé le développement web pendant le confinement de 2020, est passé par Replit puis par son PC personnel avant de construire un homelab chez lui pour exploiter ses propres services et projets expérimentaux
  • À mesure que se multipliaient des services avec de vrais utilisateurs — Quickz, un jeu de quiz en temps réel pour l’école, une plateforme de réseau social créée par lui-même, ou encore des outils pour la communauté Scratch — son expérience d’exploitation en self-hosting a elle aussi grandi
  • Son premier serveur, sous Windows 10 Pro, a subi des problèmes de mises à jour et de downtime ; en novembre 2020, il est passé à Ubuntu Server et à une exploitation basée sur Linux, nginx et Docker
  • Après avoir atteint les limites de stockage et de performances du Dell OptiPlex, il a acheté en mai 2022 un Dell PowerEdge R720XD d’occasion et a étendu son infrastructure autour de Proxmox et de VM Ubuntu Server
  • Dock’n’Roll, qu’il a créé, reproduit le flux de déploiement rapide façon Replit sur son propre matériel et ses propres domaines, mais le homelab apporte aussi, en plus de la liberté et de l’apprentissage, des contraintes très concrètes comme le bruit, la consommation électrique et les déménagements

Un homelab dans sa chambre et des services en production

  • Varun exploite deux serveurs chez lui
    • un Dell OptiPlex posé au sol
    • un Dell PowerEdge R720XD posé sur une petite table basse IKEA
    • les deux serveurs sont reliés par des câbles Ethernet rouge et jaune
  • Le serveur domestique héberge aussi bien des projets expérimentaux que des services avec de vrais utilisateurs
    • une plateforme de réseau social qu’il a créée, avec plusieurs milliers d’utilisateurs
    • Quickz, un jeu de quiz en temps réel pour l’école
    • une plateforme de création et de partage d’animations de style flipbook, instance de démonstration de son MYP Personal Project
    • des outils comme un moteur de recherche pour la communauté Scratch
    • des serveurs de jeu pour ses amis
    • plusieurs instances de Plausible Analytics
    • un outil similaire à Replit pour créer et héberger des projets expérimentaux

Le self-hosting né du confinement de 2020

  • Le point de départ remonte au confinement de 2020, alors que Varun avait 13 ans
  • Il a commencé le développement web avec des sites HTML statiques, puis s’est vite mis à créer des applications plus complexes nécessitant un backend
  • Ses premières applications web, ses bots Discord et ses scripts d’automatisation étaient hébergés sur Replit
  • Pour son serveur Minecraft, il gardait son ordinateur personnel allumé afin de le proposer à ses amis
  • S’il a choisi un serveur à la maison plutôt que le cloud, c’était moins pour réduire les coûts que pour apprendre toute la stack
    • le frontend visible par les utilisateurs
    • le backend et la base de données
    • jusqu’à l’exploitation du serveur qui met réellement les services en ligne
    • il estime qu’à son échelle, utiliser le cloud pourrait être plus rentable

Premier serveur : Dell OptiPlex et Windows 10 Pro

  • Il a trouvé sur eBay un Dell OptiPlex équipé d’un i7-3770S et de 8 Go de RAM
  • Lors de l’expédition des États-Unis vers la Suisse, le vendeur a d’abord envoyé une mauvaise quantité de RAM, et il a fallu plusieurs semaines pour régler le problème
  • Au début, il a continué à utiliser Windows 10 Pro comme système d’exploitation serveur, simplement parce qu’il le connaissait déjà
  • Disposer d’une adresse IPv4 statique à la maison rendait l’hébergement de sites web plus simple et plus stable
  • Tous les services étaient placés derrière Cloudflare, qui gérait gratuitement SSL, DNS et une protection supposée contre les DDoS

De Windows à Ubuntu Server

  • À l’époque, exploiter un serveur Windows 10 avait plusieurs avantages pour Varun
    • il connaissait déjà Windows
    • il pouvait tester dans un environnement proche de son poste de bureau personnel
    • à la maison, RDP lui offrait une connexion rapide et de bonne qualité
    • depuis le Chromebook fourni par l’école, il avait besoin d’un accès via le web et pouvait utiliser Chrome Remote Desktop
  • Les mises à jour Windows provoquant des interruptions de service et l’obligeant régulièrement à réorganiser les fenêtres, il est passé à Ubuntu Server en novembre 2020
  • Avant la migration, il craignait de perdre la sensation de comprendre rapidement l’ensemble du système, mais son habitude de la ligne de commande acquise en codant sous Windows l’a aidé à s’adapter vite à Linux
  • Sa configuration Linux initiale était simple, mais comportait aussi des risques
    • nginx exposé à Internet traitait le trafic HTTPS sur le port 443 avec un certificat autosigné et rejetait les requêtes ne venant pas de Cloudflare
    • il faisait tourner plusieurs projets qu’il voulait garder en ligne 24 h/24
    • il exploitait une seule instance MongoDB partagée par les projets
    • il faisait tourner plusieurs serveurs Minecraft Java
    • il avait exposé webssh2 pour accéder au serveur depuis l’école, tout en reconnaissant lui-même que ce n’était probablement pas très sûr
  • L’installation de logiciels tiers est vite devenue complexe avec les dépendances et l’ajout de dépôts apt, et Docker est devenu l’outil qui simplifiait l’installation et l’exécution
    • les logiciels tiers tournaient avec Docker
    • son propre code s’exécutait directement sur le serveur

Limites de stockage et arrivée du PowerEdge R720XD

  • Environ un an plus tard, il exploitait des projets avec de vrais utilisateurs, comme Quickz et sa plateforme de réseau social maison
  • Le serveur s’est arrêté pendant qu’il était à l’école ; il a tenté de se connecter en SSH, mais des erreurs disque sont apparues avant qu’il ne finisse par être bloqué
  • La cause était un manque d’espace de stockage, et il a gagné du temps en supprimant certains fichiers une fois rentré chez lui
  • Le Dell OptiPlex existant, avec ses 8 Go de RAM et son i7-3770S, avait de plus en plus de mal à absorber la hausse d’usage
  • En mai 2022, il a utilisé l’argent mis de côté grâce à des bug bounties pour acheter un Dell PowerEdge R720XD d’occasion
    • trois disques de 3 To
    • 128 Go de RAM DDR3
    • deux CPU E5-2690 très énergivores
  • Avant l’achat, il n’avait pas suffisamment réfléchi à l’espace, au bruit et à la consommation électrique ; il a réduit une partie du bruit en verrouillant la vitesse des ventilateurs iDRAC à 10 % via un hack non pris en charge
  • Le R720XD possède deux alimentations, deux CPU et deux NIC, ainsi qu’iDRAC, sorte de mini-ordinateur permettant l’administration à distance même lorsqu’il est éteint
  • Au début, il avait posé le serveur sur une table basse à côté de la télévision du salon, et le rack avec le matériel de montage coûtait plus cher que le serveur lui-même

Proxmox et architecture d’accès distant

  • Sur le nouveau serveur, il a décidé d’utiliser un hyperviseur et a lancé Proxmox
  • La majorité des ressources ont été allouées à une VM Ubuntu Server, et tous les services tournent désormais proprement dans Docker
  • Cette structure lui apporte de la flexibilité, en évitant de tout reconfigurer lorsqu’il doit déplacer des services par la suite
  • Il exploite séparément une VM Xubuntu nommée backdoor, avec Chrome Remote Desktop
    • il peut accéder de n’importe où à un espace de travail pratique sur son réseau domestique
    • il pourrait configurer un VPN comme OpenVPN ou WireGuard, mais cette approche fonctionne aussi sur des appareils contraints comme un iPad et sur le Wi-Fi public de l’école
    • il y voit aussi l’avantage de ne pas avoir à s’inquiéter des tentatives de bruteforce par des bots

Dock’n’Roll, sa propre version de l’expérience Replit

  • Même après avoir eu plusieurs serveurs, le flux d’expérimentation rapide de Replit a continué à lui manquer
  • Replit était pratique pour lancer rapidement des applications isolées pour des projets ponctuels, des expériences et des démos, avec un flux où le code écrit dans l’IDE web devenait immédiatement accessible sur le web
  • Replit était gratuit, mais a introduit des fonctionnalités de monétisation ; les repl inactifs sont désactivés lorsqu’il n’y a pas d’utilisateurs, et il comprend qu’il n’est plus possible d’héberger gratuitement des sites web dynamiques publics
  • Pour utiliser son propre matériel et des domaines qu’il contrôle directement, Varun a créé Dock’n’Roll, un clone self-hosted de Replit basé sur Docker
  • Dock’n’Roll est un service mono-utilisateur
    • il code des applications web dans une interface privée, dockn.varun.ch
    • les résultats sont immédiatement accessibles publiquement sous *.varunbiniwale.com
  • Les composants sont les suivants
    • un panneau de contrôle créé avec ExpressJS et une interface web basée sur Monaco Editor de VSCode
    • le bouton de démarrage d’un projet construit l’image et lance le conteneur via la Docker Engine API
    • les métadonnées des projets sont stockées dans Redis
    • le port 80 de chaque conteneur est automatiquement exposé sur :project.varunbiniwale.com via un reverse proxy OpenResty communiquant avec Redis grâce à un plugin Lua
    • les fichiers sous /persisted/ sont conservés après le redémarrage du conteneur et peuvent être consultés et modifiés dans l’interface web
    • l’interface d’administration web est protégée par un custom nginx auth proxy qu’il a créé
  • Dock’n’Roll est aussi utilisé pour la chasse aux bugs
    • il héberge des outils arbitraires utilisés pour trouver des vulnérabilités comme le blind SSRF et le XSS
    • un exemple fournit des images générées automatiquement sur yourip.varunbiniwale.com

Le homelab aujourd’hui et ses limites futures

  • Varun résume son homelab en reconnaissant qu’il est peut-être un peu excessif, mais que c’est un environnement qu’il possède et qu’il aime
  • Il pense qu’un jour, lorsqu’il déménagera pour aller à l’université après son diplôme, il ne pourra probablement pas emporter les serveurs, et il ne souhaite pas non plus imposer à ses parents la charge de continuer à faire tourner le matériel chez eux
  • Le self-hosting ne convient pas à tout le monde, mais il estime que si l’on aime bricoler et que l’on est prêt à en assumer les conséquences, cela vaut la peine d’essayer un petit projet self-hosted
  • Exploiter ses propres serveurs lui a appris beaucoup de choses, et il ressent une forme de liberté dans le fait d’avoir un endroit sous son contrôle pour exécuter ses outils et projets
  • Cette configuration génère parfois du stress et n’est peut-être pas toujours la solution la plus pratique, mais elle lui a permis d’acquérir de nombreuses compétences qu’il aurait eu du mal à apprendre autrement

1 commentaires

 
GN⁺ 2023-12-23
Commentaires sur Hacker News
  • Moi aussi, j’ai un petit homelab et j’ai 16 ans :)
    Avant, j’hébergeais tous mes services dans le cloud, mais après avoir eu une ligne 1G/1G à la maison et découvert que des associations revendaient à bas prix du matériel d’entreprise mis au rebut ou récupéré en décharge, j’ai décidé d’exploiter moi-même des serveurs physiques
    Aujourd’hui, je fais tourner Proxmox sur 2 machines et 1 NAS, avec 14 disques rotatifs, et j’héberge un serveur Minecraft, des projets perso de programmation, un scanner de vulnérabilités, des bots Telegram, des VPS pour des amis, des machines virtuelles pour des builds Android et macOS, du stockage, un projet scolaire de machine learning avec une 1050 Ti ajoutée récemment, ainsi que l’infrastructure du CTF de mon école
    Au passage, je suis en Italie

    • Moi aussi, je suis Italien, j’ai appris à coder en autodidacte à 16 ans et j’en ai 34 aujourd’hui. Je n’étais clairement pas à ton niveau
      Ensuite, j’ai étudié la physique, fait un doctorat, puis un postdoc sur les réseaux de neurones, mais ce qui m’a paru le plus important a été d’inspirer des jeunes comme celui que j’étais, donc cette année je suis revenu en Italie et je suis devenu professeur de lycée
      Je prépare aussi un cours de Python après l’école, donc si tu n’es pas trop loin de Milan et que discuter avec des élèves t’intéresse, ça pourrait valoir le coup d’y réfléchir. Bonne continuation à toi
    • C’est vraiment ça, l’un des trucs géniaux d’Internet. Sinon, comment ces deux ados de 16 ans auraient-ils pu se trouver ?
      Il aurait fallu qu’ils soient dans le même lycée
    • Tes parents doivent quand même absorber une belle facture d’électricité pour faire tourner tout ça. Encore plus si ces services ne rapportent rien
      Dans tous les cas, bravo à ta famille de soutenir ce qui t’intéresse
    • C’est vraiment cool. Je pense aussi à ajouter quelque part une vieille carte graphique pour des tâches liées au machine learning, mais il faut d’abord que je trouve comment faire :)
    • Je me demande qui paie l’électricité. Deux serveurs, ça donne l’impression qu’on est facilement à 50 à 100 dollars par mois
  • Quand j’avais 16 ans, en 2001, j’ai acheté avec l’argent d’un job d’été le "Teach Yourself C" de Herbert Schildt, une carte vidéo et un Sony Trinitron
    Vers la fin du chapitre 5, Herb a commencé à parler bizarrement des tableaux multidimensionnels, et quand j’ai vu que le chapitre suivant portait sur les pointeurs, littéralement de la magie noire et du non-sens, j’ai été submergé et je suis passé au plan B : devenir rockstar. La programmation était trop difficile
    Ce que j’ai appris m’a surtout servi à mettre des programmes sur ma TI-82 pour tricher aux contrôles de maths
    Quelques années plus tard, pendant mon premier semestre à l’université, un conseiller m’a recommandé de repousser mon choix de spécialité d’un semestre et de suivre différents cours qui m’intéressaient, et ça m’a vraiment sauvé
    J’ai acheté mon premier livre sur Java et je me suis mis à le dévorer ; c’était bien plus accessible que le livre sur le C, et quand je suis allé à mon premier cours, j’avais déjà lu tout le programme
    C’est comme ça qu’a commencé un parcours qui dure maintenant depuis plus de 15 ans, dans une voie que je croyais avoir abandonnée une fois pour toutes
    Je joue toujours de la guitare et j’y prends du plaisir, mais je sais que je ne serai jamais meilleur musicien que je ne suis ingénieur

    • Les pointeurs ont été le déclic qui m’a fait aimer l’apprentissage et le fait de m’améliorer
      Je me souviens que quand j’apprenais le C à l’adolescence, tous les supports avertissaient qu’avec les pointeurs, ça devenait soudain étrange et difficile
      Au début, ça me semblait totalement mystérieux, mais c’était les vacances d’hiver et j’ai décidé de m’y accrocher jusqu’à comprendre. Je ne sais plus si ça a pris quelques heures, quelques jours ou toute une semaine, mais au moment précis où j’ai compris, j’ai ressenti une immense satisfaction, et après ça j’avais l’impression de pouvoir tout faire
      J’ai lu une interview de Hidetaka Miyazaki, le directeur de la série Dark Souls, connue pour sa difficulté, où il racontait avoir vécu quelque chose de similaire en apprenant les accords barrés à la guitare, et avoir retranscrit dans ses jeux cette satisfaction qu’on ressent quand on surmonte un gros obstacle
      C’est une sensation vraiment puissante
    • J’étais étudiant à la fin des années 1980, et les pointeurs en C m’ont longtemps énormément embrouillé, sans que les profs soient d’une grande aide
      Finalement, quand j’ai compris qu’un pointeur n’était qu’une adresse mémoire, une bonne partie de cette confusion s’est effondrée d’un coup autour d’une idée très simple. Je me souviens encore de ce que ça m’a fait mentalement
      Beaucoup de camarades autour de moi ont vécu la même chose, et tout le monde ne l’a pas surmontée
      Du coup, je me repose la question : pourquoi les pointeurs en C sont-ils si difficiles à comprendre ? Est-ce le concept lui-même, c’est-à-dire l’indirection, la notation avec & et *, le fait de traiter les tableaux comme des pointeurs, ou autre chose ?
      Avant l’université, j’avais passé beaucoup de temps à piloter des puces VIC et SID avec les commandes peek et poke, et à écrire en assembleur ; ce bagage ne m’a sans doute pas desservi quand j’ai découvert le C, même si je n’avais pas tout de suite fait le lien à l’époque. Je me demande aussi quel en serait l’équivalent aujourd’hui
    • Je me souviens qu’ado, n’ayant personne à qui parler de programmation, j’errais sur Freenode et j’étais tombé sur ##C
      À l’époque, j’avais déjà un vague sens général des langages de programmation, mais j’étais encore presque débutant, et j’avais demandé pourquoi mon afficheur d’arguments en C sortait envp, sans rapport avec (null) ni avec quoi que ce soit d’utile
      Une personne extrêmement gentille sur le canal m’a guidé avec patience pour me faire comprendre les bases des pointeurs, et c’était il y a environ 16 ans. Je ne me souviens plus de son nom, mais merci à cette personne de m’avoir aidé à l’époque
    • Au lycée, je me suis retrouvé bloqué en lisant K&R au moment d’implémenter malloc
      J’ai tenu bon parce que les pointeurs étaient indispensables pour comprendre les listes chaînées, mais je n’ai utilisé cette structure de données qu’une seule fois dans les années 1980, et plus jamais ensuite
    • J’ai commencé la programmation en entrant directement de l’hexadécimal (Z80) et de l’octal (PDP11), donc au moment de découvrir le C, l’indirection mémoire me paraissait naturelle
      Il y a clairement un avantage à comprendre comment le CPU fonctionne tout en bas de la pile. Après, savoir si c’est vraiment nécessaire pour la plupart des usages modernes de la programmation reste discutable
  • J’aime bien qu’à côté du paragraphe qui parle de racks coûteux, on voie des serveurs posés sur une table Ikea. Je me demande s’il connaissait le Lack Rack : https://web.archive.org/web/20230131031301/https://wiki.eth0...

    • Oui, je connais. Je n’ai simplement pas encore eu le temps de prendre toutes les mesures et de trouver les bonnes vis et la bonne table
  • Petit fait amusant. Quand j’avais 16 ans, il était bien plus facile de se procurer un serveur maison à 200 dollars qu’un VPS Digital Ocean à 5 dollars
    Ici, Allegro, le service d’achat en ligne, est en pratique une sorte de mélange entre Amazon et eBay, et accepte volontiers le paiement à la livraison contre une petite commission
    Il fallait sans doute avoir 18 ans pour s’inscrire, mais en Pologne personne ne se souciait vraiment de cette limite, et il n’y avait aucune vérification d’âge
    À l’inverse, les services cloud exigeaient une carte de débit ou de crédit, et sans l’intervention des parents, c’était impossible ou pratiquement impossible
    On peut dire beaucoup de mal du Bitcoin et des cryptomonnaies en général, mais l’angle des droits des adolescents ne sera jamais trop souligné

    • L’âge minimum d’inscription n’est pas 18 ans mais 13 ans
      Et avec l’accord des parents, un jeune de 13 ans peut ouvrir un compte bancaire gratuit avec une carte de débit permettant les paiements en ligne. Ce n’est pas nouveau : j’en avais déjà une il y a 15 ans
    • Est-ce que cela veut dire que tu n’es pas favorable au contrôle par les parents des biens de leurs enfants ?
  • Bien joué. J’ai l’impression qu’il y a de moins en moins de gens qui apprennent les bases du matériel et des systèmes d’exploitation, voire davantage que les bases
    Ce savoir reste très précieux, même quand on travaille avec du PaaS. Par exemple, avoir utilisé IIS depuis l’époque de NT4, et Apache depuis la version 1.x, aide énormément à diagnostiquer des problèmes sur Azure Web Sites

    • Même dans le secteur, il y a des gens qui ne savent pas
      Il y a une dizaine d’années, quand je travaillais dans un datacenter, il fallait remplacer du matériel comme la RAM sur un serveur. Le responsable de l’équipe qui utilisait ce serveur travaillait depuis des années à une cinquantaine de mètres de la salle serveur, et il a demandé s’il pouvait venir voir le remplacement
      Il a dit qu’il était curieux parce qu’il n’avait jamais vu l’intérieur d’un serveur, et à l’entendre, il n’avait même jamais vu l’intérieur de son PC personnel. Ça m’a vraiment choqué
      À l’époque, les procédures n’étaient même pas strictes : n’importe quel jour, il aurait pu demander à l’une des dizaines de personnes présentes une visite, et on lui aurait montré sans poser de questions. Il y avait même des serveurs qui traînaient autour des cloisons des bureaux pour diverses raisons
      Jusqu’à ce jour-là, il n’y avait simplement jamais pensé
    • La plupart n’ont même pas de PC monté par eux-mêmes. Ils ont très peu d’intuition sur la structure interne, et ne suivent pas non plus assez l’actualité ou les articles sur le matériel
      Ce type de PC n’est pas un serveur en rack professionnel, mais il peut servir de serveur, et il faut quand même le configurer
      Une grande partie de cette compréhension de base et de cette expérience d’apprentissage est en train de disparaître. Le développeur front-end qui ne connaît presque pas HTML ni CSS mais connaît React n’est plus très loin
  • Je n’avais pas 16 ans quand j’ai découvert les serveurs rack d’occasion, mais j’étais quand même assez jeune, probablement 21 ans
    En 2012, à Dallas, Texas, j’avais un boulot affreux à 30 000 dollars par an, sans assurance maladie, à peine suffisant pour vivre
    Pour faire des expériences d’encodage vidéo, j’avais besoin de quelque chose d’un peu plus puissant qu’un ordinateur portable, mais je n’avais pas les moyens d’acheter un ordinateur assez rapide pour ce que je voulais faire. Jusqu’à mes 25 ans environ, je n’ai d’ailleurs pas vraiment réussi à épargner
    En cherchant impulsivement sur Craigslist avec toutes sortes de variantes de “ordinateur rapide et pas cher”, je suis finalement tombé sur “server”
    C’est comme ça que j’ai découvert qu’on pouvait acheter pour presque rien des serveurs Dell en rack anciens mais encore utilisables ; un vendeur proposait même deux serveurs Dell en rack avec 16 cœurs et 32 Go de RAM pour environ 250 dollars
    J’ai réussi de justesse à me les payer, je suis allé les chercher en voiture, et cela a presque entièrement déterminé l’orientation de ma carrière pendant les 12 années qui ont suivi

    • Les serveurs rack ont des coûts cachés. L’un, c’est qu’il faut s’asseoir à côté d’un bruit de nuée de drones, l’autre, c’est le prix des pièces de rechange de niveau entreprise
      Dell s’est en général plutôt bien comporté avec moi, mais il m’est quand même arrivé de devoir remplacer rapidement un backplane et d’autres composants
    • Je faisais surtout du consulting sous contrat autour de Solaris au tournant du siècle, donc à l’époque mon homelab était composé en majorité de vieux équipements Sun Enterprise achetés sur eBay
      https://en.wikipedia.org/wiki/Sun_Enterprise#Entry-level_ser...
      J’avais aussi un E450, similaire à celui-ci : [https://en.wikipedia.org/wiki/File:SUN_Ultra_Enterprise_450....](https://en.wikipedia.org/wiki/File:SUN_Ultra_Enterprise_450.JPG)
      J’avais aussi plusieurs petites machines et stations de travail, et si je me souviens bien, j’ai aussi eu un E220R à un moment. Je ne sais plus ce qu’est devenu tout ce vieux matériel
      Quoi qu’il en soit, c’était très utile pour se préparer à des entretiens avant de rencontrer des clients potentiels, c’est-à-dire pour se remettre à niveau sur certaines technologies, et c’était aussi bien pour le développement général ou le packaging
    • Je serais curieux de savoir s’il y avait une raison pour laquelle tu n’utilisais pas plutôt deux desktops 8 cœurs
  • Sauf si vous avez besoin d’énormément d’E/S, par exemple de stockage SAS/SATA ou de vieilles cartes PCIe, éviter un serveur gros, bruyant et énergivore est bien plus simple qu’on ne le pense
    Les PC OEM au format Mini/Micro dans la même gamme de prix embarquent généralement un matériel bien plus récent. On peut trouver un i5 de 8e génération au lieu d’un i7 de 3e génération, avec de bien meilleures performances globales
    L’hébergement et la maintenance sont aussi bien plus simples : il suffit de le brancher près du modem de l’ISP et de l’oublier

    • J’ai une vieille machine HP Elite SFF Skylake
      Elle peut accueillir deux disques 3,5 pouces et un disque 2,5 pouces sans modification, et grâce à son conduit qui évacue directement la chaleur du CPU vers l’arrière et à son alimentation certifiée 80 Plus Platinum, c’est une machine allumée en permanence avec un excellent rapport qualité-prix
    • « Le brancher et l’oublier », c’était précisément ce que je ne voulais pas à 16 ans
      J’avais aussi un serveur, mais au format HP ML, donc moins bruyant qu’un modèle pizza box. L’ECC est aussi assez important, et un vrai RAID matériel est une bonne expérience d’apprentissage
    • Si vous devez vraiment utiliser énormément de disques SATA, difficile de battre plusieurs R720XD
      J’en ai un petit groupe, et si 1) on désactive des CPU, 2) on fait tourner le CPU restant en sous-voltage, et 3) on fabrique directement son propre contrôleur de ventilateurs avec des séquences d’octets IPMI brutes, ce n’est en réalité ni si bruyant ni si gourmand
      C’est l’une des meilleures solutions de stockage de masse en coût par PB. J’ai aussi plusieurs NUC et ordinateurs monocartes, mais l’usage est clairement différent
      Un jour, j’achèterai un ou deux clusters Isilon de surplus pour atteindre le vrai niveau du très gros stockage. Je n’ai pas envie de me battre avec Ceph sur mon temps libre
    • J’ai failli utiliser un vieux PC Skylake pour faire tourner OpnSense comme routeur
      À la place, j’ai acheté un micro-ordinateur Intel N100 fanless à 100 dollars : il ne consomme que 7 W et offre des performances presque équivalentes. Les économies d’électricité finiront par l’amortir
      Et pourtant, le i5-6600K n’était pas spécialement connu pour consommer beaucoup
    • J’ai un temps utilisé une carte mère Intel avec un CPU Atom comme serveur de fichiers, mais j’ai fini par devoir faire une mise à niveau. Les puces Atom étaient vraiment mauvaises
      Je suis ensuite passé à un Pentium Skylake, et ça fonctionne bien mieux
  • J’étais ce genre de gosse moi aussi. J’avais un PC haut de gamme monté à la main qui, pour situer l’époque, coûtait largement plus de 6 000 dollars[0], et était basé sur un tout nouveau 486DX50
    J’avais rempli la RAM de la carte mère au maximum, probablement 16 Mo, mais mes souvenirs sont flous. Il y avait aussi une carte son Turtle Beach Wave Table Synth et une carte vidéo capable d’afficher du 1152x1024 sur un CRT 16 pouces
    Je faisais tourner un BBS multi-nœuds avec deux modems 9600, puis plus tard deux modems 16,8K
    Sans l’expérience acquise à bricoler ce PC et le 8088 vieux de dix ans qui l’avait précédé, il est très probable que je ne serais pas devenu développeur logiciel
    J’ai un jour monté un PC gaming pour le gosse du voisin, et pendant quatre ans je l’ai vu devenir, sans même s’en rendre compte, un sacré geek compétent
    À force d’ajuster les réglages pour grappiller ne serait-ce qu’un peu de framerate, de gérer les mises à jour de firmware, les pilotes de carte graphique, les mises à jour logicielles et tout le chaos qu’implique le simple fait de « vouloir jouer sur PC », on accumule beaucoup de connaissances par accident
    Je n’avais pas parlé à ce gamin depuis quatre ans, puis je l’ai revu récemment et j’ai été bluffé. La première chose qu’il a faite a été de sortir un Flipper Zero de sa poche et de me raconter toutes les folies qu’il avait faites avec
    Il était aussi compétent que n’importe quel administrateur système avec qui j’ai parlé, sans même réaliser qu’il possédait ce type de compétences
    L’expérience m’a tellement plu que j’ai aussi acheté à mon fils un bon PC portable gaming pour qu’il quitte les consoles, et la même chose s’est produite cette année
    Cette année, ma fille, de deux ans plus jeune, me supplie de lui construire un desktop, donc elle va avoir droit à un beau Noël et à une année entière d’apprentissage et de frustrations :)
    Ah, et notre famille a aussi acheté un Flipper Zero cette année. Pas question de laisser tout le fun au gamin du voisin
    [0] J’avais gagné cet argent en assemblant les ordinateurs d’autres personnes

    • Même après 25 ans de carrière dans le logiciel, ce qui me surprend vraiment, c’est le très faible nombre d’ingénieurs logiciel de mon équipe qui ont leur propre ordinateur
      Dans mon équipe actuelle, c’est moins de la moitié. À côté, je suis le type bizarre qui possède plusieurs machines en plus de son portable de travail : un PC gaming, un portable gaming et un MBP polyvalent
      Mon fils a vécu quelque chose de similaire. Il n’a jamais montré un énorme intérêt pour apprendre l’informatique, mais il voulait bien aider à monter un PC, et maintenant il est devenu le support technique de ses amis
    • Comme beaucoup de gens sur HN, j’ai une histoire semblable
      Après avoir joué pendant des années avec du câble coaxial 10BASE2 dans mon « homelab », j’ai fini par comprendre que des gens étaient prêts à me payer pour mon petit jeu
      Bien sûr, cet argent est reparti intégralement dans les jouets du homelab
      Aujourd’hui, j’ai beaucoup d’amis qui ont des enfants, dont certains sont ados. Depuis un moment, j’avais une inquiétude : leurs connaissances techniques se limitent à demander le mot de passe du Wi-Fi et à regarder des vidéos débiles dans des apps
      Quand on leur demande ce qu’ils veulent faire plus tard, ils répondent « influenceur ». Leur geste le plus technique consiste à redémarrer le « routeur » quand Internet ne marche pas, et leur deuxième étape de diagnostic est de crier qu’Internet ne marche pas
      Ce sont de très bons gosses, et je ne veux pas les critiquer, mais je me demandais s’il resterait encore quelqu’un pour maintenir les lumières allumées une fois notre génération disparue
      À notre époque, la barrière à l’entrée pour utiliser un ordinateur et se connecter à Internet était élevée, mais cela avait aussi l’avantage de faire exploser le nombre de talents techniques
      Donc apprendre qu’il existe encore des gamins geeks qui veulent regarder sous le capot est vraiment rassurant
    • J’ai suivi exactement le même chemin quelques années plus tard
      En essayant de jouer sur le Gateway de ma mère, j’ai fini par construire mon premier PC autour d’un Pentium D, puis cela s’est transformé en hobby consistant à acheter et revendre du matériel sur eBay pour changer de composants, avant de me mener finalement jusqu’à un diplôme de génie électrique
      Sans les jeux vidéo, sans le bricolage sur PC et sans l’overclocking, pas de diplôme de génie électrique
    • Je suis curieux de savoir quelles choses cool ce gamin a faites avec son Flipper Zero
    • Je me demande quel âge ont les enfants
  • Félicitations. Quand j’avais 16 ans, je n’avais qu’un 486DX2-66, un modem 28.8K et un onduleur
    Pour les autres ados, et ceux qui le sont restés dans leur cœur, qui veulent faire pareil : cherchez des serveurs d’entreprise d’occasion sur eBay. HP, Lenovo, Dell et Supermicro sont en général de bons choix
    Avant d’acheter, il faut chercher la documentation des spécifications, les pilotes et le firmware du modèle précis, pour vérifier si la machine est complète et utilisable, ou si elle peut être remise en état pour un coût raisonnable
    Si vous comptez faire tourner plusieurs machines virtuelles avec XenServer ou VMware ESXi, vérifiez avant l’achat dans la liste de compatibilité matérielle (HCL) du système d’exploitation que le matériel est bien pris en charge
    Mieux vaut éviter les serveurs 1U. Ils doivent faire tourner des ventilateurs plus petits et plus courts à très haute vitesse que les modèles 2U et plus, donc ils sont plus bruyants
    Le CPU doit être au moins aussi rapide que celui de l’ordinateur que vous avez déjà. Sinon, vous risquez de vous retrouver avec un presse-papiers très cher ou un gros « Raspberry PI » : https://www.cpubenchmark.net
    Piège à connaître : sur les serveurs Dell, Lenovo et HP, les CPU AMD sont parfois verrouillés par le constructeur. Cela dit, il arrive que des vendeurs proposent ces CPU verrouillés à si bas prix que cela peut valoir le coup
    RAM ECC. Un ami n’incite pas un ami à utiliser de la RAM non-ECC : https://cr.yp.to/hardware/ecc.html
    Mieux vaut utiliser un SSD. Les disques durs mécaniques sont faits pour le stockage, pas pour le système d’exploitation : https://web.archive.org/web/20110831080738/http://buyafuckin...
    Si possible, trouvez une machine avec des fonctions de gestion à distance comme iLO ou iDRAC, idéalement déjà licenciées
    Quand vous la recevrez, elle sera probablement sale et rayée, donc ouvrez-la dehors et nettoyez-la à l’air comprimé
    Bonus : convaincre ses parents d’installer un panneau de brassage 19 pouces et un demi-rack dans le garage :]

    • Tous ces conseils relèvent surtout du confort. On peut très bien faire la même chose avec un vieux desktop ou un portable
      J’ai fait du homelab pendant longtemps, et j’ai utilisé des systèmes rackables remplis de vieux composants de desktop plutôt que de chercher ou d’acheter du vieux matériel serveur. Ce n’est pas indispensable
      La RAM ECC est aussi utile si on peut l’avoir à bon prix et si le CPU la prend en charge, mais d’après mon expérience, le problème est souvent exagéré
      En revanche, je suis d’accord pour recommander du matériel 2U ou 3/4U. On peut y mettre des ventilateurs bien plus grands, donc c’est plus silencieux
  • Quand j’étais ado au début des années 90, la chose la plus marquante après avoir eu mon premier ordinateur, c’était de découvrir que tous les ordinateurs sont des serveurs
    Il n’avait pas besoin d’être au format rack ni de coûter cher. Il suffisait d’avoir Winsock et TCP/IP, et c’était tout. Mon ordinateur était comme n’importe quel autre ordinateur sur Internet
    Donc cet article est cool, mais j’aimerais qu’il insiste un peu moins sur le matériel, parce que pour faire tourner une appli basée sur Node et la rendre accessible sur Internet, le matériel n’a pratiquement rien à voir là-dedans
    Pas besoin non plus d’IP statique, il suffit de comprendre le DNS dynamique :)

    • Autrement dit, à l’époque où le partage de fichiers en P2P était à son apogée, la plupart des ados de 16 ans avaient effectivement un serveur dans leur chambre
    • Ça m’a donné envie de retrouver l’histoire du premier planificateur d’itinéraires ferroviaires en ligne d’Allemagne
      C’était un texte écrit par son créateur lui-même, et à l’époque où Deutsche Bahn n’était pas encore en ligne dans les années 90, les informations d’itinéraire existaient déjà sur CD-ROM
      Quelqu’un a récupéré les données de ce CD-ROM et a créé un outil qui renvoyait un trajet entre deux gares quand on lui posait la question
      La manière d’interroger le système était intéressante : il fallait envoyer un email à son adresse universitaire, et le « serveur », en réalité un PC dans un coin de sa chambre, relevait les emails toutes les cinq minutes, traitait la requête et renvoyait le résultat par email
      Malheureusement, maintenant que Google et DDG sont devenus inutiles, la dernière fois que j’ai essayé de retrouver cette histoire, ça m’a pris un temps fou
    • Pour ce genre d’usage, je préfère une machine non serveur à une machine de classe serveur
      Même un ordinateur monocarte moderne peut faire un très bon serveur domestique, tout en étant bien plus petit, plus silencieux, moins cher et moins gourmand en énergie
    • L’un des objets techniques les plus sympas que j’ai eus ado, c’était un vieux desktop devenu inutile dont personne ne voulait plus
      Au début, j’y ai installé FreeBSD, puis plus tard Linux, et c’était incroyable d’avoir ma propre machine Unix à la maison
      Elle n’était ni puissante, ni riche en mémoire ou en stockage, mais elle était à moi, et je pouvais en faire ce que je voulais
      J’y faisais tourner des bots IRC et un serveur web qui hébergeait les scripts Perl douteux que j’écrivais. Une fois que j’y ai ajouté une carte réseau, elle a aussi servi de routeur pour la connexion commutée de la maison
      J’ai énormément appris en bricolant cette machine, et si je sais quitter vim aujourd’hui, c’est grâce à elle
    • Quand j’ai publié mon premier logiciel open source en 1999, je l’hébergeais directement depuis ma machine Linux de bureau, via la connexion câble de mon appartement et du DNS dynamique
      Je l’avais mis sur Freshmeat[1], et je regardais les logs Apache défiler depuis le canapé pendant le dîner. C’était l’une des sensations les plus cool de toute ma carrière
      [1] https://en.wikipedia.org/wiki/Freecode