Najlepsza podstawa wdrożenia Mesos

9

Jesteśmy w trakcie projektowania architektury naszej nowej konfiguracji chmury Apache Mesos. Celem jest ujednolicenie naszych systemów poprzez przeniesienie różnych stosów na tę samą architekturę. Głównymi obciążeniami są analizy dużych zbiorów danych przy użyciu Apache Spark i naszej infrastruktury korporacyjnej, w tym serwerów sieciowych, serwerów pocztowych itp.

Chodzi o to, aby uruchomić nasze usługi sieciowe w kontenerach Docker działających na jednym z dostępnych harmonogramów dla Mesos (Marathon / Chronos, Aurora lub Singularity). Byłaby to zatem pierwsza grupa ramowa Mesos. Oprócz tego mielibyśmy platformę Apache Spark i kilka struktur baz danych do przechowywania danych. Byłaby to druga grupa frameworków Mesos. Wybierzemy szczegóły po uruchomieniu ich wszystkich równolegle do testowania.

Nie możemy jednak zdecydować, na jakiej podstawie uruchomić samego Mesos. Idealnie chcielibyśmy uruchomić go jak najbliżej metalu. Chcemy również użyć rozwiązania do aranżacji, aby upewnić się, że demony Mesos i frameworka zawsze działają / restartują w przypadku awarii. Opcje, które rozważamy, są następujące:

1) Uruchamianie Mesos i frameworków jako kontenerów dokerów w minimalnym systemie operacyjnym. Pod tym względem opieramy się obecnie na CoreOS i Fleet.

2) Uruchamianie Mesos i frameworków bezpośrednio na serwerach Ubuntu / Debian. W przypadku tej opcji skłaniamy się do Brygadzisty i Lalek.

Jeśli chodzi o pytanie, staramy się znaleźć rozwiązanie, które według ważności:

  • jest najmniej skomplikowany do skonfigurowania
  • jest najłatwiejszy do utrzymania i aktualizacji
  • ma najmniejszy koszt

Nie współpracowaliśmy wcześniej z CoreOS, ale wydaje się, że jest to opcja, do której zmierzamy. Mam jeden duży (subiektywny) problem z tym, że uruchamiamy Mesos na kontenerach Docker, a następnie uruchamiamy kontenery Docker na Mesos. Wydaje mi się to „nieczyste” i złe. Czy to rozważanie jest bezcelowe?

Podobna myśl dotyczy redundancji między warstwami. Aby wyjaśnić, skąd pochodzę, wolałbym, aby Mesos był rzeczywistym systemem operacyjnym, który działałby wprost na metal. Wygląda na to, że bez względu na to, z jakiej podstawy korzystasz, uzyskujesz tę samą zamierzoną funkcjonalność na więcej niż jednej warstwie architektury (tj. CoreOS & Fleet & SystemD == Mesos & Marathon & Chronos). Czy to nieuniknione?

Czy istnieją inne dobre opcje uruchomienia warstwy poniżej Mesos, których nie wzięliśmy pod uwagę, biorąc pod uwagę nasze kryteria?

awishformore
źródło
To brzmi skomplikowanie. Jaki jest urok Mesos w tym kontekście?
ewwhite
Mesos uzupełnia dane / HPC wielkie rzeczy dobrze, jak iskra lub nawet Hadoop, ale nie widzę wartość w oddanie wszystko pod nim, zwłaszcza internetowych lub poczty usług.
Michael Hampton,
@ewwhite Atrakcją w tym kontekście jest to, że możemy rozdzielać dostępne zasoby sprzętowe między wszystkie aplikacje bez konieczności segregowania naszego klastra. Jeśli uruchomimy dwie konfiguracje, będziemy musieli ręcznie podzielić między nimi zasoby.
awishformore
@MichaelHampton Wierzymy, że architektury Mesos są krokiem naprzód w chmurze obliczeniowej, ale nie twierdzę w żaden sposób, że jest to jedyna odpowiedź. Powinno być jednak oczywiste, że łatwiej jest zarządzać w klastrze niż w tym samym klastrze plus kilka dodatkowych rzeczy z boku.
awishformore
1
To może być warte obejrzenia: mesosphere.com/product - wydanie dla przedsiębiorstw będzie prawdopodobnie możliwe do zapewnienia na czystym metalu.
Mary,

Odpowiedzi:

2

Konfigurowanie i uruchamianie usług w Mesosie może być operacją złożoną lub łatwą, dlatego najpierw należy zdefiniować schemat usług, które chcesz w nim uruchamiać, w zależności od potrzeb i celów, aby uzyskać pożądaną duszę.

Prowadzę konfigurację> 70 maszyn i szereg różnych usług w ramach HAProxy do dynamicznego równoważenia obciążenia za pomocą Mesos-DNS i Marathon, bramy Api, Chronos, Jenkins, Docker, Collectd i Graphite, ...

Teraz, aby odpowiedzieć na bezpośrednie pytania:

  • Mesos jest najmniej skomplikowany do skonfigurowania przy użyciu twojej „ulubionej” dystrybucji Linuksa , którą znasz.
  • Najłatwiejsze do utrzymania jest ponownie, najlepiej znane ci dystrybucje.
  • Jeśli chodzi o koszty ogólne, Mesos to system oprogramowania, który korzysta z bazowych bibliotek systemu operacyjnego i innych funkcji oprogramowania poza swoim własnym, a posiadanie Mesos jako systemu operacyjnego (działającego zarówno ze sprzętem, jak i oprogramowaniem ...) jest rodzajem całkowicie błędnego obrazu.

Więc moją najlepszą odpowiedzią jest użycie ulubionej dystrybucji Linuksa i włączenie Mesos, a jeśli chcesz nauczyć się czegoś nowego i być może szybko i bez wysiłku, użyj DCOS i CoreOS (open source) .

Breign
źródło