Come configurare una CDN
Una CDN è un network di server distribuiti in diverse aree del mondo che mantengono una copia del sito e dei suoi file statici (ad es. immagini, video, CSS, Javascript ecc.).
Quando un visitatore si collega al tuo sito, la CDN lo indirizza al server geograficamente più vicino.
Più vicino è il server, maggiore sarà la velocità di caricamento dei contenuti!
Nel dettaglio la CDN (Content Delivery Network) neen consente di posizionare, in modo estremamente semplice e intuitivo, contenuti statici del proprio sito su molteplici pop in tutto il mondo, permettendo e consentendo di:
• Scaricare il proprio server di produzione (o server origin), che dovrà rispondere ad un numero molto più basso di chiamate e quindi non sarà sovraccaricato.
• Rendere l’infrastruttura naturalmente scalabile e responsiva indipendentemente dal numero di utenti contemporanei connessi (nessun problema di troppi accessi).
• Erogare un servizio più veloce agli utenti, che tramite DNS Anycast avranno accesso al nodo a loro geograficamente più vicino.
• Usufruire di una migliore indicizzazione da parte degli spider di ricerca, che accederanno anch’essi al nodo geograficamente più vicino.
La CDN può essere utilizzata e di conseguenza configurata in due modi:
1) CDN che eroga tutti i contenuti quali: immagini, video, css, js.
Se decido di far erogare tutti i contenuti statici del sito www.domain.tld e scelgo cdn.domain.tld come nome del dominio per effettuare tale operazione, l’applicativo web sarà progettato per richiamare i contenuti sopra citati attraverso una url specifica.
Le pagine di www.domain.tld risiederanno e verranno richieste ancora al proprio server (server origin), mentre tutti i contenuti definiti statici verranno richiesti alla CDN attraverso la loro url assoluta cdn.domain.tld/file.jpg impostata come url assoluta a livello applicativo.
E’ una soluzione completamente “ready to go”, non comporta controindicazioni né complessità di implementazione, in quanto fa uso di un dominio ad hoc dedicato all’uso CDN.
Molti applicativi, come neen, supportano l’uso della CDN direttamente da configurazione applicativo.
A questo punto si deve definire l’indirizzo su cui sarà implementata la CDN (ad esempio cdn.domain.tld) e definire l’indirizzo del server origin, dal quale tutti i pop CDN richiederanno i dati la prima volta (quando non siano ancora cashati) o le volte successive (all’expire della cache).
Se, ad esempio, si desidera che il sito www.domain.tld abbia tutti i contenuti statici con link assoluti del tipo http://cdn.domain.tld si procederà come di seguito:
CDN: configurazione
Questi contenuti saranno posizionati anche sul server origin www.domain.tld, in modo che la CDN prelevi autonomamente i files ogni X minuti (X definisce il tempo di expire della cache) dal server origin.
2) CDN che eroga tutte le pagine del sito
Tutte le pagine del sito vengono erogate tramite CDN e il server origin verrà utilizzato unicamente per servire i contenuti non gestibili staticamente, come ad esempio per ricevere ed elaborare dati di tipo POST. È una soluzione che da un lato utilizza maggiormente la CDN a beneficio di un minor uso del server origin, dall’altro può essere più invasiva della soluzione precedente, in quanto non si può prescindere dalla comprensione del funzionamento della CDN stessa e delle relative implicazioni in termini di gestione delle sessioni e dei dati dinamici.
Prima di configurare si deve definire l’indirizzo su cui sarà implementata la CDN, ad esempio www.domain.tld, e definire l’indirizzo del server origin, dal quale tutti i pop CDN richiederanno per la prima volta i dati (quando non siano ancora cashati) o le volte successive (all’expire della cache).
In questo caso si desidera che tutto il sito www.domain.tld venga erogato dalla CDN e quindi è necessario attribuire una diversa url al server origin, ad esempio www2.domain.tld, oppure cdn.domain.tld o domain.tld (senza www).
Occorre accertarsi che l’url del server origin non sia visibile all’utente, poiché, in caso di siti dinamici, le chiamate di tipo POST che devono inviare dati necessariamente all’origine, vengono effettuate direttamente all’url definito come origin. In questo caso l’utente che per esempio si trova a compilare un form sul sito www.domain.tld, si ritroverà dopo il POST sul dominio www2.domain.tld. Per sfruttare il più possibile la CDN è quindi necessario che l’utente, appena possibile, venga reindirizzato a livello applicativo nuovamente sulla CDN, ad esempio i link delle voci di menù possono essere definite come url assoluti a www.domain.tld.
CDN configurazioni
Record DNS
Dopo aver definito tutti i parametri iniziali per un corretto funzionamento della CDN, il traffico deve essere instradato al nodo geograficamente più vicino attraverso DNS Anycast. Si tratta di creare un record CNAME dalla url definita per la CDN, al record indicato dal pannello.
Nel caso si fosse scelta, ad esempio, la seconda strada viene chiesto di creare un record CNAME www.domain.tld IN CNAME 744412317.r.cdn.neen.it.
CDN configurazioni avanzate
Nel primo tipo di operazione, invece, sarebbe stato chiesto di creare questo diverso CNAME cdn.domain.tld IN CNAME 744412317.r.cdn.neen.it
Impostazioni avanzate
Ci sono altre voci che implicano ulteriori impostazioni per configurare al meglio e in modo personalizzato la propria CDN, come:
Cache Expiry, che è il tempo di default espresso in minuti dopo il quale i server CDN cancellano la cache e richiedono nuovamente i files all’origine.
Edge Groups, che definisce quali pop CDN utilizzare tra quelli disponibili per il proprio profilo. I server sono suddivisi in gruppi secondo criteri di affinità tipicamente geografica (Europa, Nord America, Sud America), ma talvolta anche a livello di pricing.
Prefetch, che consente di forzare il caching dei pop CDN senza attendere la normale propagazione, che solitamente avviene in circa 15 minuti.
Purge, che consente di eliminare forzatamente il caching dei pop CDN (senza attendere le tempistiche di cache expiry) che procederanno quindi a richiedere nuovamente i dati all’origin.
A questo punto la CDN è completamente configurata dal pannello e il proprio sito risulterà più veloce e performante per la gioia degli utenti, dei motori di ricerca e del SEO. In particolare, nel caso dell’ e-commerce, si potrà anche convertire di più.