4 points par GN⁺ 2025-12-20 | 1 commentaires | Partager sur WhatsApp
  • Garage est un stockage d’objets compatible S3 capable de fonctionner de manière fiable même en dehors d’un environnement de datacenter
  • Fourni sous la forme d’un binaire autonome sans dépendances, il peut être exécuté facilement sur toutes les distributions Linux
  • Les données sont répliquées sur 3 zones (zones) afin d’assurer une forte redondance et tolérance aux pannes
  • Il implémente l’API Amazon S3, ce qui le rend compatible avec diverses applications comme Nextcloud, Matrix et Mastodon
  • Grâce à de faibles exigences matérielles et à une conception fondée sur la recherche publique, il élargit l’accès aux systèmes distribués

Aperçu

  • Garage est un stockage d’objets S3 pouvant être exploité de façon fiable en dehors des datacenters, et peut être déployé sur plusieurs datacenters via Internet
  • Il peut servir à différents usages, notamment l’hébergement de sites web, le stockage de médias et comme cible de sauvegarde

Objectifs de conception

  • Un système conçu avec un fort accent sur la légèreté et l’efficacité
    • Distribué sous la forme d’un exécutable autonome sans dépendances, il fonctionne sur toutes les distributions Linux
    • Conçu pour les administrateurs système afin de permettre un déploiement rapide et une exploitation sûre
  • Pensé pour être déployable dans tous les environnements, y compris entre plusieurs datacenters sur Internet sans réseau backbone dédié
  • Offre une grande résilience face aux pannes réseau, à la latence, aux erreurs disque et aux erreurs humaines d’exploitation
Publicité

Exigences minimales

  • CPU : x86_64, ARMv7 ou ARMv8 datant des 10 dernières années
  • RAM : 1 Go
  • Espace disque : minimum 16 Go
  • Réseau : latence inférieure ou égale à 200 ms, bande passante d’au moins 50 Mbps
  • La prise en charge du matériel hétérogène permet de constituer un cluster à partir d’équipements d’occasion

Résilience des données et compatibilité

  • Chaque fragment de données (chunk) est stocké avec une réplication sur 3 zones
  • Il implémente l’API Amazon S3, assurant une compatibilité immédiate avec les applications existantes
    • Exemples pris en charge : Nextcloud, Matrix, Cyberduck, Mastodon, Rclone, PeerTube
Publicité

Fondements techniques

  • Garage est conçu sur la base des avancées récentes de la recherche sur les systèmes distribués
    • Le stockage clé-valeur Dynamo d’Amazon
    • Les Conflict-Free Replicated Data Types (CRDTs)
    • Le répartiteur de charge réseau logiciel Maglev

Sponsoring et financement

  • Le projet Garage a bénéficié à plusieurs reprises de financements publics
    • 2021–2022 : NGI POINTER – financement d’1 an pour 3 employés à temps plein
    • 2023–2024 : NLnet / NGI0 Entrust – financement d’1 an pour 1 employé à temps plein
    • 2025 : NLnet / NGI0 Commons Fund – financement d’1 an pour 1,5 employé à temps plein
  • Il bénéficie d’un soutien financier du programme européen de recherche et d’innovation Horizon 2021 ainsi que du programme Next Generation Internet
  • Il est possible de participer via un sponsoring supplémentaire ou un contrat de support (contact : garagehq@deuxfleurs.fr)

