看新闻很累?看技术新闻更累?试试下载 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 已经跻身日益活跃的下一代业务流程建模和编排工具,其竞争对手包括 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
评论