Le misteriose vie del contenuto o diciamo una parola sulla CDN

Le misteriose vie del contenuto o diciamo una parola sulla CDN

Disclaimer:
Questo articolo non contiene informazioni precedentemente sconosciute ai lettori che hanno familiarità con il concetto di CDN, ma ha il carattere di una revisione tecnologica

La prima pagina web è apparsa nel 1990 ed era grande solo pochi byte. Da allora, i contenuti sono cresciuti sia qualitativamente che quantitativamente. Lo sviluppo dell'ecosistema IT ha portato al fatto che le pagine web moderne si misurano in megabyte e la tendenza verso l'aumento della larghezza di banda della rete si rafforza ogni anno. Come possono i fornitori di contenuti coprire vaste scale geografiche e fornire agli utenti ovunque un accesso ad alta velocità alle informazioni? Le reti di distribuzione e distribuzione dei contenuti, note anche come Content Delivery Network o semplicemente CDN, devono far fronte a questi compiti.

Su Internet si trovano sempre più contenuti “pesanti”. Allo stesso tempo, numerosi studi dimostrano che gli utenti non vogliono avere a che fare con servizi web se impiegano più di 4-5 secondi per caricarsi. Una velocità di caricamento del sito troppo bassa è irta di perdita di pubblico, che porterà sicuramente a una diminuzione del traffico, della conversione e quindi del profitto. Le reti di distribuzione dei contenuti (CDN), in teoria, eliminano questi problemi e le loro conseguenze. Ma in realtà, come al solito, tutto viene deciso dai dettagli e dalle sfumature di un caso particolare, di cui ce ne sono molti in questo settore.

Da dove nasce l’idea delle reti distribuite?

Cominciamo con una breve escursione nella storia e nelle definizioni dei termini. CDN è una rete composta da un gruppo di macchine server situate in luoghi diversi per fornire l'accesso ai contenuti Internet coprendo un gran numero di utenti. L'idea delle reti distribuite è quella di avere più punti di presenza (PoP) contemporaneamente, che si trovano all'esterno del server di origine. Un tale sistema elaborerà più velocemente la serie di richieste in arrivo, aumentando la risposta e la velocità di trasferimento di qualsiasi dato.

Il problema con la fornitura di contenuti agli utenti è emerso in modo acuto al culmine dello sviluppo di Internet, ad es. a metà degli anni '90. I server di allora, le cui prestazioni non raggiungevano nemmeno i moderni laptop di punta, difficilmente riuscivano a sopportare il carico e non riuscivano a far fronte al traffico in costante aumento. Microsoft spende ogni anno centinaia di milioni di dollari in ricerche legate all'autostrada dell'informazione (mi vengono subito in mente i famosi 640 KB di Bill Gates). Per risolvere questi problemi, abbiamo dovuto utilizzare il caching gerarchico, passare dai modem alla fibra ottica e analizzare in dettaglio la topologia della rete. La situazione ricordava una vecchia locomotiva, che corre lungo i binari e lungo il percorso viene modernizzata con tutti i mezzi possibili per aumentare la velocità.

Già alla fine degli anni '90 i proprietari di portali web si resero conto che per ridurre il carico e fornire le richieste richieste era necessario utilizzare server intermedi. È così che sono comparsi i primi CDN, che distribuivano contenuti statici da diversi server geograficamente sparsi in tutto il mondo. Nello stesso periodo apparve un business basato su reti distribuite. Il più grande (almeno uno dei più grandi) fornitore di CDN al mondo, Akamai, è diventato un pioniere in questo settore, iniziando il suo viaggio nel 1998. Un paio di anni dopo, la CDN si diffuse ampiamente e i ricavi derivanti dalla fornitura e dal contributo di contenuti ammontavano a decine di milioni di dollari al mese.

Oggi ci imbattiamo in una CDN ogni volta che visitiamo una pagina commerciale ad alto traffico o comunichiamo sui social network. Il servizio è fornito da: Amazon, Cloudflare, Akamai e molti altri fornitori transnazionali. Inoltre, le grandi aziende tendono a utilizzare i propri CDN, il che offre loro numerosi vantaggi in termini di velocità e qualità della distribuzione dei contenuti. Se Facebook non avesse reti distribuite, ma si accontentasse solo di un server di origine situato negli Stati Uniti, potrebbe richiedere molto più tempo per caricare un profilo per gli utenti dell’Europa orientale.

