Noi, come utenti, stiamo consumando (e producendo) più contenuti che mai, Cisco prevede che ” il traffico Internet globale nel 2021 sarà equivalente a 127 volte il volume dell’intero Internet globale nel 2005. A livello globale, il traffico Internet raggiungerà i 30 GB pro capite entro il 2021, rispetto ai 10 GB pro capite del 2016.”
Ecco perché le CDN, commerciali e private, sono più importanti che mai. I dispositivi inviano e ricevono costantemente richieste/risposte HTTP e per sostenere questo immenso scambio di byte, una backbone ben pianificata è un must. Da qui l’accelerazione della crescita delle CDN fai-da-te/private e ibride.
Ultimamente, molte aziende hanno iniziato a implementare la propria rete di distribuzione di contenuti privati o ibridi. Una CDN privata, contrariamente alle CDN commerciali, può darti il pieno controllo sui tuoi contenuti perché non hai bisogno di condividere storage/macchine/server con altri siti web utilizzando la stessa infrastruttura. Inoltre, sei completamente libero di pianificare e distribuire la tua CDN come meglio si adatta al tuo caso d’uso specifico, flessibilità che è molto difficile se non impossibile da ottenere con una qualsiasi delle soluzioni CDN commerciali là fuori, che utilizzano un approccio unico.
E non sottovalutiamo il fattore di risparmio sui costi: le CDN commerciali di solito vendono per larghezza di banda utilizzata e numero di richieste gestite da ciascun PoP (point of presence). Se il traffico che il tuo sito web vede è nell’intervallo di GB al secondo, questi costi relativi al traffico possono essere notevolmente ridotti con una CDN privata.
Abbiamo recentemente lanciato una soluzione CDN fai da TE compatibile con DevOps che puoi configurare in cinque passaggi. Tutto il necessario per una CDN:
- server di origine e PoP (point of presence)
- ISP
- CDN e il software di caching
Seguendo questi passi vi troverete con un server di origine, un paio di Pop strategicamente distribuiti in base al pubblico a cui si sarà in grado di offrire contenuti web seguenti prestazioni migliori pratiche.
Cloud o On-Premise?
La prima decisione che dovrai prendere è se distribuire la tua rete di distribuzione dei contenuti utilizzando istanze cloud o macchine fisiche.
Dovrai porsi questa domanda due volte: sia per i server di origine che per i tuoi POP. Non è una decisione che si escludono a vicenda; puoi decidere di implementare una parte della tua CDN utilizzando una (o più) soluzioni cloud mentre un’altra parte vive on-premise. I seguenti sono alcuni punti da considerare quando si prende questa decisione:
- Disponibilità: il provider cloud che voglio utilizzare dispone di macchine disponibili nella regione a cui voglio servire i contenuti? La mia azienda possiede data center nella regione in cui vogliamo distribuire i contenuti?
- Prestazioni: otterrò prestazioni migliori utilizzando istanze cloud o macchine fisiche?
- Costi: dato il mio carico di traffico web al secondo, sarà più economico pagare per l’infrastruttura o possederla? Inoltre, sarà più economico usare IaaS o assumere un team specifico per mantenere una tale architettura?
- Scala: quale strategia aiuterà la mia scala aziendale: cloud, on-prem o ibrida?
- Sicurezza: Quali sono i pro e i contro di sicurezza delle diverse opzioni per la mia attività?
Se si sceglie il percorso “on-prem” è davvero facile come installare pacchetti sui server, ad esempio “apt-get install varnish-plus
” o “yum install varnish-plus
“. Puoi contattarci per ulteriori informazioni.
Nel cloud, puoi seguire le istruzioni su AWS marketplace o la nostra ampia documentazione su come iniziare con Varnish e AWS.
ISP e Routing
Trova il miglior ISP per le tue esigenze e considera anche che avrai bisogno di una soluzione in grado di instradare ogni richiesta al PoP più vicino. Alcuni fattori che vale la pena considerare:
- Presenza geografica: Trovare un ISP che copre la regione(s) che si desidera servire.
- Velocità di connessione: assicurati di avere una velocità sufficiente sia per il giorno medio che per le ore di punta.
- Disponibilità e affidabilità: Come con tutte le parti della vostra infrastruttura un ISP deve essere sempre disponibile in quanto sarà la spina dorsale del vostro business.
- Efficienza dei costi: mappa attentamente i costi del servizio, poiché i costi di un ISP variano ampiamente a seconda di una serie di fattori e dovrai trovare il giusto equilibrio tra servizi e costi.
Il mercato offre molti ISP e richieste opzioni di routing, e ciò che si sceglie di servire le vostre esigenze specifiche dipenderà l’equilibrio che rende più senso per la configurazione e le aspettative di traffico.
Server di origine e POP
Iniziamo con la parte succosa qui!
Puoi pensare a una CDN come a un’enorme cache con nodi distribuiti che aiutano a distribuire contenuti più velocemente agli utenti finali. Per farlo ed essere efficiente è necessario decidere, in base a fattori che si considerano di importanza strategica per il vostro business, in quale posizione geografica si desidera che il server di origine(s) per essere situato. Lo stesso ragionamento vale per ciascuno dei tuoi POP.
La decisione del server di origine è semplice, poiché vorrai che il tuo server web sia il più vicino possibile per avere il pieno controllo dei tuoi contenuti. Ma quando si tratta di decidere dove individuare i POP e quanti ne hai bisogno, ci sono alcuni fattori che dovresti considerare:
- Dov’è il tuo pubblico più importante? Ti aspetti che il business cresca in alcune regioni? In caso affermativo, quali regioni? Inoltre, è importante analizzare dove e come sono concentrati per offrire la migliore esperienza possibile.
- Latenza tra il server di origine e il pubblico: questo ti aiuterà a decidere dove individuare ogni POP.
- Modelli di traffico. Analizzarli ti consente di fornire un’esperienza utente eccellente e ottimizzare la tua infrastruttura
Installa il software CDN Varnish DIY
Varnish è estremamente flessibile grazie al suo esclusivo linguaggio di configurazione VCL. VCL consente di impostare le regole di memorizzazione nella cache e prendere decisioni ai margini.
Vernice fai da te CDN viene fornito con un set completo di funzionalità di distribuzione dei contenuti:
- Bilanciamento del carico
- Opzione Prefetch per mantenere calda la cache
- Persistent storage engine
- High availability
- Sicurezza, sia in una connessione sicura che in una cache completamente crittografata
Vernice CDN fai da te dovrà essere installato in ciascuno dei tuoi POP.
Questo è ciò che otterremo alla fine di questa configurazione rapida:
Come si può vedere installeremo vernice fai da te CDN in:
- Origin shield: questo aiuta a proteggere il server di origine(s) e scaricare alcune delle richieste. In questo esempio, il server di origine avrà sede a Londra.
- PoP A: è uno dei due POP che svilupperemo per impostare una CDN di base. Ai fini di questo esempio, lo posizioneremo a Francoforte, in Germania, all’interno dell’UE.
- PoP B: Il nostro altro PoP servirà contenuti per il pubblico nordamericano. Sarà con sede a New York.
Ogni PoP e lo scudo di origine avranno una configurazione simmetrica e accoppiata per garantire che ogni PoP sia sempre disponibile anche se uno dei due nodi di vernice è in manutenzione o non è disponibile.
Ogni Varnish Cache Plus tuple viene sincronizzata utilizzando VHA, che oltre a replicare il contenuto tra i diversi nodi di cache, riduce anche lo stress sui backend, alleviandoli da troppa tensione consumando meno larghezza di banda e richiedendo meno roundtrip.
Configura Varnish
Per avere una configurazione di base e funzionante è necessario:
1. Fai sapere a Varnish con quali backend può parlare: Apri ” / etc/varnish / default.vcl ” e specificare l’indirizzo IP e la porta supportati
2. Configura quale porta su cui Varnish ascolta la richiesta in arrivo:
Aprire “etc/default/varnish.param
“e impostare” -a": 80.
Riavviare vernice, e si è tutto pronto. Hai il tuo CDN attivo e funzionante. Dopo aver compreso quale tipo di infrastruttura soddisfa al meglio le tue esigenze e come viene distribuito il tuo pubblico, seguire questi passaggi per creare la tua CDN privata utilizzando Varnish dovrebbe richiedere solo poche ore.