Auto-héberger l'optimisation d'images : les compromis, sans filtre
Le conseil par défaut pour les images, c’est un service managé : Cloudinary, imgix, et consorts. Ce conseil est souvent juste, et ceci n’est pas un article « le SaaS c’est mal ». C’est un regard honnête sur le compromis, depuis un projet situé du côté auto-hébergé.
Ce que les services managés apportent réellement
- Aucune opération à gérer. Pas de serveurs, pas de chaîne d’encodeurs, pas de CDN à configurer. Ça marche le jour où vous vous inscrivez.
- Des transformations en périphérie, partout dans le monde. Redimensionnement, recadrage, négociation de format à la volée, mis en cache dans des centaines de points de présence. Difficile à égaler sans une vraie infrastructure.
- Quelqu’un d’autre porte les parties difficiles : les nouveaux formats, les bugs d’encodeur, la montée en charge lors d’un pic de trafic.
Pour une petite équipe sans personne dédiée à l’infrastructure, ça vaut le coup de payer pour ça. Ne vous auto-hébergez pas juste pour prouver quelque chose.
Où le modèle managé devient coûteux (et pas seulement en argent)
La friction apparaît sur trois axes à mesure que vous grandissez :
- Un coût qui grandit avec le succès. Les services d’images managés facturent sur un mélange de transformations, d’assets stockés et de bande passante. Votre facture grandit avec votre trafic, et l’économie unitaire est fixée par le fournisseur, pas par vous. Un projet perso est gratuit ; un projet populaire devient un poste de dépense qui ne fait qu’augmenter.
- Vos images quittent votre contrôle. Chaque asset, et chaque upload utilisateur, transite par l’infrastructure d’un tiers et y reste en cache. Pour certains produits, c’est un problème de confidentialité, de conformité ou contractuel, pas une préférence.
- Vous optimisez à leur façon. Vous n’avez que les curseurs de qualité que le fournisseur expose. Si vous voulez cibler une qualité perceptuelle par image plutôt qu’un réglage fixe (la différence entre livrer une qualité cohérente et livrer une estimation), vous prenez ce que la plateforme propose.
Aucun de ces points n’est une raison de partir dès le premier jour. Ce sont tous des raisons pour lesquelles le calcul s’inverse à une certaine échelle.
Les options auto-hébergées sont sérieuses aujourd’hui
Auto-héberger voulait dire coller ImageMagick à un cache et espérer. Les outils actuels sont solides :
- imgproxy et Thumbor : des serveurs de redimensionnement et de transformation à la volée que vous faites tourner vous-même.
- wsrv.nl (images.weserv.nl) : un CDN d’images open source que vous pouvez auto-héberger.
- Patu : une API d’optimisation que vous hébergez, ciblée en qualité par score perceptuel, avec une couche CDN.
Mettez un CDN devant n’importe lequel d’entre eux, et vous avez l’expérience managée, sur votre propre calcul, avec un coût qui est votre facture serveur plutôt qu’un compteur par image.
Ce que l’auto-hébergement coûte réellement
L’honnêteté joue dans les deux sens. Auto-héberger n’est pas gratuit en effort :
- Vous le faites tourner. La disponibilité, la montée en charge, le CDN, et le maintien à jour de la chaîne d’encodeurs sont désormais de votre ressort.
- Il vous faut un cache. Bien optimiser consomme beaucoup de CPU : une recherche de qualité sur une grande photo n’est pas gratuite. Réencoder le même asset à chaque requête est l’erreur classique de l’auto-hébergement ; tout le modèle repose sur un encodage unique, servi ensuite depuis le cache ou le CDN.
- Les cas limites sont à vous. Un upload corrompu, une image pathologique, un nouveau format : aucun fournisseur n’absorbe ça à votre place.
La récompense, c’est un coût prévisible qui ne grandit pas avec votre trafic, des données qui ne quittent jamais une infrastructure que vous contrôlez, et la liberté d’optimiser exactement comme vous le voulez.
Comment trancher, concrètement
- Pas d’équipe infra, les images sont accessoires au produit → managé. C’est le bon choix, sans complexe.
- Les images sont centrales, le trafic est réel, ou la facture par image commence à faire mal → auto-hébergement, avec un cache et un CDN.
- Des uploads utilisateurs que vous ne pouvez pas envoyer à un tiers, ou un niveau de qualité précis que vous voulez tenir → auto-hébergement, et c’est moins une décision de coût qu’une décision de contrôle.
Patu existe pour les deuxième et troisième cas : le même résultat qu’un service managé vous donne (AVIF en premier, qualité ciblée, derrière un CDN), sur une infrastructure que vous faites tourner, au prix d’un logiciel plutôt que d’un compteur. Savoir si c’est le bon compromis, c’est à vous de le décider ; cet article existe pour que vous le fassiez avec les vrais compromis sous les yeux, pas la version marketing.
Patu assume être une option parmi d’autres ; les projets liés ci-dessus sont de vraies alternatives, et le bon choix dépend de votre équipe, de votre trafic et de vos contraintes de données, pas du dernier article que vous avez lu.