White to Black Gradient
blog

Towards Declarative Cloud Native Programming: The New Kalix Developer Experience

Jonas Bonér.
CTO & Co-founder, Lightbend.
  • 1 August 2023,
  • 3 minute read

I became fascinated by Declarative Programming when I started dabbling with Prolog and Mozart/Oz back in university. Its ability to eliminate distractions and zoom in on the essence of problem-solving by allowing the developer to focus on the “what” and not the “how.” Since those days, I’ve believed this is the future of programming—not being forced to mess around with low-level details but being liberated to focus on high-level problem-solving: defining the data model, its relationships, constraints, and transformations (business logic). Then let the underlying runtime figure out how to optimally translate the high-level “blueprint” into an efficient executable system. To climb the ladder of abstraction, liberate creative freedom through constraints, and delegate as much as possible to the underlying runtime, is a goal that has stuck with me throughout my career.

This quest embodies what we are doing with Kalix, which aims to provide a Developer Experience that allows developers to work at the highest level possible. They can focus solely on building value while eliminating all unnecessary distractions and decisions. The beauty of this decoupling of responsibilities is that it frees up the platform to automatically adapt its strategies, algorithms, runtime execution, scaling, replication, and topology, and move around data and compute as needed to optimize for the current situation in real-time.

Building in Kalix equates to simply modeling your domain, its data and query model (in a ‘database-less’ fashion), defining the application’s public API (how it interacts with, and what it promises to, the external world), and the business logic (how it chooses to react to outside stimuli and operate on the data model). Based on this declarative ‘blueprint’, Kalix generates a complete reactive event-driven infrastructure stack with everything needed for a highly performant, efficient, and resilient Cloud Native system—including all infrastructure, such as database, message broker, service mesh, ingress router, caching, sharding, replication, and much more—all fully managed 24/7 by our SRE team. This separation of concerns distills developers’ responsibilities to an absolute minimum, setting them free to deliver features rapidly and safely.

In this new world, the Developer Experience (DX) is imperative. Over the last year, we have learned much about what Kalix developers need and what we can improve. We have worked hard over the past several months to incorporate insights into the Kalix Experience and take Kalix to the next level.

  • Kalix Workflows—A new component in the Kalix ecosystem makes building long-running business processes (a.k.a. Saga Pattern) faster and easier.
    • Eliminates one of the biggest challenges in a microservice architecture—business processes that span multiple services or steps and might require varying compensating flows
    • Enables developers at any level of expertise to handle complex business processes or Saga Patterns easily
  • Kalix Enhanced Local DX—Significant enhancements to the previous local DX.
    • More efficient, user-friendly, and robust local DX
    • Streamlined processes, seamless local development, and swift feedback cycles
  • Kalix Container Registry (KCR)—Kalix-hosted container registry that eliminates the necessity of a customer-owned external container registry.
    • Deploy code to Kalix running one single command
    • Fully managed container registry accounts
    • More stable and reliable
    • Doesn’t rely on images hosted on an external registry
  • Kalix Control Tower—Cutting-edge, real-time operational visibility and alerting
    • Granularity into each Kalix component makes it easy for organizations to run business-critical applications at any scale
    • Health, performance, and usage metrics for each service and component

This is just the beginning of the next stage of Kalix. We are working on more major features —such as production-like Developer Sandboxes, observability capabilities, an interactive component and application visualizer, and Kalix Edge—that we will release in the coming months. Continuing our journey and my quest to abstract developer constraints and enable them to fully focus on propelling organizations forward.

In the meantime, we have created an all-new virtual experience to explore and get hands-on with the Kalix Developer Experience.

If you have any feedback or questions, please connect with us on Slack or via the Kalix forum. We look forward to hearing from you.