Facebook usa il cloud computing?
Facebook gestisce il proprio cloud privato ospitato nei propri data center utilizzando un sistema chiamato "Twine".
Di recente hanno condiviso i dettagli. Questo risponde anche a tutte quelle domande sul perché Facebook non usa il cloud pubblico.
Twine: A Unified Cluster Management System for Shared Infrastructure
Presentiamo Twine, il sistema di gestione dei cluster di Facebook's che ha funzionato in produzione negli ultimi dieci anni. Twine ha aiutato a convertire la nostra infrastruttura da una collezione di pool siloed di macchine personalizzate dedicate a carichi di lavoro individuali, in un'infrastruttura condivisa su larga scala con hardware fungibile.
Il nostro obiettivo di un'infrastruttura condivisa ubiqua ci porta ad alcune decisioni contrarie alle pratiche comuni. Per esempio, piuttosto che distribuire un piano di controllo isolato per cluster, Twine scala un singolo piano di controllo per gestire un milione di macchine in tutti i data center di una regione geografica e spostare in modo trasparente i lavori tra i cluster.
Twine accoglie la personalizzazione specifica del carico di lavoro nell'infrastruttura condivisa, e questo approccio si discosta ulteriormente dalle pratiche comuni. L'API TaskControl permette ad un'applicazione di collaborare con Twine per gestire gli eventi del ciclo di vita del contenitore, ad esempio, riavviando un deployment di ZooKeeper prima e il suo leader per ultimo durante un aggiornamento continuo. I profili degli host catturano le impostazioni dell'hardware e del sistema operativo che i carichi di lavoro possono mettere a punto per migliorare le prestazioni e l'affidabilità; Twine alloca dinamicamente le macchine ai carichi di lavoro e cambia i profili degli host di conseguenza.
Infine, andando contro la saggezza convenzionale di dare priorità ai carichi di lavoro impilati su grandi macchine per aumentare l'utilizzo, distribuiamo universalmente piccole macchine efficienti dal punto di vista energetico con una singola CPU e 64GB di RAM per ottenere prestazioni più elevate per watt, e sfruttiamo l'autoscaling per migliorare l'utilizzo delle macchine.
Descriviamo il design di Twine e condividiamo la nostra esperienza nella migrazione dei carichi di lavoro di Facebook sull'infrastruttura condivisa.
Articoli simili
- Quali sono le differenze tra Mobile computing, Ubiquitous computing e pervasive computing?
- Considererebbe il cloud computing una delle invenzioni significative degli ultimi 2 decenni?
- Cosa è buono per il futuro, l'apprendimento automatico, il cloud computing, l'IA o la scienza dei dati?
- Qual è il miglior libro sul cloud computing?