Wydanie MirageOS 3.6, platformy do uruchamiania aplikacji na hypervisorze

Zdarzyło się premiera projektu MirageOS 3.6, pozwalającego na tworzenie systemów operacyjnych jednego zastosowania, w których aplikacja dostarczana jest jako samodzielny „unikernel”, zdolny do działania bez użycia systemów operacyjnych, oddzielnego jądra OS i jakichkolwiek warstw pośrednich. Do tworzenia aplikacji używany jest język OCaml. Kod projektu rozpowszechniany na wolnej licencji ISC.

Cała funkcjonalność na niskim poziomie, charakterystyczna dla systemu operacyjnego, jest zrealizowana w formie biblioteki, dołączanej do aplikacji. Aplikacja może być rozwijana w dowolnym systemie operacyjnym, po czym jest kompilowana do wyspecjalizowanego jądra (koncept unikernel), które może być uruchamiane bezpośrednio na hypervisorach Xen, KVM, BHyve i VMM (OpenBSD), na platformach mobilnych, w formie procesu w środowisku zgodnym z POSIX lub w środowiskach chmurowych Amazon Elastic Compute Cloud i Google Compute Engine.

Wygenerowane środowisko nie zawiera zbędnych elementów i взаимодействuje bezpośrednio z hypervisorem bez sterowników i systemowych warstw pośrednich, co pozwala na znaczące obniżenie kosztów operacyjnych oraz zwiększenie bezpieczeństwa. Praca z MirageOS sprowadza się do trzech etapów: przygotowanie konfiguracji z określeniem używanych w środowisku pakietów OPAM, zbudowanie środowiska i uruchomienie środowiska. Runtime do zapewnienia działania na Xen oparty jest na okrojonym jądrze Mini-OS, a dla innych hypervisorów i systemów bazujących na jądrze Solo5.

Pomimo że aplikacje i biblioteki są tworzone w wysokopoziomowym języku OCaml, ostateczne środowiska pokazują całkiem niezłą wydajność oraz minimalny rozmiar (na przykład serwer DNS zajmuje zaledwie 200 Kb). Uproszczona została również konserwacja środowisk, ponieważ w przypadku aktualizacji programu lub zmiany konfiguracji wystarczy stworzyć i uruchomić nowe środowisko. Obsługiwanych jest kilkadziesiąt bibliotek w języku OCaml do wykonywania operacji sieciowych (DNS, SSH, OpenFlow, HTTP, XMPP itp.), pracy z magazynami oraz zapewnienia równoległego przetwarzania danych.

Główne zmiany w nowej wersji związane są z zapewnieniem obsługi nowych możliwości zaproponowanych w narzędziu Solo5 0.6.0 (środowisko sandboxowe do uruchamiania unikernel):

  • Dodano możliwość uruchamiania unikernel MirageOS w izolowanym środowisku spt („sandboxed process tender”), dostarczanym przez narzędzie Solo5Podczas korzystania z backendu spt, rdzenie MirageOS są uruchamiane w procesach użytkownika Linux, do których stosuje się minimalną izolację opartą na seccomp-BPF;
  • Zrealizowano wsparcie manifest aplikacji z projektu Solo5, który umożliwia zdefiniowanie kilku podłączonych do unikernel adapterów sieciowych i urządzeń magazynujących przy izolacji opartej na backendach hvt, spt i muen (użycie dla backendów genode i virtio jest obecnie ograniczone do jednego urządzenia);
  • Wzmocniono ochronę backendów opartych na Solo5 (hvt, spt), na przykład zapewniono kompilację w trybie SSP (Stack Smashing Protection).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster