构建无数据库的无服务器云原生业务应用程序

135 阅读3分钟

架构师构建无服务器的云原生关键业务应用,无需数据库

Akka背后的公司Lightbend 最近推出了Kalix,这是一个新的平台即服务产品,用于使用任何编程语言构建无数据库的云原生关键业务应用。Kalix是一个统一的应用层,它将编写软件的必要部分集合在一起,并抽象出其实施细节。Lighbend打算让它为开发者提供一个 "创新的NoOps开发者体验"。

Lightbend的创始人兼CEOJonas Bonér解释了Kalix的动机:

云生态系统的复杂性正在拖累工程和开发团队。Kubernetes在管理、协调和确保容器的可用性和可扩展性方面做得很好,但这仅仅是故事的一半。需要对应用层进行同样的投资,使开发者更容易建立完整的应用,充分利用我们所掌握的所有优秀的底层云基础设施。Kalix是这个关键问题的解决方案。

Kalix旨在为建模和构建有状态和无状态的云原生提供简单的开发者体验,同时提供NoOps体验,包括以统一的方式进行系统设计、部署和运营。此外,它还提供了一个 "反应式运行时间",声称通过不断优化数据访问、放置、定位和复制,提供 "超低延迟和高弹性"。

当使用目前可用的功能即服务(FaaS)产品时,应用程序开发人员需要学习和管理许多不同的SDK和API来构建一个单一的应用程序。每个组件都有自己的功能集、语义、保证和限制。相比之下,Kalix提供了一个统一的应用层,将必要的部分拉到一起。这些组件包括数据库、消息中介、缓存、服务网格、API网关、blob存储、CDN网络、CI/CD产品等。Kalix将它们暴露在一个统一的编程模型中,从用户那里抽象出实施细节。

通过将所有这些组件纳入一个单一的软件包,开发人员不必设置和调整数据库,维护和配置服务器,以及配置集群,因为Kalix平台处理这些。Kalix还为开发者带来了先进的数据访问模式,如Event SourcingCQRSCRDTs,而开发者无需学习如何实现它们。

Kalix与Dapr有一些相似之处,后者最近作为一个孵化项目加入了CNCF。虽然这两个平台都为构建微服务提供了统一的API,但它们之间也有明显的区别。Dapr是一个开源项目,专注于服务的可移植性和自由选择。开发人员可以在任何地方托管Dapr,并使用他们喜欢的几乎任何技术。一般来说,Dapr是自我管理的。然而,已经有了针对它的管理产品。

另一方面,Lightbend创建Kalix时,非常注重简化开发者的体验。因此,它对开发者如何建模、实施和托管他们的服务有更多的意见。它抽象化了Dapr的许多实施细节,同时在这个过程中简化了开发者的选择。