E tu la utilizzi una CDN per i tuoi assets?

Molti sviluppatori tendono ancora oggi a sviluppare scaricando tutti i vendor nella propria cartellina di assets e distribuendo così la propria repo appesantita e dipendente da files che devono poi essere ricaricati così come sono uguali negli altri progetti che li utilizzano.

Questa inutile ridondanza di assets comuni come librerie e framework JS e CSS porta via tempo nella configurazione, spreco di risorse server, rallentamento del sito e riduzione della scalabilità del progetto stesso.

Oggi esistono tante CDN con tutte le versioni aggiornate (minificate e non, storiche e attuali) di assets comuni (per esempio Bootstrap, jQuery, ecc…) che offrono, oltre a un’alta e garantita disponibilità, anche generalmente un caching geolocalizzato e quindi dei tempi di caricamento immediati che il nostro progetto ospitato sul nostro server non potrà mai equiparare.

In dettaglio esaminiamo quali sono i vantaggi nell’utilizzo di una CDN:

1. Domini diversi

I browser limitano il numero di connessioni simultanee (download dei file) ad un singolo dominio. Alcuni permettono per esempio al massimo 4 connessioni simultanee, in questo modo la quinta verrà bloccata fino a che non sarà completata almeno una delle altre.

Puoi accorgerti di questo problema su un sito con file molto grossi da scaricare.

Per questo i file di una CDN vengono solitamente hostati su domini diversi, in questo modo potrete scaricare 4 file contemporaneamente per ogni dominio.

2. I file possono essere in pre-cache

Come puoi immagine una libreria JS come jQuery è onnipresente sul web, quindi è molto alta la probabilità che qualche utente del tuo sito, abbia già utilizzato una jQuery presente sulla CDN da te scelta (che in genere viene utilizzata anche da migliaia di altri siti piccoli o grossi che siano), in questo caso sarà già presente nella cache del suo browser e non sarà scaricata nuovamente rendendo il sito performante e veloce.

3. High-capacity infrastructures

Puoi avere il miglior hosting del mondo, ma questo non avrà mai la capacità e la scalabilità di di provider che offre una CDN.
Le migliori CDN offrono alta disponibilità, basse latenze e un bassa probabilità di perdita di pacchetti.

4. Datacenter distribuiti

Se il tuo webserver si trova in America ad esempio, gli utenti dell’Europa o dell’Asia dovranno attraversare molti hop, prima di raggiungere il tuo sito. Molte CDN forniscono dei servizi localizzati che sono più vicini agli utenti e permettono accessi più rapidi.

5. Aumento delle performance e risparmio

Innanzitutto una CDN è in grado di distribuire il carico di lavoro, e aumentare così le performance del tuo sito, riducendo i costi del tuo sistema di hosting e la banda utilizzata da esso.

6. “Portabilità” e “scalabilità” di progetto

Il progetto diventa più “trasportabile” e “scalabile” da un server all’altro essendo svincolato ed alleggerito dai vendors CSS e JS.

7. Gestione intelligente

Se sviluppiamo sempre siti in Bootstrap 4 avremo bisogno sempre di includere il suo core e jQuery in tutti i nostri progetti… così come magari i vendor comuni che usiamo quali per esempio modernizer o polyform ecc… trovo personalmente quindi alquanto “stupido” dover riscaricare di volta in volta il pacchetto vendor e copiarlo nel workspace di lavoro… trovo invece molto più intelligente utilizzare una CDN e scrivere quindi una sola riga di link all’interno del mio codice che mi porti dentro i vendor sia in locale che in remoto.
 

Conclusioni
Tra le CDN che mi sento di consigliare ci sono: cdnjs.com/ e la mia personale CDN distribuita sui server di Cloudflare, allyoucan.cloud/cdn.