Kyma是一个开源项目,旨在简化构建基于云的企业应用程序,最近发布了它的第一个主要版本。Kyma 提供了许多组件来连接现有和新的 Kubernetes 应用程序,并通过 Kubernetes 服务目录公开它们。此外,Kyma 还为连通监控、日志、事件、跟踪和身份验证提供了开箱即用的支持。
Kyma 是由 SAP 贡献出来的一个开源项目,项目官方网站把它描述成“在云原生世界中连接和扩展企业应用程序的一种灵活而简单的方式”。Kyma 运行在 Kubernetes 上,并提供了许多组件,允许将现有的企业应用程序连接到基于事件驱动的架构中,包括应用程序连接器、无服务器和服务目录。
Kyma 组件与外部应用程序集成
应用程序连接器支持将任何应用程序连接到 Kyma,并通过 Kubernetes 服务目录公开其 API 和事件。Kyma 确保外部系统和自身之间的连接是安全地,并提供对连接的监视和跟踪。
无服务器组件允许通过 JavaScript 和 Node.js 向应用程序中添加扩展,可以通过外部系统的 API 调用和事件来触发这些 function 代码。Kyma 还提供了从这些 function 中安地回调集成系统的功能。这些无服务器 function 可以独立于核心应用程序进行伸缩和更改,为事件提供者和使用者提供松散的耦合。无服务器组件构建在 Kubeless 框架之上,可以在 Kubernetes 上部署 lambda。
服务目录列出了所有注册到服务代理上的服务,包括连接的应用程序和来自云提供商(如 Azure、AWS 和谷歌云)的服务。服务目录实现了开放服务代理标准,允许使用统一的方式消费内部和外部服务。
除了这些组件之外,Kyma 还从 CNCF 挑选了一些项目,将它们集成到 Kyma 中,包括用于监控和警报的 Prometheus 和 Grafana、用于日志记录的 Loki、用于事件处理的 Knative 和 NATS、用于服务网格的 Istio、用于跟踪的 Jaeger,以及通过 dex 提供的身份验证支持。Kyma 会使用这些工具的最新版本,所以,要保持更新,只需要通过 Kyma 的自定义安装程序或Helm chart更新 Kyma 即可。
Kyma 组件架构图,包括一些组成 Kyma 生态系统的组件
Kyma 希望起到的一个关键作用是让单体企业应用程序也能够使用新应用程序所使用的功能。在通过应用程序连接器将企业应用程序连接到 Kyma 后,就可以将事件发送到 Kyma 事件总线。此外,Kyma 还设置了一个经过身份验证的管道,用以回调注册的应用程序。
在撰写本文时,应用程序和 Kyma 之间的通信支持同步和异步的方式。对于同步通信,目前支持 REST(基于 OpenAPI 规范)和 OData(基于实体数据模型规范)。异步通信是通过基于AsyncAPI规范注册事件来实现的。这个示例演示了如何将单体应用程序连接到 Kyma。
Kyma 是开源的,可以通过自定义安装程序或 Helm chart 来安装。核心开发团队遵循 Kubernetes 所采用的社区开发方法,与特定的兴趣小组一起开展工作。有兴趣为 Kyma 做贡献的读者可以通过 Twitter 或 Slack 与开发团队取得联系。
原文链接:
Kyma 1.0 Released Simplfying Integrating Enterprise Applications With Cloud-Native Services
评论