Mandrel: dystrybucja GraalVM do tworzenia Quarkusa

Red Hat i społeczność GraalVM ogłosiły niedawno wydanie nowej dystrybucji GraalVM o nazwie Mandrel . Ma ona ulepszyć kompilację Red Hat Quarkus, niedawno ogłoszonego dodatku do środowiska uruchomieniowego Red Hat Runtimes.

Quarkus to natywny framework Java Kubernetes dla JVM i kompilacji natywnej. Quarkus zapewnia wydajne rozwiązanie do uruchamiania bezserwerowych aplikacji Java, mikrousług, kontenerów, Kubernetes, FaaS i aplikacji chmurowych. Mandrel jest oprogramowaniem open source i dostępnym na GitHubie, ale nie ma jeszcze dystrybucji binarnej.

Jak wynika z notatki Marka Little’a, starszego dyrektora ds. inżynierii w Red Hat, Mandrel można opisać jako dystrybucję standardowego OpenJDK ze specjalnie spakowanym natywnym obrazem GraalVM.

Głównym celem wprowadzenia przez Red Hat platformy Mandrel jest zwiększenie szybkości i wydajności frameworka Quarkus. To framework oferujący lokalne możliwości tworzenia oprogramowania z szybkim przeładowywaniem oraz dystrybucję kontenerową lub bezserwerową do dostawców chmury obliczeniowej.

Quarkus koncentruje się na możliwości tworzenia natywnych plików wykonywalnych , które uruchamiają się szybciej, a także redukują koszty i zasoby operacyjne w chmurze.

Red Hat wyjaśnił, że dla Quarkusa ważnym elementem GraalVM jest natywna funkcja obrazu , która generuje natywne pliki wykonywalne – kluczowa cecha, dzięki której Java może konkurować w obciążeniach natywnych dla chmury. Dlatego Mandrel umożliwia korzystanie z GraalVM wraz z OpenJDK 11 w systemie Red Hat Enterprise Linux i innych dystrybucjach OpenJDK 11.

Według firmy Red Hat różnica dla użytkownika jest minimalna, ale ze względu na łatwość konserwacji konieczne jest wcześniejsze dostosowanie do OpenJDK 11 i GraalVM.

„Dzięki firmie Mandrel klienci Red Hat i społeczność GraalVM czerpią korzyści z prawdziwie otwartego rozwoju, a Red Hat może wspierać swoich klientów sprawdzonymi mechanizmami, jednocześnie dając społecznościom, którym ufają, dalsze rozwijanie najnowocześniejszej sztuki informatyki open source”, - powiedziała firma, mówiąc o Mandrelu.

Jeśli chodzi o wydajność, GraalVM wyróżnia się 50-krotnie szybszym czasem uruchamiania i 5-krotnie niższym wykorzystaniem pamięci.

Te różne testy zostały przeprowadzone przy użyciu starszej wersji platformy Quarkus w trybie Java HotSpot. Chociaż to ulepszenie wymaga dłuższego czasu kompilacji, może być używane równolegle z wdrażaniem funkcji Quarkus Lambda i Azure.

Co więcej, repozytorium Mandrel na GitHubie nie oferuje jeszcze dystrybucji binarnej. Dlatego użytkownicy kompilują JDK samodzielnie, postępując zgodnie z instrukcjami. Co więcej, programista James Ward szczegółowo omówił GraalVM, opisując jego zalety pod względem wydajności, a także pewne wady, takie jak aplikacje oparte na refleksji.

Według niego stwarza to problem dla natywnych obrazów GraalVM, ponieważ odbicie występuje w czasie wykonywania, co utrudnia kompilatorowi AOT (wczesnego ptaka) określenie ścieżek wykonywania.

Jeśli chodzi o aplikacje, które nie muszą myśleć, strona główna Quarkusa wskazuje bezpośrednio na zalety: 12 MB pamięci RAM w porównaniu z 73 MB (spadek o 83%) i 0.016 sekundy przy pierwszej odpowiedzi w porównaniu z 0.943 (spadek o 98% ).

Programiści mogą teraz używać Mandrel we własnych kompilacjach lub polegać na społeczności GraalVM lub dowolnej dystrybucji JDK 11 i nowszych. Inni twierdzą, że te natywne frameworki Javy tak naprawdę nie działają i nie powinny stać się standardem branżowym.

Według nich, nie jest to technologia uniwersalna, pozwalająca na przekształcenie istniejącej aplikacji Java w aplikację natywną. To się nie sprawdzi, nawet w przypadku aplikacji napisanych z wykorzystaniem biblioteki z rozległego ekosystemu Java.

Ci ostatni uważają, że różni dostawcy frameworków stawiają na fakt, że większość aplikacji Java to aplikacje HTTP / ORM / JSON, oprócz środków i bezpieczeństwa itp.

Jeśli chcesz dowiedzieć się więcej, możesz zapoznać się z poniższym linkiem.


Dodaj jako preferowane źródło w Google