技术开发 频道

Oracle开源Fn项目,无服务器战场硝烟四起

  【IT168 资讯】无服务器大战已经悄悄拉开序幕,AWS在战场上名声大噪。Oracle宣布开源Fn项目,还有希望在无服务器计算领域里引起一波轰动么?

  Amazon Web Services的AWS Lambda平台也许是名声最大的无服务器平台。Oracle表示,Fn将让开发人员利用他们的AWS Lambda功能,并且能够在任何地方运行它们。

  顾名思义,Fn主要依赖于功能,通常是只有一小块儿代码实现的简单功能。在功能中,开发人员只关注他们希望该功能执行的任务。

Oracle开源Fn,加入无服务器之争

  Fn包含四个主要的组件:Fn服务器、Fn FDK、Fn Flow和Fn负载均衡器。

  Fn服务器以Go编写,是运行代码的平台。Fn是一个新开源的、云平台无关的无服务器平台,也可以在云中运行,它需要使用Docker容器。Fn开发人员可以使用Java编写,Go、Ruby、Python、PHP和Node.js等计划稍后部署支持。在云端,用户无需扩展或管理服务器,就可以构建和运行应用程序。

  开发人员可以根据偏爱的语言使用一种FDK(Function Development Kit),构建和测试实现业务功能的函数。函数打包之后,就部署到Fn服务器。

  Fn Flow提供了一个用于工作流的时序控制和编排的工具,因此函数可以链接在一起以实现更高级别的业务流程。这消除了微服务架构由于服务需要彼此调用而导致的常见的耦合问题。

  负载均衡器是运营团队部署Fn服务器群集并将流量路由到其中的工具。

  与最近发布的Spring Cloud Function项目一样,Oracle的Fn提供了一个云平台无关的框架。函数打包成容器,可以在任何支持Docker的平台上运行。“container native”是Fn项目开发团队的具体目标,使其开源也是他们的目标。在一篇博文中,Oracle软件开发副总裁Chad Arimura表示,Fn团队认为开源是现在软件交付和采用的方式。因此,Fn项目使用Apache 2.0许可证开源,而这一战略似乎正在取得成效。

  Arimura是Iron.io的前创始人兼CIO。他以及开发IronFunctions(开创性的Serverless平台之一)的团队去年搬到了Oracle,然后就开发了Fn项目。尽管Arimura将Fn平台无关性视为将其与其他Serverless框架区分开来的因素之一,但也许不足为奇的是,Fn路线图的后续步骤之一是将其作为Oracle Cloud的服务。他还列出了container-native、拥有更完整的开发人员支持并且orchestrator无关的关键特征,这些特征有助于Fn项目在Serverless领域脱颖而出。

  尽管Oracle Fn推出了全面的Java FDK,但Oracle的产品管理总监Shaun Smith告诉InfoQ,已经有非常多的人在提供其他语言(包括Haskell)支持以及改进Fn Flow以执行AWS ASL。

0
相关文章