CDN a cosa serve? Cos’è una CDN? Abbiamo già affrontato il tema CDN in un articolo su questo blog. In questo post entreremo un po’ più nel dettaglio e cercheremo di spiegare molto molto brevemente, e in termini semplici, cos’è una CDN (Content Delivery Network) e a cosa serve.
Potete vedere questo servizio come una sorta di cache, composta da nodi (POP) sparsi in tutto il mondo, che eroga contenuti ai clienti utilizzando il pop più vicino al cliente stesso.
Indice dei contenuti
- CDN cos’è? A che serve?
- A cosa serve una CDN? Quali vantaggi ci porta?
- Quanto costa una CDN?
- Video Contributo
- Cos’è una CDN? A cosa serve una CDN? Conclusioni
Let’s go !
CDN cos’è, a cosa serve? Vediamo come funziona
Quindi, una CDN cos’è, a cosa serve? Vediamo un esempio pratico (più in basso, in figura 1 ne riportiamo uno schema logico). Richiamate dal vostro sito una pagina che contiene l’immagine logo.png. Il file logo.png è erogato dalla CDN che cercherà il file in questione sulla sua cache. Se il file è presente in cache viene erogato direttamente al client; se la cache della CDN non ha il file richiesto, i server della CDN diventano client e chiamano l’origin (ovvero il vostro server, che ospita il file originale) per richiedere il file logo.png. A quel punto il file viene salvato in cache e fornito al client che l’ha richiesto. Dalla chiamata successiva sarà direttamente la CDN a fornire quello stesso file.
Quanto appena detto equivale al riassunto di un Bignami. La CDN, infatti, non è solo questo, è molto di più.
Qualche giorno fa ho pubblicato sul mio profilo un piccolo sondaggio (https://www.linkedin.com/feed/update/urn:li:activity:6944887630194991104/) in cui chiedevo quali fossero i principali benefici nell’adozione di una CDN per un sito web Enterprise.
A cosa serve una CDN? Quali vantaggi ci porta?
Le risposte proposte erano 4:
- Maggiore velocità
- Miglioramento SEO
- Maggiore sicurezza
- Minor carico sui server
Premetto che non era un sondaggio-tranello. Tutte e quattro le risposte erano valide. Andiamo a vedere nel dettaglio il perché.
Maggiore velocità
Se siete in Nuova Zelanda e visitate un sito web che si trova a Francoforte, quanto sarà veloce il caricamento della pagina? Anche il vostro pacchetto TCP dovrà attraversare un oceano e due continenti.
Qui ci viene aiuto la CDN, che disponendo di molteplici nodi distribuiti su più aree geografiche, risponde alle richieste del cliente erogando i contenuti dal pop più vicino al cliente che ha richiesto il contenuto. È molto probabile quindi che, nell’esempio precedente, i contenuti verranno erogati da un pop che si trova ad Auckland, o magari a Sidney.
Minor distanza = Minor tempo (a parità di velocità, dove la velocità è quella della tua linea di casa).
Miglioramento SEO
La velocità è al centro delle politiche SEO di Google; tant’è che uno dei loro diktat è “Make the Web Faster” (ref. https://developers.google.com/speed).
Abbiamo già trovato un primo aggancio tra Maggior velocità e Miglioramento SEO.
Un sito più veloce è di conseguenza anche meglio posizionato.
Maggiore sicurezza
Abbiamo detto che una CDN è composta da molteplici pop geograficamente distribuiti. Cosa pensate potrebbe accadere in caso di un attacco DDOS verso il vostro sito web che sta adottando una CDN? Il traffico verrebbe distribuito tra tutti i pop disponibili, dividendo di conseguenza il carico su tanti server, senza che il vostro datacenter batta ciglio. E senza una CDN? Tutto il traffico dell’attacco finirebbe sui vostri server, con le conseguenze del caso, che potete facilmente immaginare.
Alcuni provider di CDN offrono servizi aggiuntivi dedicati alla sicurezza (Es. Cloudflare).
Minor carico sui server
Nel secondo paragrafo dell’articolo abbiamo fatto un “Esempio pratico”. Riportiamolo in uno schema:
Nel momento in cui la CDN ha salvato l’oggetto sulla sua cache, tutto il traffico per quell’oggetto verrà erogato dai server della CDN, senza che le risorse computazionali degli origin server vengano intaccate.
Fin quando parliamo di qualche immagine, per qualche migliaio di chiamate verso l’origin, di sicuro non dobbiamo preoccuparci. E con i milioni di pagine (e relative immagini) erogate ogni minuto da Amazon, come la mettiamo!??! Secondo voi usano una CDN? La domanda ovviamente è ironica e la risposta è scontata visto che proprio Amazon è uno dei principali player nel mondo delle CDN con AWS (Cloudfront).
E le ricerche di Google? Anche Google offre servizi CDN su GCP, con “Cloud CDN”.
Volete provare a immaginare cosa accadrebbe con un film in 4k? Netflix, Amazon Prime Video, DAZN, utilizzano una CDN secondo voi?
Ogni servizio on-demand utilizza una CDN. Addirittura una diretta può usare una CDN; basta creare pochi secondi di differita e ritrasmettere. Non sarà una diretta vera e propria, ma 5 secondi di ritardo possiamo anche accettarli per avere una qualità migliore, no?
Qui mi riaggancio al sondaggio di cui sopra, nel quale scrivevo:
“Vi anticipo che ho volontariamente omesso una voce (legata a una di quelle presenti) a cui nessuno solitamente pensa ma che è fondamentale.”
Quanto costa una CDN?
Senza una CDN, quanti server di backend ci vorrebbero per fare lavorare correttamente un sito web Enterprise che eroga qualche centinaio di milioni di pagine al giorno, con relativi contenuti statici (css, js, immagini, pdf)?
Qui arriviamo a quella che avrebbe dovuto essere la 5’ possibile risposta del mio sondaggio ma che ho omesso volontariamente (oltre al fatto che i sondaggi LinkedIn non offrono più di 4 possibili risposte 😊 ):
Risparmio costi
Una CDN che eroga contenuti al posto nostro (fin quando gli expire headers sono validi … Vi anticipo già quello che sarà l’argomento del prossimo post, ovvero cache e ottimizzazione dei contenuti) ci farà risparmiare:
- Risorse HW e, se on-prem, relative spese di manutenzione e gestione
- In termini di licenze SW
Ora molti avranno da ridire: “Si ma la CDN dovrai pur pagarla!”.
Una CDN con un piano business costa circa 2500 dollari l’anno. Un piano Enterprise forse intorno ai 15000. Il prezzo può cambiare in base al fornitore e molto dipende dai servizi richiesti.
Sapete quanto costano le licenze annue per alcuni CMS Commerciali? Non parlo di WordPress o Drupal, ma di prodotti Professional. E i server in cloud per ospitarli? Vi assicuro che 15000$ per una CDN sono un ottimo investimento.
CDN cos’è a cosa serve – Video Contributo
Come al solito vi condivido un piccolo contributo video per aiutarvi a fossilizzare le idee in mente.
Cos’è una CDN, a cosa serve? Conclusioni
Ho fatto un veloce resoconto di quelli che sono i “pro” nell’adozione di un servizio di CDN. Non mi ha pagato nessuno 🙂 ho solo voluto condividere esperienze personali per provare ad essere d’aiuto a qualcuno.
Il discorso potrebbe essere ben più ampio. Per esempio, non abbiamo parlato dei “contro”, come per esempio la gestione dei tempi di cache dei browser. Ma di questo parleremo nel prossimo articolo.
Il mio obiettivo era quello di mettervi la pulce nell’orecchio in modo che possiate approfondire l’argomento. Spero lo facciate.
Se avete dei dubbi o se volete condividere il vostro punto di vista, scrivete nei commenti e cercherò di rispondere al più presto.
Detto ciò , vi auguro una buona lettura.
Se volete restare in contatto, vi lascio anche il link della mia newsletter di LinkedIn.
English version: https://medium.com/@fabioiegri/why-should-everyone-use-a-cdn-fabio-iegri-b8adca5ea19d
Principal Web Solutions Architect – Technology & Architecture Manager @ Accenture – Google Cloud Certified – Professional Cloud Architect
Parla di #web, #cloud, #websecurity, #webperformance e #webarchitecture