@Rays
2018-02-10T11:06:05.000000Z
字数 2168
阅读 1754
语言开发
Oracle
摘要: 近期在美国Austin市召开的KubeCon北美大会上,InfoQ与Oracle容器组的副总裁Bob Quillin开展了一次对话,内容围绕Oracle的FaaS“无服务器”平台Fn项目。自2017年10月推出以来,Fn项目发展迅速,并逐步添加了对Prometheus监测的支持、Fn Flow高可用集群的实现、一种新的混合架构以及开源的Helm Chart Fn安装程序。
作者: Daniel Bryant
正文:
近期在美国Austin市召开的KubeCon北美大会上,InfoQ与Oracle容器组的副总裁Bob Quillin开展了一次对话,内容围绕Oracle的FaaS“无服务器”平台Fn项目。自2017年10月推出以来,Fn项目发展迅速,并逐步添加了对Prometheus监测的支持、Fn Flow高可用集群的实现、一种新的混合架构以及开源的Helm Chart Fn安装程序。
在对话一开始,Quillin就指出,Fn项目是一个开源的“事件驱动的FaaS计算平台,可以运行在任何地方”(InfoQ去年曾报道了Fn项目在旧金山举行的JavaOne大会上推出)。他强调指出,在Kubernetes这样的“开放平台”上构建“开发工具集”,是提高那些有意向组织采纳“云原生”方式的一种最有效方法。
近期,Fn项目基于对多种语言创建和运行功能的初步支持,添加了一些功能。其中包括,用于监控函数执行多方面情况的Prometheus支持、用于Fn Flow引擎的集群实现、“混合架构”的创建(用于实现在公共或私有云基础架构内的灵活部署),以及为Kubernetes项目的部署创建Helm Chart。
最新添加到Fn服务器中的对Prometheus度量的支持功能,支持将调用统计数据、性能数据、资源占用等数据发送到Prometheus监控系统和时序数据库中。目前Fn提供三组Prometheus度量,分别是函数计数(即运行、成功或失败的函数数量)、操作持续时间(即执行函数功能等各类操作所需的时间)以及一些Docker度量(即当Fn在Docker容器内执行函数时,它从容器获取各种统计信息,如CPU和内存使用情况等)。Fn使用了一组Grafana仪表盘实现度量数据的可视化。现在,仪表盘功能是“开箱即可用”的。
Quillin介绍了如何使用Fn等框架“最终实现DevOps”。他建议,通过对一些操作方面上做抽象(例如,在Docker镜像中打包代码),并给出核心“可观察性”工具,开发人员可以更有效地交付商业价值。
Fn Flow支持创建和编排“长期运行、可靠并可扩展的函数”,这些函数只有在需要执行时,才会消耗计算资源。Fn Flow支持以一种语言定义所有的工作流程,但是目前只支持Java,并对其它一些语言实现了早期的原型。Fn还支持使用一些惯常语言结构,例如Java 8的CompletableFuture API方法。
最新发布的Fn Flow支持跨多个计算实例的集群,从而使平台具备高可用的运行能力。值得注意的是,Fn Flow已经跻身日益活跃的下一代业务流程建模和编排工具,其竞争对手包括RockScript、Apache NiFi和AWS Step Functions等。
Oracle团队发现,在将Fn集成到企业客户环境中时,由于种种原因,会有一些安装要求API基础架构与执行客户代码的基础架构相互分离。例如,有的客户虽然希望无服务器平台是“完全受控”的,但依然希望允许代码可在防火墙之外执行,尽管代码和数据从不会脱离开该网络。因此,Fn团队设计实现了一种“混合架构”,并在Fn问题追踪器中做处理和跟踪。
在Kubecon大会上,还发布了由Fn核心团队开发的Fn Project Helm Chart,它有助于将平台轻松部署到Kubernetes群集上。支撑该项目的一些核心设计原则包括:简化部署和管理(Fn由多个组件构成,每个组件都可以做一定程度上的配置,这往往会导致操作认知过载)、支持部署到任何Kubernetes集群及云供应商(图表可部署到任何满足需求的计算基础架构,无论是云、本地还是运行minikube的笔记本电脑),以及开源原则(Fn核心团队希望该图表可向社区共享)。
在本次对话的最后,Quillin介绍了云原生计算基金会(CNCF,Cloud Native Computing Foundation)的一些优点。他认为CNCF有助于制定“云原生”计算的未来愿景和实现,并为技术提供了企业验证。他指出,Oracle将会继续利用好企业现有的CNCF白金会员资格。Fn项目的未来路线图包括,参与CNCF无服务器工作组、重点支持函数的CI/CD、探索Istio和Envoy等服务网格技术的作用。
有意着手使用Fn的开发人员,可以查阅项目的网站fnproject.io、浏览Fn GitHub仓储中的大量教程、观看项目YouTube频道内容,并通过Fn社区Slack提问。
查看英文原文: Oracle's Fn Serverless Platform Adds Prometheus Support and Helm Chart Installation for Kubernetes