La migliore base per la distribuzione di Mesos


9

Attualmente stiamo progettando l'architettura della nostra nuova configurazione cloud di Apache Mesos. L'obiettivo è unificare i nostri sistemi spostando stack diversi sulla stessa architettura. I principali carichi di lavoro sono l'analisi dei big data mediante Apache Spark e la nostra infrastruttura aziendale, inclusi server Web, server di posta, ecc.

L'idea è di eseguire i nostri servizi Web in contenitori Docker in esecuzione su uno degli scheduler disponibili per Mesos (Marathon / Chronos, Aurora o Singularity). Questo sarebbe quindi il primo gruppo quadro Mesos. Accanto ad esso, avremmo il framework Apache Spark e diversi framework di database per l'archiviazione dei dati. Questo sarebbe il secondo gruppo di framework Mesos. Sceglieremo le specifiche dopo averle eseguite tutte in parallelo per i test.

Abbiamo difficoltà a decidere, tuttavia, su quali basi eseguire Mesos stesso. Idealmente, vogliamo eseguirlo il più vicino possibile al metallo. Vogliamo anche utilizzare una soluzione di orchestrazione per assicurarci che i demoni Mesos e framework siano sempre in esecuzione / riavviati in caso di errore. Le opzioni che stiamo prendendo in considerazione sono le seguenti:

1) Esecuzione di Mesos e dei framework come contenitori docker in un sistema operativo minimo. A questo proposito, ci stiamo attualmente rivolgendo a CoreOS e Flotta.

2) Esecuzione di Mesos e framework direttamente su server Ubuntu / Debian. Per questa opzione, ci stiamo sporgendo verso Foreman e Puppet.

Per quanto riguarda la domanda, stiamo cercando di identificare la soluzione che, in ordine di importanza:

  • è il meno complesso da configurare
  • è il più semplice da mantenere e da aggiornare
  • ha il minimo sovraccarico

Non abbiamo mai lavorato con CoreOS prima, ma è l'opzione verso cui ci stiamo dirigendo. Un grosso problema (soggettivo) che ho con questo è che eseguiamo Mesos sui contenitori Docker e quindi eseguiamo i contenitori Docker su Mesos. Questo mi sembra "impuro" e sbagliato per me. Questa considerazione è senza merito?

Un pensiero simile riguarda la ridondanza tra i livelli. Per spiegare da dove vengo, preferirei che Mesos fosse un vero sistema operativo che gira proprio sopra il metallo. Sembra che, indipendentemente dalla base che usi, finisci con la stessa funzionalità prevista su più di un livello dell'architettura (ad esempio CoreOS & Fleet & SystemD == Mesos & Marathon & Chronos). È inevitabile?

Ci sono altre buone opzioni per eseguire il livello sotto Mesos che non abbiamo considerato, tenendo conto dei nostri criteri?


Sembra complesso. Qual è il fascino di Mesos in questo contesto?
ewwhite,

Mesos integra bene i big data / HPC, come Spark o persino Hadoop, ma non vedo il valore nel mettere tutto sotto di esso, in particolare i servizi web o di posta.
Michael Hampton,

@ewwhite L'appello in questo contesto è che possiamo distribuire le risorse hardware disponibili tra tutte le applicazioni senza dover separare il nostro cluster. Se eseguiamo due configurazioni, dovremo dividere manualmente le risorse tra di loro.
awishformore,

@MichaelHampton Crediamo che le architetture Mesos siano la strada da percorrere per il cloud computing, ma non pretendo assolutamente che sia l'unica risposta. Dovrebbe essere ovvio, tuttavia, che è più facile gestire sul cluster che gestire lo stesso cluster più alcune cose extra sul lato.
awishformore,

1
Potrebbe valere la pena dare un'occhiata: mesosphere.com/product : l'edizione enterprise apparentemente sarà disponibile per il provisioning su bare metal.
Mary,

Risposte:


2

Configurare ed eseguire servizi in Mesos può essere un'operazione complessa o facile, e dovresti prima definire uno schema di servizi che vuoi eseguire sotto di esso, a seconda delle tue esigenze e obiettivi, per ottenere l'anima che desideri.

Gestisco una configurazione di> 70 macchine e una varietà di servizi diversi in HAProxy per il bilanciamento dinamico del carico con Mesos-DNS e Marathon, gateway Api, Chronos, Jenkins, Docker, Collectd e Graphite, ...

Ora per rispondere alle tue domande dirette:

  • Mesos è il meno complesso da configurare usando la tua distribuzione Linux "preferita" con cui hai più familiarità.
  • La più facile da mantenere è di nuovo, la distribuzione che hai più familiarità.
  • Per quanto riguarda le spese generali, Mesos è un sistema software che utilizza librerie di sistemi operativi sottostanti e altre funzionalità software a parte il suo e avere Mesos come sistema operativo (lavorando sia con hardware che software ...) è una specie di immagine completamente sbagliata.

Quindi la mia migliore risposta per te è usare la tua distribuzione Linux preferita e mettere Mesos su, o se vuoi imparare qualcosa di nuovo e possibilmente veloce e senza sforzo, usa (open source) DCOS e CoreOS .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.