GraalOS - Serverless z Javą i GraalVM
Oracle ogłosiło GraalOS - technologię do deploymentu javowych aplikacji Serverless, na GraalVM. Java i Serverless brzmią jak oksymorony, ale Oracle twierdzi, że to naprawdę działa. Dzięki GraalVM takie aplikacje będą działać natywnie, przez co mają być o wiele szybsze i o wiele mniej zasobożerne, niż klasyczne aplikacje JVM.
Co obiecuje GraalOS
Obiecuje sporo, przede wszystkim znaczne wzmocnienie wszystkich stron aplikacji javowych w środowiskach chmurowych. Oracle przypisuje wszystkie usprawnienia wykorzystaniu możliwości GraalVM Native Image:
- Szybki start - ponieważ wynikowo są to aplikacje natywne, to ich start jest o wiele szybszy, niż aplikacji JVM. Deklarowane jest, że takie aplikacje mogą wystartować w czasie mierzonym w dziesiątkach milisekund.
- Mniejsze zużycie pamięci - podobno około 50% mniej niż standarowy deployment na JVM.
- Zatrzymywanie aplikacji na żądanie - aplikacje GraalOS można po prostu zatrzymać i wznowić, gdy pojawi się potrzeba, eliminując potrzebę uruchamiania aplikacji od zera.
- Aplikacje nie są kontenerami - czyli odpada zarządzanie kontenerami, są to natywne pliki wykonywalne.
Oznaczałoby to, że faktycznie aplikacja w Javie może mieć sens jako serverless, co do tej pory nie było takie oczywiste. Co prawda Java potrafi udźwignąć bardzo duże obciążenie, natomiast wymaga do tego sporo zasobów i rozgrzania aplikacji. Natomiast w chmurze oczekujemy pełnej prędkości działania od samego początku.
Od paru lat widać było potrzebę rozwiązań javowych dedykowanych dla chmury (albo przynajmniej o kompatybilnej charakterystyce). Wynikiem czego są właśnie GraalVM, Quarkus czy Micronaut, a teraz GraalOS.
Gdzie mogę dostać GraalOS?
I tu jest pewien haczyk. GraalOS jest we wczesnym stadium rozwoju i na razie dostępny będzie u Oracle, w Oracle Cloud Infrastructure (OCI). Pierwszym wspieranym przez GraalOS produktem jest OCI functions, gdzie wystarczy stworzyć funkcję typu “Graal function”. OCI functions zapewnia integrację z wieloma usługami z chmury Oracle, więc może to być szansa dla klientów korporacyjnych, by spróbowali podejścia serverless.
Oracle zapowiada, że w przyszłym roku dostarczy rozszerzoną wersję GraalOS - czyli pełną platformę do deploymentu takich aplikacji. Być może oznacza to, że będzie ona dostępna dla każdego.