Indice dei contenuti dell'articolo:
CDN sta per Content Delivery Network . Che cos’è? Ne abbiamo bisogno? Parliamo dell’importanza di questo tipo di tecnologia e di come migliorare le prestazioni di un sito Web utilizzando questo approccio.
Immagina di aver appena lanciato un negozio online con 10 prodotti che vendi a un pubblico locale. Vai tranquillo. Ospiti il
Tuttavia, sarai abbastanza sereno e non ti starai sicuramente preoccupando per i clienti che arrivano dal Brasile, dagli Stati Uniti o dal Giappone, perché appunto non hai questi clienti.
Niente di cui preoccuparsi, giusto? Sì, finché non raggiungi il livello di crescita successivo.
Immagina inoltre che in un anno il tuo negozio web sia cresciuto e ora hai 10000 prodotti venduti a livello globale, verso destinazioni remote. Anche se il nostro pianeta non è così grande, dobbiamo comunque considerare la connessione fisica a Internet.
Il tuo sito che è ospitato in un datacenter italiano inizia ad avere molte molte viste non solo dal tuo pubblico locale di riferimento ma anche traffico internazionale, tra cui i paesi precedentente citati.
È qui che entra in gioco la CDN. Ci aiuta a connetterci con i nostri utenti ovunque sul pianeta. Che tu abbia un negozio online, un sito web aziendale, un notiziario o un blog. Se vendi lontano, devi consegnare le immagini dei tuoi prodotti ai tuoi clienti a una velocità adeguata. In alternativa, la tua attività ne risente.
Perché usare una CDN?
Mettiamola semplice. Più a lungo il caricamento della tua pagina dopo che un utente lo richiede, è meno probabile che acquisti da te o addirittura rimanga sul tuo sito web.
Un ritardo di un secondo nel tempo di caricamento della pagina produce: 11% in meno di visualizzazioni di pagina, 16% in meno di soddisfazione del cliente, 7% in meno di conversioni. crazyegg.com
Questo fastidioso ritardo è chiamato latenza, un punto in cui si verificano tutti i drop-off del sito web.
Pertanto, la CDN è stata inventata per ridurre la distanza fisica tra l’utente del sito Web e il server di hosting del sito Web.
Oltretutto bisogna tener conto che ormai da oltre un anno la velocità del sito è diventata un importantissimo fattore di ranking e posizionamento a livello SEO. Google ha specificato in modo ufficiale come un sito che sia conforme ai Core Web Vitals e superi i test sul campo, abbia maggiore visibilità e posizionamento dai motori di ricerca.
Una CDN insomma può aiutare in modo tangibile l’ottimizzazione e il miglioramento di questi parametri e produrre un’esperienza utente ottimale in grado di superare i test dei Core Web Vitals sia per dispositivi Desktop che soprattutto Mobile, dispositivi quest’ultimi come smartphone e table che sono ormai la fonte di traffico principale per oltre l’80% del traffico internet.
Un po’ di tecnicismi ma non troppi
Principalmente parlando, CDN è un gruppo di server collocati in luoghi diversi in tutto il mondo. Per ridurre al minimo la distanza fisica tra il tuo sito Web e il tuo utente, puoi scegliere di consegnarlo tramite CDN che memorizzerebbe nella cache una copia del tuo contenuto su ciascuno dei loro server.
I nodi CDN sono generalmente distribuiti in più posizioni, spesso su più dorsali Internet. I vantaggi includono la riduzione dei costi della larghezza di banda, il miglioramento dei tempi di caricamento delle pagine e l’aumento della disponibilità globale dei contenuti. Il numero di nodi e server che compongono una CDN varia a seconda dell’architettura, alcuni raggiungono migliaia di nodi con decine di migliaia di server su molti punti di presenza remoti (PoP). Altri costruiscono una rete globale e hanno un piccolo numero di PoP geografici. [4]
Le richieste di contenuto sono in genere indirizzate algoritmicamente a nodi che sono in qualche modo ottimali. Durante l’ottimizzazione delle prestazioni, è possibile scegliere le posizioni migliori per offrire contenuti all’utente. Questo può essere misurato scegliendo le posizioni che sono il minor numero di hop, il minor numero di secondi di rete dal client richiedente o la disponibilità più alta in termini di prestazioni del server (sia attuali che storiche), per ottimizzare la consegna attraverso le reti locali. Quando si ottimizza il costo, è possibile invece scegliere le località meno costose. In uno scenario ottimale, questi due obiettivi tendono ad allinearsi, poiché i server perimetrali vicini all’utente finale ai margini della rete possono avere un vantaggio in termini di prestazioni o costi.
La maggior parte dei fornitori di CDN fornirà i propri servizi su un insieme variabile e definito di PoP, a seconda della copertura desiderata, come Stati Uniti, Internazionale o Globale, Asia-Pacifico, ecc. Questi insiemi di PoP possono essere chiamati “edge”, ” nodi perimetrali”, “server periferici” o “reti perimetrali” in quanto sarebbero l’edge più vicino delle risorse CDN all’utente finale.
Come implementare una CDN?
La prima cosa che devi fare è scegliere tra la grande varietà di opzioni. Soprattutto, devi considerare le tue esigenze e risorse poiché l’implementazione potrebbe richiedere molto tempo e denaro.
- CDN per siti Web di grandi dimensioni ad alto carico. Scegli un provider CDN di grandi dimensioni e configuralo manualmente per il tuo sito web. Ci sono molte diverse soluzioni per questo sul mercato. CloudFlare, Google CDN, MaxCDN, Amazon CloudFront, CoralCDN solo per citarne alcuni. Dovresti configurare la connessione tra il tuo provider di hosting e la CDN di tua scelta.
- CDN per siti Web di piccole e medie dimensioni. Scegli un hosting con CDN se il tuo sito web non è così grande e non cresce molto su base giornaliera. Adatto per siti Web aziendali, blog, siti Web personali. Alcune società di hosting forniscono CDN come parte del loro servizio. In effetti questa opzione è eccellente per siti Web di piccole e medie dimensioni. Puoi attivare questa opzione abbastanza rapidamente quando ne hai bisogno.
- CDN per scalabilità rapida e automazione. CDN di nuova generazione, si adatta a tutte le taglie. Perfetto per aziende in rapida crescita, startup e attività di scalabilità rapida. Scegli una soluzione SaaS basata su CDN se hai la possibilità di sperimentare una rapida crescita o se desideri risparmiare sull’implementazione. Questo tipo di CDN ha anche un vantaggio di funzionalità che porta con sé quando ti iscrivi.
Ad esempio, una Image Processing CDN può aiutarti a elaborare le tue immagini, per eseguire il ridimensionamento e l’ottimizzazione o magari anche fornire formati ottimizzati come Webp ai client browser compatibili.
Ancora più vantaggi
Oltre alla distribuzione mondiale e alla latenza incantata, ci sono alcuni altri vantaggi che CDN può fornire:
- Miglioramento SEO. Google e altri motori di ricerca amano i siti Web veloci ed efficienti. La velocità è tra il più importante fattore di ranking per la SEO di Google. Migliore è la velocità, maggiore è la possibilità di visualizzare un sito Web nella ricerca. Quindi, quindi, più contatti e vendite che può acquisire.
- Scalabilità. Protegge il tuo sito Web da picchi di traffico che possono impedire al tuo sito Web di rispondere. I tuoi utenti finali non sarebbero affatto interessati.
- Sicurezza. Qualsiasi sito Web può imbattersi in attacchi DDoS o simili. CDN può risolvere questo problema abbastanza facilmente.
Infine, ma non meno importante, qualsiasi crescita di esperienza aziendale di successo che porti alla crescita del traffico verso il sito Web e a una maggiore attenzione del pubblico. Suggerirei di esaminare CDN all’inizio della creazione del tuo sito Web in quanto sarebbe molto più semplice pianificare, scegliere un provider e implementarlo in base alle tue esigenze aziendali.
Tuttavia, il modo più semplice per testare i vantaggi della CDN sarebbe utilizzare le soluzioni SaaS CDN in cui a fronte di un canone di abbonamento ci si garantisce un utilizzo del servizio senza dover implementare tutto lo stack tecnologico da zero.
Accortezze da tenere in considerazione e sfatiamo i luoghi comuni
L’utilizzo di CDN e la popolarità delle stesse hanno però creato un bias cognitivo piuttosto importante nei proprietari dei siti internet, editori, commercianti ed anche parecchi addetti ai lavori come sviluppatori, SEO e persino hoster.
Il concetto di base è quello avendo attiva una CDN o un servizio di CDN automaticamente il sito sia veloce e soddisfi i requisiti di Google e dei visitatori.
Per comprendere meglio questo fenomeno e questa errata convinzione voglio proporvi un caso reale di un nostro ex cliente che ha pensato di cambiare fornitore Hosting e di attivare una CDN come CloudFlare.
Nella prima colonna a sinistra vediamo i valori ottenuti sul nostro Hosting senza l’utilizzo di alcuna CDN, nella colonna di destra vediamo invece i valori ottenuti dopo il passaggio ad un fornitore comune senza aver attivato una CDN.
Nel caso specifico ne abbiamo parlato in questo articolo, Gli hosting WordPress non sono tutti uguali basti comunque tenere conto che dopo il passaggio il sito è diventato dalle 4 alle 8 volte più lento con tutte le conseguenze lato SEO e di traffico che ne conseguono.
Insomma, per fare un esempio è come dire che siccome abbiamo montato le nuove cinture di sicurezza e abbiamo i nuovi freni a disco in ceramica, possiamo permetterci di andare a 300 all’ora in centro abitato con la convinzione di essere sicuri. La realtà è ben altra ed i fatti sono sempre chiari per chi ha il buon senso di misurare per decidere, ed onestà intellettuale da ammettere col senno di poi di aver preso un granchio.
Una CDN non potrà mai sostituire un Hosting veloce e ben equipaggiato di tutte le feature degne di uno stack software orientato alle performance. Nella migliore delle ipotesi potrà limitare alcuni problemi di uno stack software non efficiente.
Oltretutto va anche detto che una CDN a livello professionale ha dei costi flat o a consumo che sono di gran lunga maggiori di quelli di affidare il proprio sito ad un’azienda come la nostra che siamo da sempre orientati alle performance.
Andiamo ad esempio a sfatare alcuni dei luoghi comuni sulle CDN di seguito.
1. Le CDN hanno funzionalità di Cache HTML e possono sostituire cache come Varnish.
L’affermazione è verosimilmente corretta e quasi sempre vera. Una CDN con funzionalità di Cache HTML può sostituire Varnish e funzionare allo stesso identico modo. In molti casi una CDN di questo tipo utilizza proprio Varnish Cache o NGINX FastCGI Cache e pertanto si tratta solo di far fare ad altri (in questo caso il fornitore di CDN) qualcosa che avremmo potuto fare noi stessi sul nostro server a costi minori e con un estremo grado di personalizzazione e tuning.
Ovviamente questo è vero laddove una CDN abbia anche la funzione di Cache HTML e non solo la funziona di Content Delivery di contenuti statici. Molti sviluppatori, sistemisti ed addetti ai lavori, ad esempio, sono ancora convinti che CloudFlare nel piano Free abbia la funzione di Cache HTML quando ciò non è assolutamente vero ed è uno dei motivi per cui quell’ex cliente che abbiamo sopra menzionato lo screenshot prima / dopo cambio fornitore pensa di risolvere delle problematiche di tuning e velocità utilizzando una CDN come Cloudflare che non offre di default una cache HTML.
2. Le CDN permettono di risparmiare costi di traffico importanti.
Anche qui l’affermazione ha senso in base a casi specifici e prendere per vero questa affermazione potrebbe portarti una lievitazione dei costi anche nell’ordine di decine di migliaia di euro al mese.
Il ragionamento da fare sarebbe specifico caso per caso, situazione per situazione, ma come regola comune vale la pena ragionare nell’ottica valutare e ponderare il costo del traffico sul nodo di origine e il costo del traffico in uscita dalla CDN, tenendo in considerazione il costo di piani eventualmente Flat rispetto a costi di piani a consumo o pay per use, e valutando anche i costi dei vari fornitori.
Ad esempio, avere una CDN come CloudFront di Amazon AWS avanti ad un server dedicato su Hetzner avrebbe senso pratico prossimo al nulla, se non quello di avere dei costi spropositati, considerando (conto della serva a seguire) che 50TB al mese in uscita verso l’Europa su CloudFront di Amazon costerebbe almeno 4000 euro al mese.
Anche tirando in ballo gli altri principali competitor che potete vedere nell’immagine sopra, la differenza è veramente minima, e ci si aggira comunque intorno allo stesso presso considerando che essendo competitor di fascia enterprise hanno anche listini e prezzi piuttosto simili.
Gli stessi 50TB in uscita però su Hetzner sono inclusi GRATUITAMENTE su tutti i piani di server dedicato che hanno un range indicato tra i 40€ ed i 200€ al mese in base alle caratteristiche hardware del server dedicato.
Ragionando in ottica di risparmio invece, su CloudFlare il traffico in uscita è incluso gratuitamente sia nei piani Free,Pro che Business e pertanto qualora stessimo ragionando in ottica di CDN per contenuti statici, avrebbe senso in ottica di risparmio dei costi usare Cloudflare come CDN per istanze AWS come Elastic Cloud ad esempio.
Per CDN con piani a consumo come AKAMAI, QUIC.Cloud, CloudFront, e simili vale sempre la regola di fare molto ma molto bene i calcoli, considerando che un sito con molto traffico e molte richieste basta già che per errore il grafico carichi un’immagine ad alta risoluzione immaginate una classica 4000 x 3000 in formato PNG non ottimizzato, per aumentarvi la bolletta mensile di oltre 3000 euro (ci riferiamo ad un caso vissuto da un nostro cliente).
3. Le CDN migliorano il punteggio PageSpeed e la velocità del sito.
Anche qui il discorso è molto generico e molto va valutato in base al tipo di CDN adoperata ed alle funzionalità abilitate. Raramente le funzioni che offrono una CDN non possono essere replicate lato server con una giusta configurazione lato server ed applicativo. Pensiamo ad esempio al serving condizionale delle immagini webp, c’è chi attiva una CDN appositamente per adempiere a questa funzionalità, quanto basterebbero 6 righe di configurazione scritte ad hoc nel file di configurazione del virtual host in NGINX o Apache ed un plugin per la generazione delle rispettive webp come, ad esempio, webp express per WordPress.
Spesso le CDN sono solo delle mezze misure adottate da figure tecniche incompetenti che non sanno come svolgere correttamente il loro mestiere e preferiscono delegare a soluzioni terze quelle che altre figure competenti riuscirebbero ad implementare in 30 minuti di lavoro.
Ricordando sempre che si possono ottenere risultati perfetti senza l’ausilio di CDN di terze parti se si ha la competenza di sapere cosa si stia realmente facendo.
Anche quando si lavora con CMS non banali come Prestashop o Magento, o addirittura con sistemi custom di cui non c’è disponibilità di soluzioni preconfezionate per la generazione di immagini webp, un sistemista professionista troverà il modo di gestire questa necessità in autonomia, senza ricorrere a tecnologie esterne e piattaforme di CDN SaaS, ed a costi quasi gratuiti.
4. Le CDN vanno usate ogni volta che hai molto traffico internazionale.
Anche questa è una leggenda metropolitana priva di ogni fondamento. La differenza tra un visitatore tedesco che si connette dalla Germania al tuo server italiano, rispetto all’utente italiano che si connette al server italiano è praticamente nulla.
Parlare di paese e sostenere che ci siano differenze tra un francese, un tedesco, un belga, uno spagnolo, un finlandese, un greco, uno svizzero che accede allo stesso server in italia, è solo un esercizio di stile teorico o un elegante approccio commerciale per cercare di vendere una CDN.
Nella migliore delle ipotesi si potranno ottenere 10ms in più o in meno di latenza, che messi nel conto totale potrebbe significare niente, se ad esempio risparmi 10ms di latenza, ma ci si ostina a servire immagini PNG non ottimizzate con le rispettive webp o non si abilita la compressione BROTLI preferendo l’ormai obsoleta e vetusta compressione gzip (comunque meglio di niente).
Le CDN hanno invece molto senso quando ci si trova a che fare con traffico intercontinentale. Uno statunitense, un brasiliano, un cinese o un giapponese che si connettono al nostro server in Italia avranno dei valori e delle latenze molto differenti tra loro ed in alcuni casi sicuramente al di sotto del valore minimo accettabile da Google o dall’esperienza utente di un qualsiasi valore.
In questo caso valutare una CDN è sicuramente un dovere di ogni sistemista o sviluppatore che abbia a cuore il business del cliente e la propria professionalità.
In conclusione, quando potresti fare a meno di usare una CDN?
Ogni caso è un caso a se come abbiamo finora più volete evidenziato. Tuttavia, ci sono delle condizioni che se soddisfatte possono evitarti di dover utilizzare una CDN che risulterebbe di fatto inutile.
Va considerato sempre che comunque una CDN è pur sempre un servizio che lavora tra il tuo sito e il tuo visitatore spesso utilizzando la funzione di reverse proxy come nello schema sotto riportato.
Pur considerando l’estrema stabilità di queste tecnologie e di queste piattaforme di Content Delivery Network, bisogna sempre tener presente che anche la più autorevole ed adottata CDN Enterprise come CloudFlare può subire dei downtime anche importanti e portare offline il vostro sito ed il vostro business, che non sarebbe stato offline qualora non aveste installato una CDN con una reale motivazione.
Ecco, dunque, un breve decalogo a cui dovresti risponderti se sei indeciso se adottare una CDN o meno.
- Il tuo sito utilizza una Cache statica come Varnish o NGINX FastCGI Cache?
- Il tuo sito ha un TTFB inferiore ai 200ms ?
- Il tuo sito utilizza la compressione BROTLI per le risorse statiche come JS e CSS?
- Il tuo sito utilizza la delivery di immagini Webp o AVIF rispetto alle classiche JPG e PNG?
- Il tuo sito ha principalmente traffico continentale per oltre il 90% delle richieste e delle visite? Per continentale si intende in questo caso Europeo.
- Il tuo sito non satura la banda in uscita (di norma 1gbit /s nelle soluzioni dedicate sia Cloud che Server) ?
Se a tutte queste domande hai risposto con un SI e sei certo di non volere costi aggiuntivi nell’ordine di almeno 200€ / mese circa, potresti tranquillamente evitare l’utilizzo di una CDN al fine di fare delivery dei contenuti.
Se hai risposto invece diversi NO, ti consigliamo in primis di cambiare fornitore di Hosting (probabilmente ti stai fornendo da aziende con gestione amatoriale che non fanno altro che rivenderti qualche soluzione con Plesk e cPanel) con il nostro servizio di Hosting orientato alle performance e solo seguentemente valutare l’adozione di una CDN.