Oracle 的 Fn 无服务器平台添加了 Prometheus 支持和安装于 Kubernetes 的 Helm Chart

  • Daniel Bryant
  • 盖磊

2018 年 2 月 15 日

话题:OracleDevOps架构Kubernetes

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

近期在美国 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 已经跻身日益活跃的下一代业务流程建模和编排工具,其竞争对手包括RockScriptApache NiFiAWS 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、探索IstioEnvoy等服务网格技术的作用。

有意着手使用 Fn 的开发人员,可以查阅项目的网站fnproject.io、浏览 Fn GitHub 仓储中的大量教程、观看项目YouTube 频道内容,并通过Fn 社区 Slack提问。

查看英文原文: Oracle's Fn Serverless Platform Adds Prometheus Support and Helm Chart Installation for Kubernetes

OracleDevOps架构Kubernetes