Qualche parola su CDN e streaming

FutureSource Consulting ha analizzato l'industria musicale e ha concluso che nel 2023 il numero di abbonamenti ai servizi di streaming musicale raggiungerà quasi mezzo miliardo di persone. Inoltre, i servizi riceveranno più del 90% delle loro entrate dallo streaming audio. La situazione con i video è simile: termini come let’s play, concerto online e cinema online sono già entrati nel lessico popolare. Apple, Google, YouTube e molte altre aziende hanno i propri servizi di streaming.

Nella sua prima introduzione, la CDN veniva utilizzata principalmente per siti con contenuti statici. Statiche sono informazioni che non cambiano in base alle azioni dell'utente, al tempo e ad altri fattori, ad es. non è personalizzato. Ma l’ascesa dei servizi di streaming video e audio ha aggiunto un altro caso d’uso comune per le reti distribuite. I server intermedi, situati vicino al pubblico target in tutto il mondo, consentono di fornire un accesso stabile ai contenuti durante i periodi di picco di carico, eliminando l'assenza di colli di bottiglia in Internet.

Come funziona

L'essenza di tutti i CDN è più o meno la stessa: utilizzare intermediari per poter fornire i contenuti al consumatore finale più velocemente. Funziona come segue: l'utente invia una richiesta per scaricare un file, questo viene ricevuto dal server CDN, che effettua una chiamata una tantum al server originale e fornisce il contenuto all'utente. Parallelamente, la CDN memorizza i file nella cache per un determinato periodo di tempo ed elabora tutte le richieste successive dalla propria cache. Facoltativamente, possono anche precaricare file dal server di origine, regolare il periodo di conservazione della cache, comprimere file pesanti e molto altro. Nella situazione ideale, l'host passa l'intero flusso a un nodo CDN, che sta già utilizzando le proprie risorse per fornire contenuti agli utenti. Inutile dire che un'efficace memorizzazione nella cache delle informazioni, così come la distribuzione delle richieste non su un server, ma sulla rete, porteranno a un carico di traffico più equilibrato.

Le misteriose vie del contenuto o diciamo una parola sulla CDN
La seconda caratteristica importante del funzionamento CDN è la riduzione dei ritardi nella trasmissione dei dati (noto anche come RTT - andata e ritorno). Stabilire una connessione TCP, scaricare contenuti multimediali, un file JS, avviare una sessione TLS, tutto questo dipende dal ping. Ovviamente, più sei vicino alla fonte, più velocemente potrai ottenere una risposta. Del resto anche la velocità della luce ha il suo limite: circa 200mila km/s tramite fibra ottica. Ciò significa che da Mosca a Washington il ritardo sarà di circa 75 ms in RTT, e questo senza l'influenza delle apparecchiature intermedie.

Per comprendere meglio quali problemi risolvono le reti di distribuzione dei contenuti, ecco un elenco delle soluzioni attuali:

  • Google, Yandex, MaxCDN (usa CDN gratuiti per distribuire le librerie JS, ha più di 90 punti di presenza nella maggior parte dei paesi del mondo);
  • Cloudinary, Cloudimage, Google (servizi di ottimizzazione client e librerie: immagini, video, font, ecc.);
  • Jetpack, Incapsula, Swarmify, ecc. (ottimizzazione delle risorse nei sistemi di gestione dei contenuti: bitrix, wordpress, ecc.);
  • CDNVideo, StackPath, NGENIX, Megafon (CDN per la distribuzione di contenuti statici, utilizzati come reti per uso generale);
  • Imperva, Cloudflare (soluzioni per velocizzare il caricamento dei siti web).

I primi 3 tipi di CDN dell'elenco sono progettati per trasferire solo una parte del traffico dal server principale. I restanti 2 vengono utilizzati come server proxy a tutti gli effetti con trasmissione completa dei canali dall'host di origine.

A chi e quali vantaggi offre la tecnologia?

