Piattaforma edge cloud di Fastly

Back to blog

Follow and Subscribe

I Pilastri della resilienza di Fastly: costruire un Internet più robusto

Brian Haberman

Ingegnere esperto

Questo articolo è la prima parte della serie "Pillars of Resilience" di Fastly, che esplora come progettiamo, costruiamo e gestiamo la nostra rete globale per la massima disponibilità e prestazioni. Leggi la serie completa:

Ogni richiesta conta. Dalle transazioni allo streaming, l'esperienza utente dipende da latenza e affidabilità. Un sito web lento o non disponibile non si limita a infastidire gli utenti; influisce sul risultato finale, erode la fiducia nel brand e porta a una perdita di ricavi. Su scala globale, la sfida di consegnare contenuti in modo affidabile si amplifica in modo esponenziale.

Hai già sentito parlare di resilienza da noi. Siamo in un certo senso fissati, qualcuno direbbe ossessionati, da questo argomento. È una filosofia fondamentale radicata nella nostra cultura, architettura e nei nostri processi. Alcuni dei principi di cui parleremo sono già stati resi noti [1][2]. Ma li stiamo raccogliendo tutti per illustrare come Fastly ha progettato la sua rete per la massima resilienza. Esploreremo i principi e le tecnologie fondamentali che ci permettono non solo di consegnare contenuti alla velocità della luce, ma di farlo con una disponibilità incrollabile. Li chiamiamo i nostri pilastri della resilienza.

La sfida della distribuzione globale

Immagina di provare a distribuire un singolo elemento di contenuto, come un'immagine, a centinaia di milioni di utenti sparsi in tutto il mondo. Tutti quegli utenti non sono geograficamente vicini a una singola posizione che ospita il contenuto. Probabilmente non utilizzano nemmeno tutti la stessa rete di accesso. Quel contenuto può provenire da qualsiasi punto di Internet. Se è popolare, molte persone lo vogliono. Questo paradigma di distribuzione globale presenta una serie di sfide uniche:

  • Latenza geografica: la velocità della luce è un limite fisico. Una richiesta da parte di un utente a Londra verso un point of presence (PoP) a Sydney sarà sempre più lenta di una richiesta verso un PoP a Parigi, indipendentemente da quanto siano potenti i server nel PoP di Sydney.

  • Congestione della rete: Il traffico di rete non è uniforme. Alcune rotte possono essere sovraccaricate, causando colli di bottiglia e degrado delle prestazioni.

  • Punti unici di rottura: Il taglio di una fibra, un’interruzione di corrente o persino un errore di configurazione in un singolo data center possono mandare offline un’ampia porzione di una rete.

  • Eventi avversari: dagli attacchi DDoS (Distributed Denial of Service) alle attività dannose mirate, la rete deve essere preparata ad assorbire e mitigare un flusso costante di minacce.

Stanco delle interruzioni? Affidati ai nostri esperti per configurare il tuo Multi-CDN gratuitamente.

Ottieni l'offerta

Per una Rete di distribuzione dei contenuti (CDN), questi non sono solo problemi teorici; sono la realtà di tutti i giorni. Il valore di una CDN è direttamente legato alla sua capacità di superare costantemente queste sfide e di distribuire i contenuti dei clienti agli utenti finali. Per i nostri clienti, una CDN altamente disponibile e resiliente non è un optional; è un requisito fondamentale. Trasferendo la distribuzione dei contenuti a una CDN come Fastly, le aziende ottengono vantaggi significativi:

  1. Uptime garantito: il tuo sito web o la tua applicazione rimane accessibile anche se si verifica un problema con il server di origine o con un percorso di rete principale.

  2. Prestazioni superiori: i contenuti vengono serviti dal PoP disponibile più vicino, riducendo al minimo la latenza e garantendo un'esperienza utente più rapida e reattiva.

  3. Risparmio sui costi: assorbendo i picchi di traffico e mitigando gli attacchi, una CDN resiliente riduce il carico sulla tua infrastruttura, abbassando i costi operativi.

  4. Tranquillità: puoi concentrarti sulla creazione del tuo prodotto principale, sapendo che il meccanismo di distribuzione sottostante è progettato per resistere alla natura imprevedibile di Internet.

