Ottimizzazione delle immagini in self-hosting: i compromessi onesti
Il consiglio predefinito per le immagini è un servizio gestito: Cloudinary, imgix, e simili. Quel consiglio è spesso corretto, e questo non è un post “il SaaS fa schifo”. È uno sguardo onesto sul compromesso, da un progetto che sta dalla parte del self-hosting.
Cosa ti danno davvero i servizi gestiti
- Nessuna operatività da gestire. Niente server, niente toolchain di encoder, nessuna CDN da configurare. Funziona dal giorno in cui ti iscrivi.
- Trasformazioni all’edge, globalmente. Ridimensionamento, ritaglio, negoziazione del formato al volo, in cache in centinaia di punti di presenza. Difficile da eguagliare senza un’infrastruttura vera.
- Qualcun altro si occupa delle parti difficili: nuovi formati, bug degli encoder, scalabilità sotto un picco di traffico.
Per un piccolo team senza persone dedicate all’infrastruttura, vale la pena pagare per questo. Non fare self-hosting solo per dimostrare qualcosa.
Dove il modello gestito diventa costoso, e non solo in termini economici
L’attrito emerge lungo tre assi man mano che cresci:
- Costo che scala con il successo. I servizi di immagini gestiti misurano il consumo su un mix di trasformazioni, asset archiviati e banda. La tua fattura cresce con il traffico, e l’economia unitaria la fissa il fornitore, non tu. Un progetto amatoriale è gratis; uno popolare è una voce di costo che sale soltanto.
- Le tue immagini escono dal tuo controllo. Ogni asset, e ogni upload degli utenti, passa attraverso l’infrastruttura di terze parti e viene messo in cache lì. Per alcuni prodotti è un problema di privacy, conformità o contrattuale, non una preferenza.
- Ottimizzi a modo loro. Ottieni le manopole di qualità che il fornitore espone. Se vuoi puntare a una qualità percettiva per immagine invece che a un’impostazione fissa (la differenza tra distribuire qualità coerente e distribuire una supposizione), ottieni quello che offre la piattaforma.
Nessuno di questi è un motivo per andarsene il primo giorno. Tutti sono motivi per cui il calcolo si ribalta a una certa scala.
Le opzioni self-hosted oggi sono concrete
Fare self-hosting significava un tempo incollare ImageMagick a una cache e sperare. Gli strumenti attuali sono solidi:
- imgproxy e Thumbor: server di ridimensionamento/trasformazione al volo che gestisci tu.
- wsrv.nl (images.weserv.nl): una CDN di immagini open source che puoi ospitare tu stesso.
- Patu: un’API di ottimizzazione che ospiti tu, con qualità mirata a un punteggio percettivo, con un livello CDN.
Metti una CDN davanti a uno qualsiasi di questi e hai l’esperienza gestita, sul tuo calcolo, con un costo che è la tua bolletta server invece di un contatore per immagine.
Cosa costa davvero il self-hosting
L’onestà taglia in entrambe le direzioni. Il self-hosting non è gratis in termini di sforzo:
- Lo gestisci tu. Uptime, scalabilità sotto carico, la CDN, e mantenere aggiornata la toolchain degli encoder sono ora compiti tuoi.
- Ti serve una cache. Ottimizzare bene è pesante per la CPU: una ricerca di qualità su una foto grande non è economica. Ricodificare lo stesso asset a ogni richiesta è il classico errore del self-hosting; l’intero modello dipende dal codificare una volta e servire da cache/CDN.
- Ti prendi in carico i casi limite. Un upload corrotto, un’immagine patologica, un nuovo formato: nessun fornitore li assorbe al posto tuo.
Il vantaggio è un costo prevedibile che non scala con il traffico, dati che non lasciano mai l’infrastruttura che controlli, e la libertà di ottimizzare esattamente come vuoi.
Come decidere davvero
- Nessun team di infrastruttura, le immagini sono incidentali al prodotto → gestito. È la scelta giusta, senza scuse.
- Le immagini sono centrali, il traffico è reale, o la fattura per immagine ha iniziato a far male → self-hosting, con una cache e una CDN.
- Upload degli utenti che non puoi inviare a terzi, o una soglia di qualità specifica che vuoi mantenere → self-hosting, ed è meno una decisione di costo che di controllo.
Patu esiste per il secondo e il terzo caso: lo stesso risultato che ti dà un servizio gestito (AVIF-first, con qualità mirata, dietro una CDN) su un’infrastruttura che gestisci tu, con un prezzo da software invece che da contatore. Se sia il compromesso giusto è una decisione che spetta davvero a te; questo post esiste perché tu la prenda con i compromessi reali davanti, non con la versione marketing.
Patu è trasparente sul fatto di essere una delle tante opzioni; i progetti linkati sopra sono le alternative reali, e la scelta giusta dipende dal tuo team, dal traffico e dai vincoli sui dati, non da quale post hai letto per ultimo.