In teoria, qualsiasi sito web che vende i propri prodotti/servizi a clienti aziendali o privati ​​(B2B o B2C) può trarre vantaggio dall’implementazione di una CDN. È importante che il suo pubblico target, ad es. la base utenti era al di fuori della loro posizione geografica. Ma anche se così non fosse, le reti di distribuzione aiuteranno a bilanciare il carico per grandi volumi di contenuti.

Non è un segreto che siano sufficienti un paio di migliaia di thread per intasare un canale del server. Pertanto, la distribuzione di trasmissioni video al grande pubblico porterà inevitabilmente alla formazione di un collo di bottiglia: la larghezza di banda del canale Internet. Vediamo la stessa cosa quando su un sito web ci sono molte immagini piccole e scucite (anteprime dei prodotti, ad esempio). Il server di origine utilizza una connessione TCP durante l'elaborazione di un numero qualsiasi di richieste, che metterà in coda il download. L'aggiunta di una CDN rende necessario distribuire le richieste su più domini e utilizzare più connessioni TCP, alleggerendo il carico del canale. E la formula del ritardo di andata e ritorno, anche negli scenari più tristi, dà un valore di 6-7 RRT e assume la forma: TCP+TLS+DNS. Ciò include anche i ritardi associati all'attivazione del canale radio sul dispositivo e alla trasmissione del segnale alle torri cellulari.

