Getting Started with Kalix

Reading Time: 2 minutes

Kalix is a PaaS (Platform-as-a-Service) which makes it easy for developers to build high-performance and data-centric applications at a low cost.

Now, the question arises, why should we use it. How is it different from others? Now, let us understand the key benefits of using Kalix.

Key Features

It is less in many ways. As we all know less is more. This is the approach.

It is –

  • Database-less
  • Broker-less
  • Kubernetes-less
  • Ops-less
  • Server-less

But the question again arises, who takes care of these. How do we store data and how are deployments done? The answer is Kalix. All these activities are abstracted within Kalix. So, it makes sure that they are easier to use and used optimally, and simplified with a powerful abstraction layer.

Developers no longer have to set up and optimize databases, maintain servers, configure, or run compute clusters. Kalix is in charge of everything.

It also provides advanced data access patterns such as Event Sourcing, and CQRS requiring developers to understand how to implement them.

They only need to create their stateful serverless service in one of the supported languages, and they’ll be up and operating in minutes.

Now let us understand what the benefits of this abstraction layer are.

Benefits

Reduction in Complexity

  • Normally we need to learn about various upcoming tech stacks -how to use them, integrate them into the project, and then maintain them as well. This requires extra effort from a developer’s perspective.
  • But Kalix allows us to only focus on implementing the business logic and features and not to worry about other things. Lesser complexity leads to more development.

Increase in Simplicity

  • The main idea behind Kalix is – More Dev and Less Ops.
  • Thus, It lets the developers focus on features rather than the deployments and underlying tech stacks and maintenance. An increase in simplicity means less Ops.

Basic Architecture

Kalix follows a hierarchy. First, we create a project.

So, think of the project as a container. It contains one or more services.

  • Services are the deployment units.
  • Service includes code and data.
  • So, when we delete a service, we delete both the code and the data.
  • Service is connected to the network. So, it is exposed to the internet. And to maintain privacy we can use JWTs (JSON web tokens).

Each service has service components. These are the fundamental building blocks of Kalix.

So, service components include-

  1. Entities
  2. Views
  3. Actions

Below is an example of the basic architecture of a project in Kalix.

  • Project
  • Service 1
    • Entities
    • Views
    • Actions
  • Service 2
    • Entities
    • Views
    • Actions

So, this was an introductory blog on Kalix.In the upcoming blogs, we’ll get into more detail and understand each service component. So, stay tuned. For reference please check out the official documentation of Kalix.