Homelab - Présentation
Un homelab ?
Un homelab est une infrastructure informatique personnelle (basiquement un ou plusieurs serveurs), que l'on met en place directement chez soi pour expérimenter, apprendre et faire tourner ses propres services.C'est un excellent moyen de tester diverses technos, des choix d'architecture, mais aussi de se confronter aux problèmes réels de MCO plutôt que rester sur de la théorie ou des déploiements en local.
J'en fais fonctionner un depuis de nombreuses années, qui m'a permis d'apprendre beaucoup, mais aussi de déployer et maintenir différents services dans des conditions réelles.
Les-dits services, en plus de leur praticité immédiate, permettent aussi de récupérer un peu de contrôle sur nos données, nos process, et retrouver un peu l'esprit originel du web: une multitude de serveurs indépendants, avec chacun ses propres contenus et services.
Comment en suis-je arrivé là ?
Revenons presque 15 ans en arrière: à l'école comme bien souvent, le profil utilisateur a un quota très facile à dépasser.L'école a un accès internet ultra rapide, et j'ai la chance d'être en VDSL.
En montant un petit serveur SFTP sur un PC de récupération, j'ai rapidement pu contourner le problème en stockant mon profil utilisateur directement chez moi et en le récupérant à l'ouverture de session.
Rapidement l'envie de déployer de nouvelles choses arrive: un bitbucket pour le code, puis un serveur web, puis un serveur d'impression 3D, etc...
Les services se sont donc rapidement multipliés, ainsi que les problèmes: manque de ressources, pas d'isolation entre les services, sauvegardes chaotiques, kernel panic après une mise à jour...
C'était une vraie révélation: alors que je m'étais concentré uniquement sur le développement logiciel, la partie système et déploiement avait elle aussi son lot de problématiques intéressantes et de challenges à relever.
Petit à petit le serveur a évolué, d'abord avec de la virtualisation (Proxmox VE), puis en changeant le matériel pour de vrais serveurs jugés alors obsolètes par les entreprises.
L'augmentation des ressources permis de déployer beaucoup plus de services, de tester plus de choses, comparer des solutions, automatiser des déploiements, mettre en place de la HA, etc...
Ces nombreux services ont soulevé des questions, comme la supervision, la gestion des logs, les sauvegardes, la sécurité, qui pouvaient se résoudre en déployant un nouveau service.
De fil en aiguille, en comblant chaque manque pièce par pièce, on en arrive à une infrastructure plutôt complète dont chaque brique est complémentaire.
Et surtout, en les déployant soi même, on apprend toujours de nouvelles choses.
Le homelab est devenu à la fois un formidable terrain d'apprentissage, ainsi que la plateforme de liberté sur laquelle déployer tout ce que l'on souhaite.
Aujourd'hui il fait tourner plus de 60 VM, et de nombreux services, tels qu'une forge GIT, un DNS récursif, une instance Mastodon, Matrix, Adguard, SearX, FreshRSS, etc... sans oublier les briques d'infra telles que les backups, reverse proxies, Ansible, les supervisions, la centralisation de logs, etc...
Pourquoi pas un VPS ou un dédié ?
Les VPS sont courants, à prix acceptable bien que beaucoup plus élevés qu'autrefois.Ils sont bien pour déployer une solution sans se préoccuper de l'aspect infrastructure, mais c'est assez limité.
Le déploiement, la gestion d'un hyperviseur, d'un cluster d'hyperviseur sont bien plus intéressants et formateurs que la location de VPS.
Beaucoup d'actions comme les snapshots ou les sauvegardes peuvent être payantes ou indisponibles sur un VPS premier prix, alors qu'intégré à l'hyperviseur.
Le point qui enfonce le clou, c'est le tarif.
Payer quelques euros d'électricité et avoir le contrôle total du serveur, ou payer environ 200€/mois à un cloud provider pour un serveur comparable ou des VPS ?
Le choix est vite fait !