Mesos – automatyzacja infrastruktury dla programistów… naprawdę.
Jak już wspominałem na inleo będą pojawiały się różne artykuły związane z aplikacjami, co zostało już przedyskutowane i postanowione z Lordem Maciejem. Dlaczego? Odpowiedź na to pytanie znajdziecie w artykule Atak Klonów. A więc do rzeczy. Tym razem umówiliśmy się na opisanie w kilku częściach projektu Apache Mesos.
Czym zatem jest wspomniany projekt? Otóż jest to narzędzie niosące programistom nadzieje, że realnie będą mogli współdzielić infrastrukturę i uruchamiać na niej aplikację podając jedynie zapotrzebowanie na zasoby. Będą mogli zapomnieć o maszynach fizycznych, wirtualnych, systemach operacyjnych – po prostu wystarczy zażądać mocy obliczeniowej aby ją dostać. Pięknie prawda?
Należy sobie jednak powiedzieć wprost – jest to narzędzie na poziomie deweloperskim, to znaczy, że uruchamiane na nim będą środowiska (frameworks) a na nich poszczególne aplikacje kompatybilne z daną platformą. Choć na wielu portalach społecznościowych czy prezentacjach dostępnych na YouTube spotkałem się z określeniem DataCenterOS. Mesos tak włąśnie można traktować, chociaż nie ma to zupełnie nic wspólnego z vSphere 4, okrzykniętego niegdyś przez VMware w ten sam sposób, czy z Windows cieszącego się określeniem CloudOS. Platforma Mesos to DataCenterOS w rozumieniu menadżera klastra obliczeniowego, dbającego o przydział zasobów w pierwszej kolejności dla środowisk a w następnej dla aplikacji. Dzięki temu uzyskuje się znacznie lepsze wykorzystanie zasobów dla aplikacji niż w przypadku typowej wirtualizacji.
Zatem, koleżanki i koledzy administratorzy, jeżeli dobrze znacie się na Windows Server, vSphere, Ubuntu czy innej zacnej dystrybucji Linuksa ale pierwszy raz czytacie o Mesosie to znak, że należy wziąć się do roboty i zacząć go poznawać i oswajać – podobnie jak inne technologie dalece wykraczające poza wspomniane klasyczne systemy operacyjne. Deweloperzy przyjdą do nas po takie technologie i co ważne, będą mieli zarządy firm po swojej stronie. Dobra wiadomość jest taka, że proponuje Wam wspólne poznawanie tych obszarów w kuźni technologicznej inleo.pl, gdzie postaram się od dzisiaj opisać własną przygodę poznawania Mesos’a i innych.
Skoro już wiemy mniej więcej do czego służy Mesos (historię pominiemy – zapraszam do lektury Wikipedii), przyglądnijmy się nieco koncepcji. Opiera się ona na tej samej ideologii co system Linux, z tą różnicą że na wyższej warstwie abstrakcji. O ile Linux dzieli fizyczne zasoby dla poszczególnych procesów i uwalnia nas od myślenia np. na którym fizycznym rdzeniu dokonywane są nasze obliczenia w serwerze tak Mesos zarządza całym klastrem zasobów i wykorzystuje efekt synergii wynikający z połączenia ich w jedną dużą pulę.
Podobnie rzecz ma się z izolacją. O ile w klasycznym systemie poszczególne procesy mają rozłączne przestrzenie adresowe tak Mesos realizuje zapewnienie izolacji wskroś całego klastra wykorzystując kontenery Linux.
Zanim jednak przejdziemy do rodzajów integracji i instalacji Mesos’a (w następnej części) warto wymienić jego możliwości:
- Skalowalność do 10 tysięcy węzłów
- dostępne API w Java, Pythonie i C++
- Wielowymiarowe zarządzanie zasobami
- Wsparcie dla Dockera
- Odporność na błędy z wykorzystaniem ZooKeeper
Brzmi obiecująco dlatego w następnej części zajmiemy się omówieniem integracji i… nareszcie… instalacją rozwiązania.
Pingback: Botnet za jeden uśmiech