Completamento della migrazione su cloud di Netflix

La transizione di Netflix verso il cloud è cominciata nell'agosto del 2008, quando, a causa di un danneggiamento del database, per tre giorni non siamo riusciti a spedire DVD agli abbonati. A quel punto abbiamo capito che dovevamo abbandonare le configurazioni a singolo punto di errore e scalatura verticale, quali i database relazionali del nostro data center, a favore di sistemi distribuiti su cloud, più affidabili e scalabili in orizzontale. Come provider di cloud abbiamo scelto Amazon Web Services (AWS), perché metteva a disposizione la massima scalabilità e l'offerta più ampia di servizi e funzionalità. La maggioranza dei nostri sistemi, inclusi quelli a diretto contatto con i clienti, sono stati migrati sul cloud prima del 2015. Tuttavia, abbiamo voluto dedicare il tempo necessario a individuare con calma un percorso di utilizzo del cloud sicuro e durevole per la nostra infrastruttura di fatturazione e per tutti gli aspetti di gestione dei dati riguardanti clienti e dipendenti. Siamo lieti di annunciare che all'inizio di gennaio del 2016, dopo sette anni di diligente lavoro, abbiamo portato a compimento la nostra migrazione sul cloud e chiuso tutti gli ultimi data center utilizzati dal nostro servizio di streaming!

Il passaggio al cloud ha portato a Netflix diversi vantaggi. Abbiamo un numero di abbonati in streaming otto volte superiore a quello del 2008 e una maggiore attività degli utenti, con una visione di contenuti triplicata in otto anni:

L'offerta stessa di Netflix ha continuato a evolversi, includendo nuove funzioni a elevato utilizzo di risorse e basate su volumi di dati in continua crescita. Sostenere una crescita così rapida con i nostri data center sarebbe stato estremamente difficile: il numero dei server necessari non sarebbe mai stato sufficiente. L'elasticità del cloud invece ci consente di aggiungere migliaia di server virtuali e petabyte di archiviazione in pochi minuti, permettendoci di ampliare le nostre capacità. Il 6 gennaio 2016 Netflix ha esteso il suo servizio a oltre 130 nuovi paesi, diventando una vera e propria rete globale di Internet TV. Grazie a diverse aree cloud di AWS distribuite in tutto il mondo, siamo in grado di spostare ed estendere dinamicamente la nostra infrastruttura globale, offrendo un'esperienza di streaming migliore a tutti gli abbonati, ovunque essi siano.

Ci affidiamo al cloud per tutte le nostre necessità scalabili di elaborazione e archiviazione: la nostra logica di business, l'elaborazione/analisi di database e big data distribuiti, i suggerimenti, la transcodifica e centinaia di altre funzioni che costituiscono l'applicazione Netflix. La componente video è affidata a Netflix Open Connect, la nostra rete di erogazione dei contenuti distribuita in tutto il mondo, che ci permette di raggiungere i dispositivi degli abbonati con grande efficienza.

Il cloud ci ha anche consentito di aumentare in modo significativo la disponibilità del servizio. In passato i nostri data center hanno subito interruzioni operative, e sebbene anche il cloud ci abbia dato del filo da torcere, soprattutto nei primi periodi di migrazione, ora riscontriamo un aumento costante della disponibilità del servizio e ci stiamo avvicinando al nostro obiettivo di un uptime di quattro nove (99,99%). Le interruzioni sono inevitabili in qualsiasi sistema distribuito su larga scala, inclusi quelli basati sul cloud. Il cloud tuttavia permette di creare servizi ad alta affidabilità a partire da componenti fondamentalmente meno affidabili, ma ridondanti. Incorporando nella nostra architettura i principi della ridondanza e della "graceful degradation", e affidandoci a regolari esercitazioni con gli strumenti Simian Army, siamo in grado di far fronte alle interruzioni all'interno dell'infrastruttura cloud e dei nostri sistemi senza ripercussioni sull'esperienza degli utenti.

La riduzione dei costi non è stata la ragione principale per cui abbiamo deciso di passare al cloud, ma alla fine i nostri costi di cloud per streaming si sono rivelati molto inferiori a quelli dei data center, un vantaggio inatteso che è stato molto apprezzato. Ciò è dovuto all'elasticità del cloud, che ci ha consentito di ottimizzare continuamente il mix di istanze e di accrescere o ridurre quasi istantaneamente il nostro footprint, senza dover mantenere grandi buffer di capacità. Possiamo inoltre trarre vantaggio dalle economie di scala, che sono possibili solo in un grande ecosistema basato sul cloud.

Considerati gli ovvi benefici del cloud, perché ci sono voluti sette anni per completare la migrazione? Il passaggio al cloud ha richiesto un enorme lavoro e abbiamo dovuto prendere decisioni difficili lungo il cammino. Teoricamente il modo più facile di passare al cloud consiste nel prelevare tutti i sistemi dai data center, senza alcuna modifica, e depositarli in AWS. Ma in tal modo si finisce col trasferire anche i problemi e le limitazioni del data center stessi. Abbiamo deciso invece di usare l'approccio "cloud-native", ricreando in pratica tutta la nostra tecnologia e modificando fondamentalmente il modus operandi della nostra società. Dal punto di vista dell'architettura, abbiamo eseguito la migrazione da un'applicazione monolitica a centinaia di microservizi e denormalizzato il nostro modello dati grazie ai database NoSQL. Le approvazioni dei budget, il coordinamento centralizzato delle release e i cicli di provisioning hardware su più settimane hanno ceduto il passo alla distribuzione continua e a team di ingegneri autorizzati a prendere decisioni indipendenti con strumenti self-service in un ambiente DevOps a basso accoppiamento, promuovendo così un'accelerazione dell'innovazione. Abbiamo dovuto creare nuovi sistemi e sviluppare nuove competenze. Trasformare Netflix in una società "cloud-native" ha richiesto tempo e sforzo, ma ci ha posizionato al meglio per continuare a crescere e a diventare una rete TV globale.

Negli ultimi anni la tecnologia di streaming di Netflix ha fatto passi da gigante ed è incredibile non sentirsi più ostacolati dalle limitazioni del passato. Visto che il cloud è comunque relativamente nuovo per molti in questo settore, rimangono ancora diversi punti da chiarire e problemi da risolvere. Attraverso iniziative quali Netflix Open Source, speriamo di continuare a collaborare con i migliori esperti nel campo della tecnologia per affrontare insieme tutte le sfide presenti e future.

-Yury Izrailevsky, Stevan Vlaovic e Ruslan Meshenberg

Altro: Blog aziendale

Un approccio globale per i consigli personalizzati

Con il lancio di Netflix in 130 nuovi paesi a gennaio, per garantire il buon funzionamento del nostro servizio in tutto il mondo abbiamo dovuto risolvere diversi problemi tecnici con un approccio globale. Leggi tutto

Su