Sommario:
Video: Guida definitiva su XFOIL 2024
Sebbene Hadoop funzioni meglio quando è installato su un computer fisico, dove l'elaborazione ha accesso diretto allo storage dedicato e al networking, Hadoop ha implementazioni alternative. E sebbene siano meno efficienti dell'hardware dedicato, in certi casi le alternative sono opzioni valide.
Server virtualizzati
Negli ultimi dieci anni una delle principali tendenze dei centri IT è la virtualizzazione, in cui un server di grandi dimensioni può ospitare diverse "macchine virtuali" che si presentano e si comportano come singole macchine. Al posto dell'hardware dedicato, l'intero set di applicazioni e repository di un'organizzazione viene distribuito su hardware virtualizzato.
Questo approccio presenta molti vantaggi: la centralizzazione dell'IT semplifica la manutenzione, l'investimento IT è massimizzato a causa di un minor numero di cicli di CPU inutilizzati e l'ingombro complessivo dell'hardware è inferiore, con un costo totale di proprietà inferiore.
Le organizzazioni in cui le distribuzioni IT sono interamente virtualizzate a volte richiedono che ogni nuova applicazione segua questo modello. Sebbene Hadoop possa essere implementato in questo modo, essenzialmente come un cluster virtuale (con nodi master virtuali e nodi slave virtuali), le prestazioni risentono, in parte perché, per la maggior parte degli ambienti virtualizzati, lo storage è basato su SAN e non collegato localmente.
Poiché Hadoop è progettato per funzionare al meglio quando tutti i nuclei della CPU disponibili sono in grado di accedere rapidamente a dischi in rotazione indipendenti, viene creato un collo di bottiglia come tutte le mappe e le attività riducono l'elaborazione dei dati tramite la rete limitata tra le CPU e la SAN. Poiché il grado di isolamento tra le risorse del server virtualizzato è limitato (i server virtuali condividono le risorse tra loro), i carichi di lavoro di Hadoop possono anche essere influenzati da altre attività.
Quando le prestazioni del server virtuale sono influenzate dal carico di lavoro di un altro server, ciò è noto in realtà nei circoli IT come un problema "vicino rumoroso"!
Gli ambienti virtualizzati possono essere piuttosto utili, in alcuni casi. Ad esempio, se l'organizzazione deve completare un'analisi esplorativa unica di un set di dati di grandi dimensioni, è possibile creare facilmente un cluster temporaneo nel proprio ambiente virtualizzato. Questo metodo è spesso un modo più rapido per ottenere l'approvazione interna piuttosto che sopportare i fastidi burocratici di procurarsi un nuovo hardware dedicato.
Mentre sperimentate con Hadoop, lo eseguite spesso sui computer portatili tramite una macchina virtuale (VM). Hadoop è estremamente lento in questo tipo di ambiente, ma se si utilizzano piccoli set di dati, è un prezioso strumento di apprendimento e test.
Distribuzioni cloud
Le variazioni degli ambienti virtualizzati sono provider di cloud computing come Amazon, Rackspace e IBM SoftLayer. La maggior parte dei principali fornitori di cloud pubblico ora ha a disposizione le offerte MapReduce o Hadoop. Ancora una volta, le loro prestazioni sono inferiori all'implementazione del cluster su hardware dedicato, ma sta migliorando.
I fornitori di servizi cloud stanno rendendo disponibili gli ambienti ottimizzati per Hadoop laddove i nodi slave dispongono di storage locale collegato e di reti dedicate. Inoltre, gli hypervisor stanno diventando molto più efficienti, con overhead e latenza ridotti.
Non considerare una soluzione cloud per applicazioni a lungo termine, perché il costo di noleggio delle risorse di cloud computing è significativamente più alto di quello di possedere e mantenere un sistema paragonabile. Con un fornitore di servizi cloud, si paga per comodità e per essere in grado di scaricare il sovraccarico dell'hardware di provisioning. Tuttavia, il cloud è una piattaforma ideale per test, formazione e attività di elaborazione dati una tantum.
Oltre alle considerazioni su prestazioni e costi, si hanno considerazioni normative con le distribuzioni del cloud pubblico. Se si dispone di dati sensibili, che devono essere archiviati in-house o in-country, una distribuzione del cloud pubblico non è un'opzione. In casi come questo, dove è necessaria la comodità di una distribuzione basata su cloud, un cloud privato è una buona opzione, se disponibile.