Akka 所属的Lightbend公司最近推出了Kalix,这是一种新的平台即服务(Platform-as-a-Service,Paas)产品,用于使用任何编程语言构建无数据库的云原生业务关键型应用程序。Kalix 是一个统一的应用程序层,它将编写软件所需的各个部分组合在一起,并对它们的实现细节进行抽象。Lighbend 旨在为开发人员提供“创新的 NoOps 开发人员体验”。
Lightbend 的创始人兼首席执行官Jonas Bonér解释了 Kalix 的动机:
云生态系统的复杂性正在减缓工程和开发团队的速度。Kubernetes在管理、编排和确保容器的可用性和可伸缩性方面做得非常出色,但这仅仅是故事的一半。需要对应用程序层进行同等的投资,以使开发人员能更容易地构建完整的应用程序,充分利用我们所拥有的所有优秀的底层云基础设施。Kalix 就是这一关键问题的解决方案。
Kalix旨在为建模和构建有状态或无状态的原生云提供简单的开发人员体验,以及 NoOps 体验,包含了一个统一的系统设计、部署和操作方式。此外,它还提供了一个“响应式运行时”,声称通过不断优化数据访问、放置、位置和复制,可以提供“超低延迟和高弹性”。
在使用当前可用的函数即服务(Functions-as-a-Service,FaaS)产品时,应用程序开发人员需要学习和管理许多不同的 SDK 和 API 来构建单个应用程序。每个组件都有自己的特性集、语义、保证和限制。相反,Kalix 提供了一个统一的应用程序层,将必要的部分整合在一起。其中包括数据库、消息代理、缓存、服务网格、API 网关、blob 存储、CDN 网络、CI/CD 产品等。Kalix 将它们公开到一个统一的编程模型中,从用户那里抽象出实现细节。
通过将所有这些组件整合到一个包中,开发人员不必再设置并调优数据库、维护并配置服务器以及配置集群,因为 Kalix 平台可以处理这些。 Kalix 还为开发人员提供了高级数据访问模式,如事件源(Event Sourcing)、命令查询职责分离模式(CQRS)和无冲突复制数据类型(CRDT)等,因而无需开发人员再学习如何实现它们。
Kalix 与Dapr有一些相似之处,Dapr最近作为孵化项目加入了CNCF。虽然这两个平台都提供了用于构建微服务的统一 API,但它们之间存在着显著的差异。Dapr 是一个开源项目,专注于服务的可移植性和选择的自由性。开发人员可以在任何地方托管 Dapr,并几乎可以使用他们喜欢的任何技术。一般来说,Dapr 是自管理的。不过,现在也已经有针对它的托管产品了。
另一方面,Lightbend 创建的 Kalix 非常注重简化开发人员的体验。因此,对于开发人员如何建模、实施和托管他们的服务,它是更固执己见的。它抽象了 Dapr 中可用的许多实现细节,同时简化了开发人员在此过程中的选择。
作者简介:
Eran Stiller 是 badook 的首席软件架构师,badook 的总部位于澳大利亚的墨尔本。作为一名经验丰富的软件架构师和首席技术官, Eran 设计、实现并审查过多个跨业务领域的各种软件解决方案。凭借在软件开发领域多年的经验,以及在公开演讲和社区贡献方面的良好记录,微软自 2018 年起认可他为微软区域总监(MRD),并自 2016 年起认可他为微软 Azure 最具价值的技术专家(MVP)。
原文链接:
评论