查看原文
其他

OpenFunction 0.6.0 发布: FaaS 可观测性、HTTP 同步函数能力增强及更多特性

KubeSphere 社区 KubeSphere云原生 2022-11-11

OpenFunction[1] 是一个开源的云原生 FaaS(Function as a Service,函数即服务)平台,旨在帮助开发者专注于业务逻辑的研发。在过去的几个月里,OpenFunction 社区一直在努力工作,为 OpenFunction 0.6.0 版本的发布做准备。今天,我们非常高兴地宣布 OpenFunction 0.6.0 已经正式发布了!感谢社区各位小伙伴对新功能、增强功能和错误修复的各种帮助!

OpenFunction 0.6.0 为您带来了许多值得关注的功能,包括函数插件、函数的分布式跟踪、控制自动缩放、HTTP 函数触发异步函数等。同时,异步运行时定义也被重构了。核心 API 也已经从 v1alpha1 升级到 v1beta1

面向 Serverless 函数的分布式追踪

当试图了解和诊断分布式系统和微服务时,最有效的方法之一是通过追踪函数的调用链路。分布式追踪为 Serverless 函数提供了一个关于消息流动和分布式事务监控方式的整体视图。OpenFunction 团队与 Apache SkyWalking[2] 社区合作,增加了 FaaS 的可观测性,使得您可以在 SkyWalking UI 上通过图表来可视化 Serverless 函数的依赖关系并追踪函数的调用。

将来,OpenFunction 将在日志、指标和追踪方面为 Serverless 功能增加更多的功能。您将能够使用 Apache SkyWalking 和 OpenFunction,为您的 Serverless 工作负载建立一个开箱即用的全栈 APM(Application Performance Monitoring)。此外,OpenFunction 将支持 OpenTelemetry,帮助您利用 Jaeger 或 Zipkin 作为分布式追踪的其它选项。

支持 Dapr 发布/订阅和绑定(Binding)

Dapr Binding[3] 允许您使用来自外部系统的事件触发您的应用程序或服务,或与外部系统对接。OpenFunction 0.6.0 为其同步函数增加了 Dapr 输出绑定(Output Binding),使异步函数通过 HTTP 同步函数进行触发成为了可能。例如,由 Knative 运行时支持的同步函数现在可以与由 Dapr 输出绑定或 Dapr Pub/Sub 中间件[4] 进行交互,异步函数将被同步函数发送的事件所触发。您可以通过这个 指南[5] 获得快速入门样例。

异步函数则引入了 Dapr Pub/Sub[6],提供一个平台无关的 API 来发送和接收消息。一个典型的用例是,您可以利用同步函数来接收纯 JSON 或 Cloud Event[7] 格式的事件,然后将收到的事件发送到 Dapr 输出绑定或 Pub/Sub 组件,比如是一个消息队列(如 Kafka、NATS Streaming、GCP PubSub)。最后,异步函数可以从消息队列中被触发。您可以通过这个 指南[8] 获得快速入门样例。

函数的自动伸缩行为控制

OpenFunction 0.6.0 集成了 KEDA ScaledObject[9] 规范,用于定义 KEDA 应该如何扩展您的应用程序以及触发器是什么。您只需要在 OpenFunction 函数的 CRD 中定义伸缩下限和上限,而无需改变您的代码。

同时,OpenFunction 社区也在开发控制并发性和同时请求数的能力,它继承了 Dapr[10]Knative[11] 的定义。分布式计算的一个典型用例是只允许一定数量的请求同时执行。您将能够控制多少个请求和事件将同时调用您的应用程序。这个功能将在下一个版本中得到完全支持,敬请期待!如果您对这个功能感兴趣,请查看官方代码仓库中的 讨论[12],了解详细的背景。

在实践中学习

OpenFunction 的创始人霍秉杰先生在 Dapr 社区会议上介绍了 OpenFunction 0.6.0 的两个典型用例:

  1. HTTP trigger for asynchronous functions with OpenFunction and Kafka[13]
  2. Elastic Kubernetes log alerts with OpenFunction and Kafka[14]

您可以观看下面这两段视频,并按照实践指南进行练习。

您还可以从 发布说明[15] 中了解更多关于 OpenFunction 0.6.0 的信息。参照 快速入门[16]样例[17] 开始使用 OpenFunction。


欢迎对 Serverless 和 OpenFunction 感兴趣的小伙伴加入我们的函数计算交流群:

如果二维码失效或者已满 200 人,可扫码添加小 kk 微信拉你进群:

引用链接

[1]

OpenFunction: https://github.com/OpenFunction/OpenFunction

[2]

Apache SkyWalking: https://skywalking.apache.org/

[3]

Dapr Binding: https://docs.dapr.io/reference/components-reference/supported-bindings/

[4]

Dapr Pub/Sub 中间件: https://docs.dapr.io/reference/components-reference/supported-pubsub/

[5]

指南: https://github.com/OpenFunction/samples/tree/main/functions/knative/with-output-binding

[6]

Dapr Pub/Sub: https://docs.dapr.io/developing-applications/building-blocks/pubsub/pubsub-overview/

[7]

Cloud Event: https://cloudevents.io/

[8]

指南: https://github.com/OpenFunction/samples/tree/main/functions/async/pubsub

[9]

ScaledObject: https://keda.sh/docs/2.5/concepts/scaling-deployments/#scaledobject-spec

[10]

Dapr: https://docs.dapr.io/operations/configuration/control-concurrency/

[11]

Knative: https://knative.dev/docs/serving/autoscaling/concurrency/

[12]

讨论: https://github.com/OpenFunction/OpenFunction/issues/165

[13]

HTTP trigger for asynchronous functions with OpenFunction and Kafka: https://github.com/OpenFunction/samples/tree/main/functions/knative/with-output-binding

[14]

Elastic Kubernetes log alerts with OpenFunction and Kafka: https://github.com/OpenFunction/samples/tree/main/functions/knative/logs-handler-function

[15]

发布说明: https://github.com/OpenFunction/OpenFunction/releases/tag/v0.6.0

[16]

快速入门: https://github.com/OpenFunction/OpenFunction#-quickstart

[17]

样例: https://github.com/OpenFunction/samples


关于 KubeSphere

KubeSphere (https://kubesphere.io)是在 Kubernetes 之上构建的开源容器混合云,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。

KubeSphere 已被 Aqara 智能家居、爱立信、本来生活、东软、华云、新浪、三一重工、华夏银行、四川航空、国药集团、微众银行、杭州数跑科技、紫金保险、去哪儿网、中通、中国人民银行、中国银行、中国人保寿险、中国太平保险、中国移动、中国联通、中国电信、天翼云、中移金科、Radore、ZaloPay 等海内外数千家企业采用。KubeSphere 提供了开发者友好的向导式操作界面和丰富的企业级功能,包括 Kubernetes 多云与多集群管理、DevOps (CI/CD)、应用生命周期管理、边缘计算、微服务治理 (Service Mesh)、多租户管理、可观测性、存储与网络管理、GPU support 等功能,帮助企业快速构建一个强大和功能丰富的容器云平台。


 ✨ GitHub:https://github.com/kubesphere
 💻 官网(中国站):https://kubesphere.com.cn
 👨‍💻‍ 微信群:请搜索添加群助手微信号 kubesphere
 🔗 企业服务:https://kubesphere.cloud



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存