1 commentaires

 
GN⁺ 2025-12-20
Réactions sur Hacker News
  • J’ai récemment testé Garage de manière assez approfondie en interne
    Le déploiement était un peu plus simple que celui de MinIO, mais les performances élevées étaient en retrait
    Dans un environnement avec NIC 25G, MinIO montait à 20~25 Gbps, tandis que Garage semblait plafonner autour de 5 Gbps
    J’ai l’impression que Garage ne vise pas ce type de cas d’usage à très haute performance
    La prochaine fois, je compte aussi évaluer RustFS et Ceph/Rook
    Vu l’orientation récente de MinIO, j’aurai probablement besoin de chercher d’autres alternatives

    • Garage ne cherche officiellement pas à atteindre les meilleures performances absolues
      Sa philosophie est la suivante : « les hautes performances imposent des contraintes sur la conception et l’infrastructure ; nous recherchons donc la performance par le minimalisme »
      (document Design Goals)
      Cela dit, il serait intéressant de comprendre où se situent exactement les goulets d’étranglement. Il est possible que le parallélisme soit moindre que dans MinIO
    • Si vous avez seulement besoin de S3, je ne recommande pas Rook
      La complexité est très élevée, et sans une bonne maîtrise, la récupération devient difficile quand le cluster tombe en panne
    • Je suggère aussi d’ajouter SeaweedFS à la liste des tests
  • Le projet semble intéressant pour du développement local
    Mais en lisant le guide de configuration pour la production, ça fait un peu peur
    Garage recommande des systèmes de fichiers comme BTRFS ou ZFS, car il n’effectue pas lui-même de checksum ni de vérification d’intégrité lors du stockage des métadonnées
    Le moteur LMDB par défaut présente un risque de corruption des données après un arrêt anormal, ce qui impose des snapshots réguliers
    SQLite est aussi possible, mais j’ai été surpris que la base par défaut soit vulnérable aux coupures de courant

    • Si quelqu’un connaît un KV store embarqué avec prise en charge des transactions, de bonnes performances, des bindings Rust, ainsi que des checksums et une vérification d’intégrité intégrés, qu’il le signale
      Il serait intégré à Garage immédiatement
    • J’utilisais MinIO pour le développement local, mais cette version n’est désormais plus maintenue
      Le minimum requis de 1 Go de RAM pour Garage m’a paru un peu contraignant
    • Le problème de corruption lors d’une coupure de courant est difficile à résoudre complètement par logiciel
      Il est recommandé d’utiliser des SSD NVMe avec PLP (protection contre les pertes d’alimentation) ou un UPS
  • Depuis l’affaire MinIO, je vois une forte hausse de l’adoption de Garage
    Le billet comparatif de benchmarks de Repoflow était utile
    RustFS semblait aussi intéressant, mais je l’ai écarté pour des raisons non techniques
    Si vous avez des conseils pour remplacer MinIO, je suis preneur

    • Je ne l’ai pas utilisé moi-même, mais Versity S3 Gateway semble aussi prometteur
      Voir le lien GitHub
      Je serais aussi curieux d’avoir une comparaison avec Ceph S3 Gateway
    • Quelqu’un a demandé pourquoi RustFS avait été écarté
    • D’après les discussions précédentes et mon expérience professionnelle, Garage semble être une alternative stable
    • SeaweedFS a aussi montré de bonnes performances dans les benchmarks
  • Le site officiel de Deuxfleurs a le plus beau design que j’aie vu jusqu’à présent

    • C’est excellent sur le plan artistique, mais la lisibilité et l’accessibilité sont plutôt en retrait
  • J’utilise Garage pour le développement local et les tests
    Avec s5cmd, je peux injecter 15 Go et plus de 60 000 objets en moins de 60 secondes
    En Docker, la réplication d’un environnement de staging avec API, DB, cache et conteneurs d’objets se termine en moins de 2 minutes
    La configuration est très simple et fonctionne de manière stable
    Avant, j’utilisais LocalStack S3, mais le manque de persistance était un problème, et MinIO OSS n’est plus maintenu
    J’ai aussi examiné SeaweedFS et RustFS, mais Garage était le plus simple à mettre en place

  • Garage m’a beaucoup impressionné dans le code de test et les benchmarks
    Le déploiement est simple grâce au binaire unique, et la documentation est bonne
    Mais l’absence de prise en charge des tags d’objets était vraiment regrettable
    Dans l’univers des API cloud, les tags sont une fonctionnalité de base, donc j’aimerais voir ce point amélioré

    • L’équipe de développement a répondu qu’elle appréciait ce retour
  • J’aime vraiment Garage
    C’est utile non seulement comme alternative simple à S3, mais aussi dans des architectures hyperconvergées
    Le fait de lire d’abord les données depuis la machine locale, puis de n’utiliser le réseau qu’en cas de besoin, est très élégant

    • Quelqu’un a demandé avec quelle configuration il était utilisé
  • L’absence d’erasure coding est une perte importante en matière de tolérance aux pannes et d’efficacité

    • Je voulais l’utiliser avec une bibliothèque de bandes LTO, mais le fait qu’il ne fournisse qu’une tolérance aux pannes basée sur la réplication m’inquiétait
      Ma principale préoccupation concernait la manière dont la récupération se ferait en cas de panne matérielle
  • Garage s’est révélé utile dans des scripts de data engineering
    Comme la plupart des outils prennent en charge l’intégration S3, il est facile d’envoyer les données dans Garage puis de monter en charge plus tard vers le cloud

  • J’ai récemment testé Garage
    Après avoir téléversé puis tenté de supprimer environ 300 documents (1 Go), le service S3 a planté dans le conteneur et j’ai dû le redémarrer
    C’est un projet intéressant, mais d’après mon expérience, la fiabilité reste encore insuffisante