Oracle發(fā)布了Fn,F(xiàn)n是一個新開源的、云平臺無關(guān)的Serverless平臺。它初始啟動時擁有廣泛的Java能力和一個JUnit測試框架,但也支持“任何編程語言”。
Fn包含四個主要的組件:Fn服務(wù)器、Fn FDK、Fn Flow和Fn負載均衡器。Fn服務(wù)器以Go編寫,是運行代碼的平臺。
開發(fā)人員可以根據(jù)偏愛的語言使用一種FDK(Function Development Kit),構(gòu)建和測試實現(xiàn)業(yè)務(wù)功能的函數(shù)。函數(shù)打包之后,就部署到Fn服務(wù)器。Fn Flow提供了一個用于工作流的時序控制和編排的工具,因此函數(shù)可以鏈接在一起以實現(xiàn)更高級別的業(yè)務(wù)流程。這消除了微服務(wù)架構(gòu)由于服務(wù)需要彼此調(diào)用而導致的常見的耦合問題。負載均衡器是運營團隊部署Fn服務(wù)器群集并將流量路由到其中的工具。
與最近發(fā)布的Spring Cloud Function項目一樣,Oracle的Fn提供了一個云平臺無關(guān)的框架。函數(shù)打包成容器,可以在任何支持Docker的平臺上運行。“container native”是Fn項目開發(fā)團隊的具體目標,使其開源也是他們的目標。在一篇博文中,Oracle軟件開發(fā)副總裁Chad Arimura表示,F(xiàn)n團隊認為開源是現(xiàn)在軟件交付和采用的方式。因此,F(xiàn)n項目使用Apache 2.0許可證開源,而這一戰(zhàn)略似乎正在取得成效。
Arimura是Iron.io的前創(chuàng)始人兼CIO。他以及開發(fā)IronFunctions(開創(chuàng)性的Serverless平臺之一)的團隊去年搬到了Oracle,然后就開發(fā)了Fn項目。盡管Arimura將Fn平臺無關(guān)性視為將其與其他Serverless框架區(qū)分開來的因素之一,但也許不足為奇的是,F(xiàn)n路線圖的后續(xù)步驟之一是將其作為Oracle Cloud的服務(wù)。他還列出了container-native、擁有更完整的開發(fā)人員支持并且orchestrator無關(guān)的關(guān)鍵特征,這些特征有助于Fn項目在Serverless領(lǐng)域脫穎而出。
盡管Oracle Fn推出了全面的Java FDK,但Oracle的產(chǎn)品管理總監(jiān)Shaun Smith告訴InfoQ,已經(jīng)有非常多的人在提供其他語言(包括Haskell)支持以及改進Fn Flow以執(zhí)行AWS ASL。
查看英文原文:Oracle Joins Serverless Race With Open Source Fn Project