Che cos'è un CDN, come funzionano e perché dovresti usarne uno?!

Pubblicato: 2016-03-22

Immagina un mondo in cui ogni pagina web viene caricata istantaneamente, senza un solo millisecondo di attesa. Sebbene ciò non sia ancora possibile, stanno emergendo tecnologie che ci aiutano ad avvicinarci di più.

Una rete di distribuzione dei contenuti (o CDN in breve) è uno dei passi verso il raggiungimento di questo obiettivo.

In questo articolo, spiegherò cos'è una CDN, come si confronta un modello CDN con il modello di web hosting tradizionale, discuterò i pro e i contro dell'utilizzo di una CDN per il tuo sito web e, infine, ti mostrerò come avviare il tuo sito web. con un CDN.

Cos'è un CDN?

Una CDN è un sistema di server web, geograficamente dispersi in tutto il mondo, ognuno dei quali ospita una copia del tuo sito web, al fine di migliorare il modo in cui i tuoi contenuti vengono forniti ai tuoi utenti.

Qual è lo scopo principale di una CDN?

Lo scopo principale di una CDN è servire i contenuti del tuo sito web in modo più efficiente ( cioè più veloce ) agli utenti finali.

Se utilizzi una CDN, quando un utente carica il contenuto del tuo sito web, il server CDN più vicino all'utente fornirà quel contenuto.

Poiché il contenuto ha una distanza minore da percorrere, arriva all'utente più velocemente, il che significa che i tempi di caricamento del tuo sito web sono più rapidi!

Come vedremo però, questo non è l'unico vantaggio di utilizzare una CDN!

Come funziona una CDN?

Come abbiamo già discusso, quando utilizzi una CDN come parte della configurazione del tuo hosting web, ciascuno dei server della rete ospita una copia del tuo sito web.

Questi server CDN sono chiamati server “edge” perché si trovano ai margini della rete e più vicini agli utenti.

Questo è in contrasto con il server “di origine”, che viene fornito dalla tua società di web hosting ed è dove i tuoi file vengono automaticamente caricati e archiviati, quando crei e aggiorni il tuo sito web.

Diagramma di base di come funziona una CDN.

Forse ti starai chiedendo come arriva il tuo sito web dal server di origine a questi server periferici?

Beh, dipende se il tuo è un CDN push o pull

Cos'è Pull CDN (e come funziona)?

Una configurazione pull CDN funziona estraendo i file dal server di origine , come e quando sono necessari.

La prima volta che un utente richiede un file, l'edge server dovrà leggere il file dal tuo server di origine (ovvero il tuo attuale provider di hosting).

Il server periferico memorizzerà quindi una versione memorizzata nella cache di quel file. Una versione “memorizzata nella cache” significa semplicemente una copia del file da quel particolare momento nel tempo.

Le future richieste del file arriveranno direttamente dal server periferico (anziché essere prelevate dal server di origine), fino alla scadenza del file (diventa obsoleto).

Dopo la scadenza, il file dovrà essere nuovamente aggiornato dal server di origine e memorizzato nella cache.

Cos'è un Push CDN (e come funziona)?

Una CDN push consente agli utenti di caricare (“push”) i propri file sulla CDN stessa e i file vengono poi immediatamente distribuiti ai server periferici, una volta caricati.

Quindi i tuoi file sono già archiviati su ogni edge server, senza bisogno di essere estratti da un server di origine.

Questa è un'opzione meno comune; tuttavia, è vantaggioso per la distribuzione di file multimediali di grandi dimensioni , poiché una copia dei media verrà sempre archiviata sui server periferici.

Una CDN sostituisce il tuo web hosting?

No, un CDN non sostituisce il tuo web hosting . Lavorano insieme.

I tuoi file originali sono tutti archiviati sul server del tuo host web. Questo è il server di origine.

I server CDN contengono solo copie dei file sul server di origine.

Se ti sbarazzi del tuo web hosting, la CDN non avrà nessun posto da cui copiare i file!

