Bonjour,
Présentation de Deuxfleurs
Je suis membre d’une association qui s’appelle Deuxfleurs dans laquelle nous voulons faire de l’auto-hébergement collectivement. Dans notre idée, plutôt que d’avoir chacun son YunoHost de son côté, on veut plutôt mettre nos machines et nos logiciels en commun. Ça nous permet de prendre soin collectivement de notre petit coin d’internet que j’appellerai notre grappe (ou cluster pour le terme anglais).
Présentation de Garage
La première étape c’est de répartir les données sur toutes les machines de notre grappe. Et aussi, de les dupliquer, comme ça si une machine vient à être indisponible, la donnée continue d’être disponible et le service n’est pas impacté. Plusieurs logiciels existent déjà pour faire ça, les plus populaires sont Ceph, Openstack Swift et Minio. Mais ces logiciels posent un problème : ce sont des logiciels qui requièrent une infrastructure physique (serveurs, réseau, etc.) spécifique pour bien fonctionner, infrastructure qu’on ne trouve qu’en datacenter. Au contraire, nous nous pensons que c’est le logiciel qui doit s’adapter au matériel, et que la matériel est mieux en dehors des datacenters et partagé .
Il y a un an, nous avons donc décidé de commencer le développement d’un nouveau logiciel : Garage.
Ce dernier peut fonctionner sur des boards ARM (Raspberry Pi, Odroid HC2, etc.) ou des vieilles tours x86 (par exemple des Lenovo Thinkcentre de 2010) à travers des connexions internets résidentielles (et donc des latences importantes). Bref, il peut-être déployé par n’importe quel bidouilleur ou bidouilleuse sans avoir à recréer un datacenter dans son sous-sol.
Mais vous vous demandez peut-être comment l’utiliser ? Et bien Garage expose une API standard qu’on appelle souvent S3 car conçue à l’origine par Amazon pour son service Simple Storage Service (S3 donc) mais implémentée par plein d’autres solutions, dont Garage. Grâce à cette API qui sert de « standard », Garage est déjà compatible avec plein de logiciels existants, comme Nextcloud, Matrix, Mastodon, Peertube, PixelFed, etc. pour qu’ils stockent leurs fichier sur Garage. Vous pouvez aussi utiliser des outils comme rclone pour envoyer vos backups directement sur Garage.
Enfin, Garage permet de publier vos sites web statiques (c’est une fonctionnalité qu’offre aussi Amazon S3 et que nous répliquons, pas de surprise pour celleux qui connaissent). D’ailleurs nos sites webs (deuxfleurs.fr et garagehq.deuxfleurs.fr sont tous les deux hébergés sur notre grappe garage).
En terme de stabilité, nous considérons que le logiciel est en « technical preview » : il fonctionne pour nous, nous l’utilisons en production, mais nous vous décourageons de vous lancer seul·e dans l’aventure : ça tombe bien, on a une install party et un salon Matrix pour en discuter !
À propos de l’install party
Nous organisons une install party le samedi 29 mai de 15h à 19h sur jitsi pour que toutes les personnes qui sont intéressées mais un peu effrayée par ce jeune logiciel puissent l’essayer tout en étant accompagnée par les développeur·euses.
Pour vous ce sera l’occasion d’apprendre à installer Garage sur une machine et le connecter à une grappe existante. Vous pourrez aussi poser vos questions et remonter vos remarques aux développeur·euses directement.
Pour nous ce sera l’occasion de faire connaitre un peu notre logiciel, de le tester sur du nouveau matériel, de comprendre un peu le besoin aussi des autres personnes autour de nous qui partagent des problèmes similaires.
Venez nous voir, ça nous fera très plaisir
Liens utiles
- Toutes les infos sur l’install party du 29/05/21
- Documentation de Garage
- Dépôt Git
- Salon Matrix
- Quelques liens pour celleux qui seraient suspicieux·euses vis à vis de l’architecture de Garage
- Le concept général s’inspire du papier Dynamo
- Le consistent hashing est basé sur Maglev
- Les données en interne sont représentées par des CRDT
- L’anti-entropy est basée sur un algo à base de Merkle-Tree