甲骨文(Oracle)推出以Java為基礎的無伺服器應用程式部署技術GraalOS。透過使用Oracle GraalVM原生映像檔,GraalOS不再依賴Java虛擬機器(JVM),因此能實現高速啟動、降低資源消耗,並與雲端服務緊密整合等優勢,還可同時支援x64與AArch64兩種處理器架構。

Oracle發展這項名為GraalOS的技術,來強化自家的無伺服器運算服務OCI Functions。該服務讓開發者可以在沒有任何基礎設施的情況下,根據事件或是請求,創建、執行和擴展應用程式。官方表示,傳統無伺服器函式主要缺點之一便是啟動速度慢,在功能第一次被呼叫,或是經過一段時間不活動後,都會發生這種情況。

GraalVM技術是GraalOS重要的一環,甚至可以說是GraalOS背後的核心技術。GraalVM是一個高效能JVM和JavaScript執行環境,同時支援Ruby、R、Python等語言,除了使用JIT編譯器,大幅提高Java等語言的執行效能之外。其原生映像檔功能,則可以將應用程式提前編譯成為原生機器程式碼。而GraalOS便是使用GraalVM的原生映像檔技術,將開發者的應用程式轉為原生執行檔,因此可加速啟動並且減少資源使用,有助降低雲端成本。

當前OCI Functions運用開源容器原生無伺服器平臺Fn Project,將函式打包成容器運作,而容器的啟動與資源調用,都是造成函式啟動速度慢的原因。而官方表示,GraalOS應用程式啟動速度很快,幾乎沒有冷啟動成本。與擁有巨大冷啟動成本的容器平臺不同,GraalOS應用程式只是一個小型原生Linux可執行檔,啟動時間僅為數十毫秒。

由於GraalVM原生映像檔運用提前編譯(AOT)技術,因此GraalOS應用程式所需要的記憶體明顯減少,官方表示,由於大多數雲端服務的定價結構,記憶體使用量都是一個重要的因素,而較低的記憶體使用量,也就代表會直接影響營運成本。而且不只是記憶體,GraalOS就連使用的CPU資源,都是JVM所需的一小部分。

GraalOS應用程式在呼叫時能夠自動暫停和恢復,即便因為未接收到請求的應用程式和函式都被伺服器平臺終止,GraalOS也能夠在暫停後,快速恢復閒置應用程式,不像過去基於容器的函式啟動會出現冷啟動成本。

GraalOS大幅提升了OCI Functions的啟動速度,可讓無伺服器函式在數秒內啟動,且對大多數工作負載來說,使用的記憶體也會比傳統函式減少達50%,函式更快啟動也就代表可以支援次秒級低延遲呼叫,開啟配置的並行性需求降低。

GraalOS原生Linux可執行檔,使用了由硬體加強的應用程式隔離技術,即便沒有將應用程式打包到容器中,也能獲得隔離安全性。Oracle先在OCI Functions運用GraalOS,新添加Graal Function類型,而內建OCI Functions觸發器的Events、Connector Hub和Data Integration等服務,也都可以從GraalOS獲得效能升級效益。目前GraalOS加速功能僅先開放給Java開發者使用,官方預告未來還會支援更多語言。

熱門新聞

Advertisement