Cos’è una CDN (Content Delivery Network)?

Una Content Delivery Network è una rete di server in diversi centri di elaborazione dati in tutto il mondo. Così avete un’ottima possibilità di offrire o sviluppare il vostro sito o la vostra applicazione web a livello globale. Se avete accesso ad una rete simile, il vostro server web si collega con molti altri server. Grazie ad un sistema di distribuzione, i contenuti statici del vostro server web vengono trasmessi sui cosiddetti server di replica. Quando gli utenti richiamano un contenuto specifico del vostro sito, il request routing comunica quale server di replica nella Content Delivery Network è il più adatto per la consegna dei dati. A seconda del provider della CDN variano il numero e la distribuzione dei server, così come il grado di inclusione a reti backbone dalle maggiori prestazioni. 

Come funziona la consegna dei dati in una CDN

Gli utenti mentre navigano non si accorgono se i dati vengano richiamati direttamente dal server in uscita del rispettivo sito o da un server di replica, in quanto questo processo è eseguito in background. Ciò che viene notato nel migliore dei casi sono i tempi di caricamento brevi. 

I componenti più importanti coinvolti nel processo sono il sistema di distribuzione e il request routing. Il sistema di distribuzione non trasmette solo i contenuti del server originario alla replica, ma si occupa di mantenerli aggiornati e correttamente funzionanti. Qui sono possibili due procedimenti: o il sistema di distribuzione invia subito dati nuovi e modificati a tutti i server della Content Delivery Network o spedisce ai server di replica solo un messaggio, informando che i dati attuali sono disponibili e devono essere richiesti in caso di necessità. Ora per fare in modo che le richieste degli utenti arrivino ai server giusti, viene utilizzato il request routing. Questo si occupa in due passaggi che le richieste vengano reindirizzate in maniera ottimale. 

Alla ricerca della replica più adatta

Nel primo passaggio bisogna trovare il server più adatto per la risposta alle richieste utente. Per questo motivo il request routing si orienta su numeri specifici che vengono comunicati tramite diversi metodi di misurazione. Grazie a numeri diversi viene ad esempio stabilito se si tratta di connessioni lato client o lato server. Con l’aiuto di valori per la misurazione lato server, tra cui sono annoverati lo sfruttamento generale della CPU o il numero di connessioni attive sul server, viene comunicata la replica con il più basso utilizzo. Sulla base delle proprietà della connessione tra client e server, il request routing comunica al client il server con la migliore connessione. Tra i fattori maggiormente presi in considerazione, ci sono, tra gli altri, il tempo di latenza, il tasso medio di trasmissione, il tasso di perdita dei pacchetti e anche la vicinanza geografica. Cifre lato client forniscono informazioni sull’identità dell’utente che effettua la richiesta. Vengono usate dal sistema nel caso in cui i contenuti debbano essere visualizzati con qualità differenti, a seconda che si tratti di utenti standard o premium.

Il peso dei diversi numeri dipende anche sempre dai dati richiesti: i contenuti generati dinamicamente presuppongono dei server con dei buoni valori, mentre una connessione stabile tra client e server è alla base dell’uso per i servizi di streaming.

Inoltro della richiesta

Stabilito il server di destinazione nella CDN, segue nel secondo passaggio l’inoltro tecnico della richiesta tramite request routing. Per questo inoltro ci sono diversi procedimenti che si distinguono principalmente per il luogo in cui vengono inoltrati dal client, nella rete o sulla replica.

L’inoltro della richiesta dal client è un metodo facile da impostare, in cui il client sceglie il server di replica da una lista già data. Ciò ha però lo svantaggio che una Content Delivery Network ha poca influenza sull’ordinamento. Ugualmente facile da implementare, e in più fornito con buone informazioni attraverso la CDN, è il reindirizzamento HTTP 302 lato server. Il server in uscita risponde in questo caso con un codice di stato HTTP alla richiesta e comunica al client in questo modo la replica più adatta che verrà automaticamente contattata da chiunque effettui un’altra richiesta. Lo svantaggio principale di questo procedimento è la duplicazione delle connessioni necessarie. 

Il tipo di inoltro più utilizzato è il request routing basato sul DNS. Qui la richiesta posta dal client ad un server DNS locale viene inoltrata ad un server DNS specifico all’interno della Content Delivery Network, che restituisce da parte sua l’indirizzo IP di una replica. Lo svantaggio più grande di questo procedimento è che la richiesta ripetuta nel Domain Name System ritarda gli accessi.

Perché è consigliato utilizzare una CDN

Grazie a server sparsi in tutto il mondo, i clienti approfittano di tempi di caricamento più veloci e di un minore utilizzo della banda larga. Ma anche come gestori godete dei notevoli vantaggi di una Content Delivery Network: tramite l’inoltro delle richieste non viene ridotto solo l’utilizzo del vostro server web, ma aumenta anche la sicurezza dei dati salvati temporaneamente, poiché gli attacchi, come quelli DDoS, non raggiungono proprio il server in uscita. Requisito fondamentale è che teniate lontano dalla CDN dati sensibili come dati utente o password, in quanto così aumenta la potenziale superficie esposta agli attacchi e potrebbero sorgere spesso dei problemi relativi alla protezione dei dati. È utile anche l’assegnazione di un proprio dominio per i contenuti memorizzati nella CDN; così evitate la diffusione di un possibile attacco agli altri elementi del sito web. La lista seguente riassume i vantaggi di una CDN:

  • Gli elementi statici come pagine HTML, immagini, fogli di stile, documenti o script lato client vengono salvati temporaneamente nella cache del server di replica e non devono essere più richiamati dal vostro server web: ciò preserva il vostro server e garantisce tempi di caricamento più brevi per gli utenti. Così approfittate di una frequenza di rimbalzo minore e di migliori posizionamenti sui motori di ricerca.
  • L’utilizzo minore del server e delle applicazioni coinvolte lo proteggono dai sovraccarichi, oltre che da danneggiamenti e interruzioni; ciò si riflette positivamente sull’hardware richiesto per l’hosting.
  • Potete stabilire da soli quali elementi statici del client devono essere caricati dai server nella Content Delivery Network. Se ad esempio memorizzate solo le immagini del vostro blog, queste si caricano parallelamente al resto dei contenuti e così il tempo di caricamento della pagina è complessivamente più veloce.
  • In particolare per lo streaming di video e musica, i siti web approfittano della consegna tramite CDN poiché in poco tempo devono essere spostate grandi quantità di dati. Ciò è valido anche per trasmissioni live su Internet.
  • Picchi di visitatori e l’aumento del numero degli utenti vengono superati facilmente con una CDN. In particolare se offrite file da scaricare o gestite un negozio online, la ricerca del request routing necessita di server di replica con un utilizzo basso.
  • Non solo riducete i tempi di caricamento, ma anche lo sfruttamento della banda larga, connesso all’apertura dei vostri contenuti, è inferiore.
  • La sicurezza del vostro server, così come quella dei vostri dati e delle applicazioni in uso, aumenta grazie ad una Content Delivery Network poiché gli attacchi vengono riconosciuti per tempo e contrastati appropriatamente.