Dopo aver riassunto i punti di forza della tecnologia per il business online, gli esperti evidenziano i seguenti punti:

  1. Rapida scalabilità dell'infrastruttura + larghezza di banda ridotta. Più server = più punti in cui vengono archiviate le informazioni. Di conseguenza, un punto elabora meno traffico per unità di tempo, il che significa che potrebbe avere un throughput inferiore. Inoltre, entrano in gioco gli strumenti di ottimizzazione, che consentono di far fronte ai picchi di carico senza perdere tempo.
  2. Meno ping. Abbiamo già detto che alle persone non piace aspettare a lungo su Internet. Pertanto, un ping elevato contribuisce ad elevate frequenze di rimbalzo. Il ritardo può essere causato da problemi con l'elaborazione dei dati sul server, dall'utilizzo di apparecchiature obsolete o semplicemente da una topologia di rete mal studiata. La maggior parte di questi problemi vengono parzialmente risolti dalle reti di distribuzione dei contenuti. Anche se è importante notare qui che il reale vantaggio dell’implementazione della tecnologia sarà visibile solo quando il “ping del consumatore” supererà gli 80-90 ms, e questa è la distanza da Mosca a New York.

    Le misteriose vie del contenuto o diciamo una parola sulla CDN

  3. La sicurezza dei dati. Gli attacchi DDo (attacchi di virus Denial of Service) mirano a mandare in crash il server per ottenere qualche vantaggio. Un server è molto più suscettibile alle vulnerabilità della sicurezza delle informazioni rispetto a una rete distribuita (installare l'infrastruttura di un gigante come CloudFlare non è un compito facile). Grazie all'utilizzo di filtri e alla corretta distribuzione delle richieste sulla rete, è possibile prevenire facilmente le difficoltà create artificialmente con l'accesso al traffico legittimo.
  4. Distribuzione rapida dei contenuti e funzioni di servizio aggiuntive. Distribuire grandi quantità di informazioni su una rete di server consentirà di veicolare rapidamente l'offerta al consumatore finale. Ancora una volta, non è necessario cercare lontano gli esempi: ricorda solo Amazon e AliExpress.
  5. La possibilità di “mascherare” i problemi con il sito principale. Non è necessario attendere l'aggiornamento del DNS; puoi trasferirlo in una nuova posizione e distribuire il contenuto precedentemente memorizzato nella cache. Ciò a sua volta può migliorare la tolleranza agli errori.

Abbiamo individuato i vantaggi. Ora diamo un’occhiata a quali nicchie ne traggono vantaggio.

Attività pubblicitaria

La pubblicità è il motore del progresso. Per evitare che il motore si bruci, deve essere caricato moderatamente. Quindi l'attività pubblicitaria, cercando di far fronte al moderno mondo digitale, si trova ad affrontare i problemi dei "contenuti pesanti". Per media pesanti si intende la pubblicità multimediale (principalmente banner e video animati) che richiede un'elevata larghezza di banda della rete. Un sito web multimediale impiega molto tempo a caricarsi e può bloccarsi, mettendo a dura prova la forza dei nervi degli utenti. La maggior parte delle persone abbandona tali risorse ancor prima di aver scaricato tutte le informazioni disponibili. Le società pubblicitarie possono trarre vantaggio dai CDN per risolvere questi problemi.

Продажи

L’e-commerce deve espandere costantemente la sua copertura geografica. Un altro punto importante è la lotta contro i concorrenti, presenti in ogni segmento di mercato. Se un sito web non soddisfa i requisiti degli utenti (incluso il tempo impiegato per il caricamento), non sarà popolare e non sarà in grado di generare conversioni costantemente elevate. L’implementazione di una CDN dovrebbe rivelarsi vantaggiosa nella gestione delle richieste di dati da diverse località. Inoltre, la distribuzione del traffico aiuterà a prevenire picchi di traffico e conseguenti guasti del server.

Piattaforme con contenuti di intrattenimento

Qui sono adatti tutti i tipi di piattaforme di intrattenimento, dal download di film e giochi allo streaming di video. Nonostante la tecnologia funzioni con dati statici, i dati in streaming possono raggiungere l'utente più velocemente attraverso i ripetitori. Ancora una volta, la memorizzazione nella cache delle informazioni CDN è una salvezza per i proprietari di portali di grandi dimensioni: archiviazione multimediale.

Giochi online

I giochi su Internet devono essere inseriti in una sezione separata. Se la pubblicità richiede un’ampia larghezza di banda, i progetti online richiedono ancora più risorse. I provider si trovano ad affrontare un problema che ha due facce: velocità di accesso ai server + garanzia di prestazioni di gioco elevate con una grafica meravigliosa. Una CDN per i giochi online offre l’opportunità di avere le cosiddette “push zone” in cui gli sviluppatori possono archiviare i giochi su server situati vicino agli utenti. Ciò consente di ridurre l'impatto della velocità di accesso al server originale e quindi di garantire un gameplay confortevole ovunque.

Perché la CDN non è una panacea

Le misteriose vie del contenuto o diciamo una parola sulla CDN
Nonostante gli ovvi vantaggi, non tutti e non sempre si sforzano di introdurre la tecnologia nella propria attività. Perché? Paradossalmente, dai vantaggi derivano alcuni svantaggi, a cui vengono aggiunti un paio di altri punti relativi all'implementazione della rete. Gli esperti di marketing parleranno magnificamente di tutti i vantaggi della tecnologia, dimenticando di menzionare che diventano tutti privi di significato in un'ampia gamma di condizioni. Se esaminiamo più in dettaglio gli svantaggi della CDN, vale la pena evidenziare:

  • Funziona solo con la statica. Sì, la maggior parte dei siti Web moderni ha una bassa percentuale di contenuti dinamici. Ma laddove le pagine sono personalizzate, la CDN non potrà aiutare (a meno di non scaricare una grande quantità di traffico);
  • Ritardo nella memorizzazione nella cache. L'ottimizzazione stessa è uno dei principali vantaggi delle reti di distribuzione. Ma quando apporti una modifica sul server di origine, ci vuole del tempo prima che la CDN la riacquisti su tutti i suoi server;
  • Blocchi di massa. Se per qualsiasi motivo l'indirizzo IP di una CDN viene bannato, tutti i siti che sono ospitati su di essa vengono chiusi;
  • Nella maggior parte dei casi, il browser effettuerà due connessioni (al server di origine e al CDN). E questi sono ulteriori millisecondi di attesa;
  • Associazione all'indirizzo IP dei progetti (anche inesistenti) che gli erano stati precedentemente assegnati. Di conseguenza, otteniamo classifiche complicate dai robot di ricerca di Google e difficoltà nel portare il sito in cima durante la promozione SEO;
  • Il nodo CDN è un potenziale punto di fallimento. Se li utilizzi, è importante capire in anticipo come funziona il routing del sistema e quali errori possono verificarsi durante l'utilizzo del sito;
  • È banale, ma devi pagare per i servizi di distribuzione dei contenuti. In generale, i costi sono proporzionali al volume del traffico, il che significa che potrebbero essere necessari controlli per pianificare il budget.

Un dato importante: anche la vicinanza della CDN all'utente non garantisce un ping basso. Il percorso può essere costruito da un cliente a un host situato in un altro paese o anche in un altro continente. Ciò dipende dalla politica di routing di una particolare rete e dal suo rapporto con gli operatori di telecomunicazioni (peering). Molti grandi fornitori di CDN hanno piani multipli, in cui il costo influisce direttamente sulla vicinanza del punto di presenza quando si forniscono contenuti agli utenti target.

Ci sono opportunità: lancia il tuo CDN

Non sei soddisfatto delle politiche delle aziende che forniscono servizi di rete di distribuzione di contenuti, ma la tua attività ha bisogno di espandersi? Se possibile, perché non provare a lanciare il tuo CDN. Ciò ha senso nei seguenti casi:

  • I costi attuali per la distribuzione dei contenuti non soddisfano le aspettative e non sono economicamente giustificati;
  • Abbiamo bisogno di una cache permanente, senza vicinanza ad altri siti sul server e sul canale;
  • Il pubblico target si trova in una regione in cui non sono disponibili punti di presenza CDN;
  • La necessità di personalizzare le impostazioni durante la fornitura di contenuti;
  • È necessario accelerare la distribuzione di contenuti dinamici;
  • Sospetti di violazione della privacy degli utenti e altri atti illeciti da parte di servizi terzi.

Per avviare una CDN sarà necessario disporre di un nome di dominio, diversi server in diverse regioni (virtuali o dedicati) e uno strumento di elaborazione delle richieste. Non dimenticare di installare certificati SLL, configurare e modificare programmi per fornire contenuti statici (Nginx o Apache) e monitorare efficacemente l'intero sistema.

La corretta configurazione dei caching proxy è oggetto di un articolo a parte, quindi non descriveremo in dettaglio qui: dove e quale parametro impostare correttamente. Considerando i costi di avvio e il tempo necessario per implementare una rete, l’utilizzo di soluzioni già pronte potrebbe essere più promettente. Ma è necessario lasciarsi guidare dalla situazione attuale e pianificare diversi passi avanti.

Con il risultato che

CDN è un insieme di capacità aggiuntive per trasmettere il tuo traffico alle masse. Sono necessari per il business online? Sì e no, tutto dipende dal pubblico a cui è destinato il contenuto e dagli obiettivi che l'imprenditore persegue.

I progetti regionali e altamente specializzati riceveranno più svantaggi che vantaggi dall’implementazione della CDN. Le richieste arriveranno comunque prima al server di origine, ma tramite un intermediario. Da qui la dubbia riduzione del ping, ma costi mensili abbastanza definiti per l'utilizzo del servizio. Se disponi di una buona attrezzatura di rete, puoi facilmente migliorare gli algoritmi di sicurezza delle informazioni esistenti, posizionare i tuoi server più vicini agli utenti e ricevere ottimizzazioni e profitti gratuitamente su base continuativa.

Ma chi dovrebbe davvero pensare ai server intermediari sono le grandi aziende la cui infrastruttura non è in grado di far fronte al flusso di traffico in costante crescita. La CDN si presenta perfettamente come una tecnologia che consente di implementare rapidamente una rete in un'ampia geografia di utenti, fornire comodi giochi sul cloud o vendere beni su una grande piattaforma commerciale.

Ma anche con un vasto pubblico geografico, è importante capire in anticipo perché sono necessarie le reti di distribuzione dei contenuti. L’accelerazione dei siti web rimane ancora un compito complesso, che non può essere magicamente risolto implementando una CDN. Non dimenticare funzionalità importanti come: multipiattaforma, adattabilità, ottimizzazione della parte server, codice, rendering, ecc. Un audit tecnico preliminare e misure adeguate per eliminare i problemi sono ancora la soluzione ottimale per qualsiasi progetto online, indipendentemente dal suo focus e dalla sua portata.

Sui diritti della pubblicità

Puoi ordinare adesso server potentiche utilizzano i processori più recenti epyc. Piani flessibili: da 1 core CPU a 128 core CPU, 512 GB RAM, 4000 GB NVMe.

Le misteriose vie del contenuto o diciamo una parola sulla CDN

Fonte: habr.com

Aggiungi un commento