Novm kwestionuje definicję, czym jest kontener, a czym maszyna wirtualna

Kiedy myślałeś, że wyczerpały się wszystkie możliwości hipernadzorców, kontenerów i maszyn wirtualnych, pojawia się kolejny pretendent do mieszania świeżych składników w garnku.

Novm - wyprodukowany pod auspicjami Google, chociaż nie jest oficjalnym produktem Google zgodnie z opisem na GitHub - jest hiperwizorem typu 2 (podobnym do VMware Workstation, a nie VMware ESX) napisanym w Go, wykorzystującym KVM Linuksa i skupionym na uruchamianie aplikacji zamiast całych systemów.

Co ciekawe, zgodnie ze stroną projektu „ujawnia urządzenie systemu plików jako główny mechanizm uruchamiania gości”. Zamiast definiować obraz dysku, który ma być używany z maszyną wirtualną, użytkownik zauważa, które katalogi mają być widoczne dla Novm - a listę można zmieniać w czasie rzeczywistym, umożliwiając dodawanie lub usuwanie katalogów w locie, podczas gdy system biegnie.

Twórcy Novm - głównie Adin Scannell, twórca oprogramowania systemowego w Google - wskazują kilka zalet w stosunku do kontenerów dla swojego systemu, poza tym, że zarządzanie instancjami dysków jest mniej problematyczne. W przeciwieństwie do systemu opartego na kontenerach, Novm może uruchomić dowolne jądro na hoście, którego potrafi uruchomić, więc gość i host mogą uruchamiać całkowicie różne wersje Linuksa z różnymi mieszankami modułów. Ponadto ten model ma lepsze zabezpieczenia niż kontenery, ponieważ jedynymi udostępnionymi interfejsami są interfejs ABI x86 i sam hiperwizor. („Kontenery są bardziej narażone na luki w zabezpieczeniach, ponieważ gość ma dostęp do całego interfejsu wywołań systemowych jądra” - wyjaśniają twórcy).

W prezentacji LinuxCon dostarczonej w sierpniu ubiegłego roku Scannell (również twórca narzędzia Huptime) opisał niektóre z tego, co uważał za ograniczenia kontenerów. Są silnie zależne od jądra hosta, co utrudnia bezpieczeństwo, niż mogłoby się wydawać, i stwarzają problemy ze współdzielonym stanem jądra, który jest „złożony i trudny do wyizolowania”, ponieważ „migracja, wstrzymanie i wznowienie są znacznie trudniejsze. " Zamiast próbować uczynić kontenery bardziej podobnymi do maszyn wirtualnych, jego pomysł z Novm polegał na tym, aby spróbować uczynić maszynę wirtualną bardziej podobną do kontenera z wdrożeniem w stylu Dockera, mogłaby mapować w katalogach z innych systemów plików za pomocą nie więcej niż polecenia i mogłaby adresować niektóre z tych problemów.

Obecne wady podejścia Novm są trojakie: szybkość (obciążenia intensywnie korzystające z operacji we / wy wiążą się z wieloma zastrzeżeniami), obsługa bardzo niewielkiej liczby urządzeń sprzętowych oraz obsługa obecnie tylko jądra systemu Linux. Drugie ograniczenie ogranicza Novm do uruchamiania aplikacji na nowoczesnym stosie. Jak ujął to Scannell: „Nie możesz przenieść swojego niedotykalnego, starożytnego systemu IT do Novm”.

Jedną z analogii do eksplozji produktów, które badają spektrum możliwości między hiperwizorami, maszynami wirtualnymi i kontenerami, jest sposób, w jaki smartfony przeszły podobną eksplozję pod względem form, od konwencjonalnego telefonu do „phabletu”, który okazał się zaskakującym sukcesem. Każdy format spełniał różne potrzeby różnych klientów, nawet jeśli potrzeby te nie były widoczne dla innych klientów - ani dla innych producentów smartfonów.

W ten sam sposób eksperymenty takie jak te, w których badane jest przeniesienie granicy między maszyną wirtualną a kontenerem, mają na celu wyeliminowanie problemów, o których informatycy mogą nie wiedzieć. Najwyraźniej Docker był w stanie zaspokoić jeden główny problem, ale jest całkiem możliwe, że projekty takie jak Novm mogą znaleźć i zaspokoić inne potrzeby, które nie zostały wyrażone.