Come Netflix è arrivato su Amazon AWS
Pensiamo ad uno dei più grandi servizi distribuiti tramite la piattaforma cloud di Amazon: Netflix! Proviamo a chiederci: in questo momento, quale potrebbe essere uno dei più grandi problemi di Netflix ma (forse) anche la chiave del loro successo? Probabilmente dipendere al 100% dalla tecnologia di Amazon AWS.
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!
Nel 2008 Netflix ha deciso di migrare la propria infrastruttura verso il cloud computing; ha completato la migrazione in 7 anni e adesso per tutti i servizi (esclusa in parte la CDN) utilizza prodotti Amazon AWS: non hanno basato tutto su proprie istanze di macchine virtuali (tipo Amazon EC2) ma utilizzano i servizi che Amazon mette loro a disposizione usando un approccio cloud-native che sfrutta pienamente i vantaggi tecnologici del cloud computing.
Perchè Netflix ha impiegato ben 7 anni per passare sul cloud?
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à.
Beh, il messaggio è chiaro: il cloud pubblico ha senso solo se lo si utilizza a pieno, nativamente! Potrebbe oggi Netflix spostarsi su Google Cloud Platform o Microsoft Azure? Certo, ma dovrebbe essenzialmente riscrivere gran parte del proprio software per sfruttare a pieno i servizi PaaS messi a disposizione di questi nuovi vendors. E magari ci impiega tre anni. E magari questi vendors non hanno equivalenti servizi erogati in modalità PaaS costringendo Netflix a ripensare anche la propria architettura oltre che a riscrivere il software.
In questo momento, onestamente, non vedo soluzioni valide ma solo esperimenti più o meno avanzati per provare a scansare il problema del vendor lock-in.
Penso a CenturyLink, A platform to manage enterprise workloads across any cloud or infrastructure ma anche ad Apigee, Gain control and visibility into the APIs that connect applications and data across the enterprise and across clouds fino all’open-source Apache Libcloud, una libreria in Python per interagire con i più popolari servizi di cloud computing usando una interfaccia API unificata.
Resta solo da chiedersi, il gioco vale la candela? Costruire una strategia in linea con il proprio business focalizzata sulla scalabilità (come per esempio in Netflix) piuttosto che sulla razionalizzazione dei costi, stringere un rapporto di collaborazione con il proprio vendor di servizi cloud oppure definire a priori una strategia di exit potrebbero essere la chiave per minimizzare la dipendenza fisiologica dai servizi specifici del vendor.