Lightbend, the company behind Akka, recently launched Kalix, a new Platform-as-a-Service offering for building cloud-native, business-critical applications using any programming language with no databases. Kalix is a unified application layer that pulls together the necessary pieces for writing software and abstracts their implementation details. Lighbend intends for it to provide developers with an "innovative NoOps developer experience".
Jonas Bonér, Lightbend's founder and CEO, explains the motivation for Kalix:
Complexity in the cloud ecosystem is slowing down engineering and development teams. Kubernetes does an excellent job managing, orchestrating, and ensuring the availability and scalability of containers, but that's only half the story. There needs to be an equal investment in the application layer to make it easier for the developer to build complete applications that take full advantage of all the excellent underlying cloud infrastructure we have at our disposal. Kalix is the solution to this critical issue.
Kalix aims to provide a simple developer experience for modelling and building stateful and stateless cloud-native, along with a NoOps experience, including a unified way to do system design, deployment, and operations. In addition, it provides a "Reactive Runtime" that claims to deliver "ultra-low latency with high resilience" by continuously optimizing data access, placement, locality, and replication.
When using currently available Functions-as-a-Service (FaaS) offerings, application developers need to learn and manage many different SDKs and APIs to build a single application. Each component brings its own feature set, semantics, guarantees, and limitations. In contrast, Kalix provides a unifying application layer that pulls together the necessary pieces. These include databases, message brokers, caches, service meshes, API gateways, blob storages, CDN networks, CI/CD products, etc. Kalix exposes them into one single unified programming model, abstracting the implementation details from its users.
By bringing all of these components into a single package, developers don't have to set up and tune databases, maintain and provision servers, and configure clusters, as the Kalix platform handles this. Kalix also brings developers advanced data access patterns like Event Sourcing, CQRS, and CRDTs without developers having to learn how to implement them.
Kalix shares some similarities with Dapr, which recently joined the CNCF as an incubating project. While both platforms offer a unified API for building microservices, there are notable differences between them. Dapr is an open-source project that focuses on service portability and freedom of choice. Developers can host Dapr everywhere and use almost any technology they'd like. In general, Dapr is self-managed. However, there are already managed offerings for it.
Lightbend, on the other hand, created Kalix with a strong focus on simplified developer experience. As a result, it is more opinionated regarding how developers model, implement and host their services. It abstracts away many of the implementation details available with Dapr while simplifying developers' choices in the process.