Riepilogo video di una CDN

Se sei ancora un po' confuso, ecco un breve video che spiega una CDN in termini molto semplici:

Cos'è un CDN?

Il problema del web hosting senza CDN

Con il modello di web hosting tradizionale, tutti i file del tuo sito web (HTML, CSS, immagini, ecc.) sono ospitati in un'unica posizione nel mondo, praticamente ovunque si trovi il data center del tuo provider di web hosting.

Quando gli utenti finali accedono al tuo sito web, i contenuti del sito vengono sempre recuperati da questa posizione .

Ci sono diversi svantaggi in questo:

1. Le velocità diminuiscono con la distanza

Se il data center del tuo provider di hosting web si trova in Texas, ogni volta che un utente desidera caricare il tuo sito web, il contenuto verrà consegnato da quel data center del Texas.

Le velocità di trasferimento tendono a diminuire quanto più l'utente si trova geograficamente dal tuo server, poiché i file devono percorrere una distanza maggiore. Più un utente si trova dal data center, più tempo impiegherà il caricamento del tuo sito web.

Pertanto, un utente di un sito Web nel Regno Unito caricherà il tuo sito Web più lentamente di un utente negli Stati Uniti, a causa della vicinanza al data center del Texas.

2. Tassi di trasferimento limitati

Considera una situazione in cui più utenti tentano di caricare il tuo sito web contemporaneamente.

Proprio come il tuo personal computer ha limitazioni sulla velocità con cui i file possono essere trasferiti attraverso la rete (velocità di throughput), anche i server hanno limitazioni sulla velocità con cui possono trasferire i file.

Il tuo attuale web hosting è preparato per un tale picco di traffico?

Considera in particolare le soluzioni di hosting condiviso, in cui le velocità di trasferimento non sono specificate. In questi e altri ambienti, le velocità di trasferimento possono essere piuttosto limitate, il che può comportare un notevole impatto sulle prestazioni in caso di aumento del traffico verso il tuo sito web.

Per questi motivi, un aumento del traffico può aumentare i tempi di caricamento del tuo sito web, poiché il contenuto del sito web viene inviato a tutti gli utenti finali contemporaneamente.

I vantaggi dell'utilizzo di una CDN

Con un modello CDN possiamo superare gli svantaggi del modello di web hosting tradizionale. Infatti, una CDN presenta diversi vantaggi, tra cui:

1. Tempi di caricamento più rapidi (offrendo contenuti dal server più vicino all'utente)

Ricorda che più l'utente si trova dal datacenter del tuo provider di hosting, più tempo impiegherà il caricamento del tuo sito web, poiché i file devono essere trasferiti a una distanza maggiore.

Una CDN servirà i contenuti da un server edge che è il più vicino o il più efficiente per ogni singolo utente finale, in base a dove si trova nel mondo.

Ad esempio, se qualcuno in Cina caricasse il tuo sito web, la CDN potrebbe caricare automaticamente una copia del contenuto del tuo sito web da un server in Cina. Se qualcuno dovesse accedere al tuo sito dal Regno Unito, potrebbe essere utilizzato un server nel Regno Unito per caricare il tuo sito web su quell'utente specifico.

La CDN determinerà automaticamente quale server è la scelta più efficiente per ciascun utente finale.

Diagramma di un modello di hosting tradizionale rispetto a un modello CDN.

2. Migliore gestione dei picchi di traffico (tramite trasferimento disperso di file)

Come accennato in precedenza, i server contengono restrizioni sulla quantità di dati che possono essere trasferiti attraverso di essi contemporaneamente. Una CDN aiuta a migliorare le prestazioni del tuo sito web quando più utenti tentano di accedervi contemporaneamente.

Data la natura del funzionamento della CDN, le richieste simultanee al tuo sito web verranno probabilmente gestite da più server in più aree in tutto il mondo, a seconda della provenienza delle richieste.

In questo modo, un determinato server non viene inondato da tutte le richieste degli utenti. I fornitori di CDN implementeranno anche altre procedure per garantire che i tuoi file vengano caricati in modo efficiente anche in caso di picchi di traffico.

3. Migliore sicurezza (tramite mitigazione e protezione DDoS)

Un attacco DDoS avviene quando il tuo server viene inondato di richieste illegittime per il tuo sito web, con lo scopo di mandare in crash il tuo sito o di causare un aumento dei costi di larghezza di banda a causa di un trasferimento eccessivo.

Il tuo provider CDN offrirà probabilmente meccanismi di rilevamento e mitigazione DDoS, che ti aiuteranno a migliorare le prestazioni e il tempo di attività del tuo sito web in caso di attacco DDoS.

Gli svantaggi dell'utilizzo di una CDN

Ci sono tuttavia un paio di svantaggi nell’usare una CDN.

1. Costo: i CDN sono generalmente a pagamento

I fornitori di CDN spesso addebitano costi in base alla quantità di contenuti trasferiti. Per questo motivo, il costo mensile varia di mese in mese .

Il tuo attuale provider di web hosting potrebbe già includere un certo importo di trasferimento mensile come parte del tuo attuale pacchetto di hosting; pertanto, dovrai considerare se il costo aggiuntivo della CDN è sostenibile per la presenza online della tua azienda.

Tieni presente che i fornitori “push CDN” spesso fanno pagare anche lo spazio di archiviazione (vedi sotto).

Per aiutarti a capire quanto ti costerà passare al cloud, considera il seguente scenario...

Supponiamo che la dimensione del tuo sito web sia di 1 MB e che il tuo provider CDN addebiti $ 0,085/GB di trasferimento. Il costo di 10.000 utenti che accedono all'intero sito web sarebbe: ((1/1024)×10.000) ÷ 0,085 = 114 centesimi, ovvero $ 1,14 per 10.000 richieste .

Come puoi vedere, non si tratta di un costo eccessivo.

Tuttavia, molte offerte CDN leggono i tuoi file dalla loro posizione di archiviazione presso il tuo attuale provider di hosting, il che comporta un costo aggiuntivo. Questo server di origine potrebbe essere un sistema di archiviazione di file come Amazon S3 o potrebbe essere il tuo attuale provider di hosting.

Se il tuo sito web contiene contenuti dinamici, dovrai comunque mantenere una soluzione di hosting in grado di elaborare questi tipi di file.

Poiché le soluzioni CDN sono spesso pay-per-use, un attacco DDoS potrebbe essere finanziariamente sfavorevole: il drastico aumento dei trasferimenti di file causato da questo tipo di attacco comporterebbe un aumento dei costi per la vostra azienda.

Tuttavia, i provider CDN stanno lavorando per rilevare e mitigare questi tipi di attacchi, come discusso in precedenza.

Nota: molti dei migliori provider di web hosting ora includono servizi CDN gratuiti nei loro piani.

2. Configurazione aggiuntiva necessaria per memorizzare nella cache i contenuti modificati

Tieni presente che una CDN funziona memorizzando nella cache copie dei contenuti del tuo sito web in tutto il mondo.

Tuttavia, la maggior parte dei siti Web include alcuni contenuti che cambiano a seconda dell'utente specifico che accede al sito Web o di altri criteri (messaggi di benvenuto per un utente specifico, carrelli della spesa, ecc.).

Questo tipo di contenuto non è così banale da memorizzare nella cache in tutto il mondo, poiché viene costantemente aggiornato su richiesta.

I file in streaming sono un'altra forma di contenuto che richiede un'attenzione particolare per essere utilizzati nella CDN. Vedi sotto per ulteriori dettagli.

Altre considerazioni sulla CDN

Aggiornamento della cache dei file durante l'aggiornamento dei file

Quando devi aggiornare uno dei tuoi file utilizzando un CDN pull, anche tutte le copie memorizzate nella cache in tutto il mondo dovranno essere scadute in modo che vengano aggiornate alla richiesta successiva.

Affinché ciò accada, potrebbe essere necessario attendere il tempo di scadenza predefinito (che varia a seconda del provider) o forzare l'invalidazione immediata dei file memorizzati nella cache (svuotando manualmente la cache).

Sebbene l'aggiornamento dei file possa comportare questo passaggio aggiuntivo, i file statici del tuo sito web probabilmente non verranno aggiornati troppo spesso.

Garantire un tempo di scadenza sufficiente per i file a cui si accede raramente

Le soluzioni Pull CDN non contengono necessariamente una copia dei file su ogni server periferico in ogni momento (discusso più dettagliatamente di seguito). Se non esiste già una versione memorizzata nella cache di un file, il file deve essere estratto dal server di origine.

Questo è più un problema per i file più grandi come i video, poiché l'impatto sulle prestazioni del caricamento di questi tipi di file dal server di origine potrebbe essere avvertito in modo piuttosto significativo.

Alcune soluzioni a questo problema consistono nell'aumentare il tempo di scadenza del file memorizzato nella cache (se possibile), in modo che il file non debba essere aggiornato dal server di origine con la stessa frequenza o nell'archiviare file di grandi dimensioni su una soluzione CDN push (vedere di seguito ).

Contenuto statico e contenuto dinamico

I siti Web contengono due tipi principali di dati: contenuto statico e contenuto dinamico.

La maggior parte del contenuto che vedi su un sito web (ovvero l'aspetto grafico, le immagini, i video, i file CSS e JavaScript, ecc.) è solitamente contenuto statico. Il contenuto statico non cambia mai (a meno che non carichi nuovamente il file sorgente).

Ad esempio, il logo della tua azienda non cambierà aspetto, indipendentemente da chi visita il tuo sito web o quante volte ricarichi la pagina.

Il contenuto dinamico cambia a seconda di chi richiede i dati o di altri criteri.

Ad esempio, quando John accede al suo conto bancario, vede i suoi saldi. Tuttavia, quando David accede, i saldi non sono gli stessi che vede Joe.

Facciamo un altro esempio: dopo aver effettuato l'accesso alla dashboard di WordPress, vedrai un messaggio come "Howdy, John!".

Il contenuto che cambia a seconda dell'utente o di altri criteri è considerato contenuto dinamico.

In che modo una CDN gestisce i contenuti statici, dinamici e in streaming?

A questo punto arriviamo ad una domanda importante: “Che tipo di file posso archiviare sulla CDN?”.

Poiché i file statici tendono a rimanere sempre gli stessi, indipendentemente da chi sta caricando il tuo sito web, sono adatti per essere memorizzati nella cache in tutto il mondo tramite una CDN, poiché i file vengono aggiornati raramente.

Per quanto riguarda il contenuto dinamico (ad esempio un carrello della spesa), di solito non esiste un singolo file che possa essere memorizzato nella cache in tutto il mondo, poiché spesso cambia per ciascun utente o per altri criteri.

Tuttavia, i fornitori di CDN stanno implementando soluzioni per migliorare l'efficienza del caricamento dei contenuti dinamici, come trovare il percorso più veloce tra l'utente e il server di hosting.

Molti fornitori di CDN hanno anche implementato soluzioni per lo streaming di contenuti multimediali live e on-demand tramite una CDN.

Come impostare una CDN

Quindi ora probabilmente starai pensando: “Sono convinto che il mio sito web abbia bisogno di un CDN! Come effettuo la transizione?”.

La risposta dipende dal provider di hosting che utilizzi e dal tipo di soluzione CDN che desideri.

Alcuni provider di web hosting offrono un'opzione per abilitare facilmente la CDN tramite il proprio pannello di controllo. Altre configurazioni richiedono alcuni passaggi aggiuntivi.

Aggiungi un livello CDN all'intero tuo sito web

Questa opzione è una delle più semplici da configurare per i proprietari di piccole imprese. Ogni richiesta da parte degli utenti di accedere ai contenuti del tuo sito web verrà prima filtrata attraverso un sistema gestito da un provider CDN.

Il contenuto statico verrà caricato dalla CDN, mentre il contenuto dinamico verrà caricato direttamente dal server esistente (oppure potrebbe essere utilizzata una tecnica per migliorare il tempo di caricamento del contenuto dinamico, come discusso in precedenza).

Dietro le quinte verrà effettivamente implementata una pull CDN per distribuire i file tramite la CDN.

CloudFlare è una di queste aziende che offre questo tipo di soluzione CDN. Alcune aziende come CloudFlare forniranno anche altri miglioramenti per le prestazioni del tuo sito web oltre alla sola CDN.

Come configurarlo

Il passaggio principale nella configurazione di questo tipo di sistema CDN è aggiornare i record DNS del tuo sito Web in modo che puntino al livello CDN. Il livello CDN instraderà quindi le richieste al server di origine secondo necessità.

Dovrai comunque mantenere la tua attuale soluzione di hosting affinché la CDN possa estrarre i file da essa.

Come impostare un Pull CDN

Specifica la posizione dei tuoi file sul tuo server di origine da distribuire sulla CDN. La CDN estrarrà quindi i file dal server di origine secondo necessità.

Dovrai inoltre aggiornare i collegamenti ai file nel tuo sito Web all'endpoint della CDN o aggiornare le impostazioni DNS in modo che puntino alla CDN.

Come impostare un CDN Push

Carica i tuoi file sul provider CDN. Dovrai inoltre aggiornare i collegamenti ai file nel tuo sito Web all'endpoint della CDN o aggiornare le impostazioni DNS in modo che puntino alla CDN.

Dovrei lasciare il mio provider di web hosting?

No. Anche dopo aver acquistato una soluzione CDN, dovrai restare con un provider di web hosting.

Tieni presente che una CDN viene utilizzata per memorizzare nella cache i contenuti; se il tuo sito web contiene contenuti dinamici, dovrai comunque mantenere la tua attuale soluzione di hosting per elaborare tali contenuti.

Quali società di hosting forniscono una CDN?

Oggigiorno molte società di hosting forniscono una CDN come parte dei loro piani di hosting condiviso:

  • SiteGround (utilizza il proprio CDN SiteGround personalizzato)
  • Bluehost (Cloudflare è già abilitato)
  • Kinsta (un piano Cloudflare a pagamento è incluso gratuitamente)
  • WP Engine (un piano Cloudflare a pagamento è incluso gratuitamente)
  • HostGator (Cloudflare è incluso solo nel piano Business)
  • IONOS (Cloudflare è incluso solo nel piano Expert)
  • Cloudways (Cloudflare Enterprise può essere aggiunto per soli $ 4,99 al mese)

Conclusione

Le CDN sono una valida soluzione per migliorare l'efficienza del tuo sito web riducendo il tempo necessario per trasferire i file agli utenti. Ciò serve ad aumentare probabilmente la fidelizzazione dei clienti sul tuo sito web e forse anche a migliorare il posizionamento dei risultati di ricerca.

I CDN ridurranno inoltre il carico di richieste di file sulla tua attuale configurazione di hosting, il che potrebbe aiutare a gestire grandi volumi di traffico.

Tuttavia, una CDN spesso ha un costo maggiore. Il tuo sito web merita il miglioramento delle prestazioni che una CDN potrebbe offrire, ma i vantaggi devono superare i potenziali costi e altri compromessi.

Non dimenticare che una CDN è solo uno dei tanti passaggi che puoi compiere per migliorare le prestazioni del tuo sito web. La scelta di un host web veloce è la prima (e più importante).

E ci sono anche molte altre cose che puoi fare per aumentare in generale la velocità del tuo sito web (come la compressione delle immagini) e in particolare per migliorare i tempi di caricamento del tuo sito WordPress!

Hai utilizzato un CDN per il tuo sito web? Fateci sapere nei commenti qui sotto cosa ne pensate dei CDN!