Per essere chiari, nessuno è immune. Le interruzioni accadono. Sono una realtà quotidiana quando si gestisce un'infrastruttura globale e complessa. La resilienza consiste nel rilevare l'inizio dell'interruzione il più rapidamente possibile. La resilienza consiste nel ridurre al minimo l'impatto dell'interruzione. La resilienza è la velocità con cui i servizi ritornano ai loro livelli normali. La vera misura di una piattaforma non è la prevenzione dei guasti, ma il modo in cui risponde e si riprende da essi.

La resilienza del sistema determina la profondità e l'ampiezza della curva di impatto

Il fondamento della resilienza: osservabilità

Prima di addentrarci nei pilastri specifici, parleremo innanzitutto di una capacità fondamentale che li attraversa: l’osservabilità.

Non puoi costruire un sistema resiliente se non ne comprendi il comportamento. In Fastly, crediamo che osservare un sistema non significhi soltanto guardare semplici metriche come l'uso della CPU o la larghezza di banda. Significa poter rispondere a qualsiasi domanda sullo stato della rete in qualsiasi momento. Questo include:

  • Metriche: tracciamento degli indicatori di prestazioni come i tassi di richieste, la latenza e i rapporti di cache hit.

  • Log: acquisizione di record dettagliati degli eventi per diagnosticare i problemi.

  • Tracce: seguire una singola richiesta mentre attraversa il sistema per identificare colli di bottiglia e punti di rottura.

Le metriche semplici possono supportare solo operazioni di rete reattive. Non forniscono un contesto sufficiente, soprattutto data la complessità di una CDN globale. Considera la seguente visualizzazione:

Ogni permutazione dello stato di produzione (codice, configurazione, carico di lavoro) è diversa

Lo stato effettivo del nostro sistema cambia continuamente. Il software non è statico. Lo stato della rete non è statico. I carichi di lavoro dei clienti non sono statici. Dobbiamo gestire una rete che non ha una baseline di confronto. Man mano che queste variabili si evolvono, si evolve anche la nostra visione della normalità.

I nostri ingegneri hanno accesso a una visione in tempo reale e completa di ogni parte della rete. 2,1 mila miliardi di dati al giorno. La nostra frequenza di raccolta baseline è di 15 secondi, ma con la possibilità di acquisire alcune metriche a frequenze molto più elevate per facilitare la diagnostica e il debug. Disponiamo di un insieme di metriche di base sempre raccolte, oltre ad altri insiemi che possono essere abilitati quando viene rilevato l'insorgere di un problema. La raccolta delle metriche può anche essere configurata per l'acquisizione a percentili diversi (ad es. 99,9999 rispetto a 99,99), poiché alcuni eventi presentano aspetti distintivi a risoluzioni diverse.

Questa profonda osservabilità è fondamentale per tutto, dalla manutenzione proattiva a una rapida risposta agli incidenti. Ci consente non solo di rilevare i problemi, ma anche di comprenderne la causa principale con precisione, un passaggio imprescindibile per la creazione di un sistema davvero resiliente. La nostra funzionalità di osservabilità facilita inoltre la pianificazione della capacità basata sui dati e le ottimizzazioni del sistema. Consentendoci di adeguarci prima che accada qualcosa di spiacevole.

È fondamentale che tutti comprendano che una simile capacità non è gratuita. La raccolta di un tale volume di dati è costosa. È necessario mantenere più pipeline di dati per raccogliere le metriche. È necessario uno storage di back-end per ospitare le metriche. Sono necessarie risorse di calcolo per trasformare i dati in informazioni. Non dovrebbe sorprendere che l’osservabilità sia una delle nostre prime 3 categorie di spesa per l’infrastruttura. Ma riteniamo che la spesa sia necessaria per comprendere davvero la nostra complessa infrastruttura.

Cosa succederà ora?

Nei post seguenti, esploreremo i singoli pilastri della resilienza che costituiscono le fondamenta della nostra infrastruttura globale. Discuteremo di come progettiamo la nostra rete affinché sia ad alta disponibilità, di come la costruiamo per resistere alle interruzioni e di come la gestiamo per sopportare anche gli eventi più complessi e ripristinarne l'operatività.

Pronto per iniziare?

Contattaci oggi