Soixante conteneurs sur un seul serveur
Une seule machine bare-metal fait tourner des dizaines à des centaines de conteneurs Hoody. La déduplication KSM et BTRFS rend le coût marginal quasi nul.
Quand un client s'inscrit, un appel API provisionne son environnement isolé. Pas de colonnes tenant_id, pas de YAML namespace — juste un POST qui renvoie une URL conteneur en quelques secondes.
Quand un user s'inscrit, voilà ce qui se passe.
Chaque POST sur /api/v1/projects/{id}/containers démarre un environnement isolé. Un appel, un tenant, une URL renvoyée à votre app.
votre webhook Stripe (ou n'importe quel billing) tape un script Hoody Exec. Pas d'Express, pas de config serveur — juste un fichier dans scripts/.
Le nouveau conteneur a son propre filesystem, sa propre SQLite, son propre ramdisk. Le tenant A ne peut littéralement pas voir les données du tenant B.
La réponse inclut une URL container. votre app redirige le user dans son propre sandbox dans la même fenêtre de déploiement.
Les règles réseau et firewall du conteneur sont copiées depuis votre template. Chaque nouveau tenant démarre depuis la même baseline de sécurité.
Stop le conteneur et il ne coûte rien. BTRFS ne garde que le delta depuis votre template — le disque reste peu cher même à l'échelle.
Un appel DELETE retire le conteneur et toutes ses données. L'offboarding RGPD n'est pas un script, c'est un seul appel HTTP.
Tout le flux est un handler webhook. Pas d'opérateur Kubernetes, pas de YAML namespace, pas d'admin cluster. Trois appels HTTP : webhook in, conteneur out, URL au user.
Les choix traditionnels étaient une colonne sur chaque table ou une flotte de VMs hors budget. Hoody est une troisième forme : des conteneurs assez peu chers pour en donner un à chaque client.
La multi-tenancy cesse d'être un problème d'architecture. Elle devient une commande `cp`.
POST /containers/$TEMPLATE/copyDELETE /containers/$CIDPATCH /containers/$CID [ env_vars ]L'isolation par tenant a historiquement signifié soit un WHERE astucieux, soit un cluster cher. Conteneur-par-client déplace les contournements habituels :
Les clients inactifs ne coûtent rien. Les actifs scalent à la demande. Le tout tourne sur $49 de bare-metal jusqu'à des centaines d'utilisateurs payants.