2015-05-22 12 views
9

Próbuję dowiedzieć się, jakie byłyby powody używania Mesos. Czy możesz wymyślić inne?Przypadki użycia rzeczywistych Mesy

  1. Running wszystkich swoich usług w tym samym klastrze zamiast dedykowanych klastrów (wasze końcowe wnioski + devops takie jak Jenkins)
  2. przebiegu różnych aplikacji dojrzałości w tym samym klastrze (dev, test, produkcja), lub jest to opłacalne? Kubernetes ma podobne podejście z etykietami
  3. Mesos upraszcza korzystanie z tradycyjnych aplikacji rozproszonych, takich jak Hadoop poprzez ułatwianie wdrażania, zunifikowanego API, Bin-pakowanie zasobów

Odpowiedz

25

Pełne ujawnienie: Obecnie pracuję na Twitterze i jestem zaangażowany zarówno w Apache Mesos, jak i Aurora.

Moza używa przypadków może się różnić w zależności od kilku wymiarów: skali (10 serwerów w porównaniu do 10 tysięcy), dostępnego sprzętu (dedykowanego/statycznego lub w chmurze publicznej/skalowalnej) i obciążeń (głównie usług, partii lub obie).

Twoja lista to świetny początek. Oto kilka dodatkowych przypadków/funkcji do dodania.

Pojemnik Orkiestracja

Ponieważ czasy pracy kontenerów jak Döcker stały się popularne, wiele potencjalnych użytkowników patrząc na Mesos + harmonogram zarządzania orkiestracji raz są tworzone obrazy kontenerów. Mesos jest już dość dojrzały i został sprawdzony na dużą skalę, co, jak sądzę, dało mu przewagę nad niektórymi nowymi rozwiązaniami.

Zwiększenie zasobów Wykorzystanie

Dla firm działających> 50 serwerów, wspólna motywacja do przyjęcia Mesos jest zwiększenie wykorzystania zasobów w celu zmniejszenia nakładów inwestycyjnych. Istnieje wiele przykładów tego, zarówno w chmurze publicznej, jak i prywatnej. W przypadku serwisu Ebay prowadzili Jenkinsa na Mesos i byli w stanie zmniejszyć swój ślad VM. Mesosphere opublikowała także case study of HubSpot (działanie w AWS) i to, w jaki sposób udało im się zastąpić setki mniejszych serwerów dziesiątkami większych dzięki bardziej efektywnemu wykorzystaniu ich dostępnego sprzętu.

Preemption

Na Twitterze mamy uruchomiony Mesos za pomocą jednego programu planującego: Apache Aurora. Jednym ze sposobów, w jaki możemy poprawić wykorzystanie, jest przypadek użycia: uruchamianie różnych aplikacji dojrzałości w tym samym klastrze. Aurora ma koncepcję środowisk, dzięki czemu można uruchamiać aplikacje, które są produkcją, rozwojem lub testem.Dodatkowo, Aurora ma wbudowaną funkcję preemption, która pozwala mu priorytetowo traktować produkcję nad zadaniami nieprodukcyjnymi, zabijając zadania nieprodukcyjne, gdy te zasoby są potrzebne do uruchomienia produkcji, a także system priorytetowy w każdym środowisku.

Długoterminowa funkcjonalność związana z prewencją będzie również znajdować się w samym rdzeniu Mesos - jest to funkcja zabójcza związana zarówno ze zwiększonym wykorzystaniem zasobów, jak i uruchamianiem różnych aplikacji dojrzałości (dev, test, prod). Jest kilka biletów na Mesos, które można śledzić, jeśli interesuje Cię aktualizowanie, w tym MESOS-155 w celu prewencji, oraz MESOS-1474 w przypadku ofert odwrotnych.

lokalizowania partii i usługi

przebiegu partii i usług w udostępnionym klastra Mesos będzie kluczem do jazdy w górę wykorzystanie nawet dalej jak wskazuje js84. Sprawdź Project Myriad, próbę kolokacji obciążeń Mesos i YARN w tym samym klastrze. W tej chwili nie mam informacji o żadnych dużych wdrożeniach działających zarówno w trybie wsadowym, jak i usługowym, ale z pewnością jest to kierunek, w którym przemieszcza się społeczność, ponieważ wiele klastra może działać w klastrze współdzielonym.

+0

Dziękuję Dave za twoją dokładną odpowiedź! – user1340582

4

Przynajmniej jeden dodatkowy przypadek użycia przychodzi do głowy: Rozwój SDK do tworzenia aplikacji rozproszonych. Jeśli spojrzysz na Mesos Frameworks, znajdziesz wiele frameworków, które zostały opracowane na bazie Mesos. Również interesujące Apple's Siri framework powering Siri.

Odnośnie 1): Dodatkowym kątem, o którym należy pamiętać, jest skalowanie aplikacji w tej samej grupie. To znaczy. przy maksymalnym obciążeniu witryny, możesz łatwo przesuwać zasoby w stronę serwerów sieciowych, jednocześnie zmniejszając przetwarzanie analityczne Hadoop.