Deploying Axual

Instance, cluster and client level services

Before to dive into the details of the Axual CLI (Command Line Interface) and its configuration, it is good to explain the different levels we see for the platform services. When we talk about services that together form Axual, we use the terms Instance level, Cluster level, Client level and Management Level regularly. The different levels form either a logical of physical segregation that is either needed for security or availability purposes. You will also find the separation of these levels in the configuration files and the Axual CLI commands.

Instance Level

Every tenant has at least 1 instance, e.g. "tenant-prod" in which all instance level services are running. Typically, tenants have 2 instances, DTA (Development, Test, Acceptance) and PROD (Production). Instance level services are:

  • Discovery API

  • Distribution

  • Schema registry

  • Instance API

Cluster Level

All services that are bound to a cluster are considered cluster level services. Those services are not related to any tenant or instance. Cluster level services are:

  • Broker

  • Cluster API

  • Cluster Browse

  • Distributor

  • Exhibitor

Client Level

Client services like Connect are not bound to specific cluster they are running on, they behave like true Kafka Clients. Those service will be connected to other Kafka Clusters than the one they’re running on as they get the configuration from Discovery API. Client services are:

  • REST Proxy

  • Connect

Management Level

Management Level services are on top of all other services Cluster Level, Instance Level and Client Level . Management level services themselves are not related to any tenant or any instance and are used to manage Cluster Level and Instance Level services. Management services are:

  • Management UI

  • Management API

  • Keycloak (If applicable)

  • Stream Browse

  • Operation Manager

  • Vault

  • Metrics Exposer (Optional) Only available with HELM deployment

Monitoring Level

Monitoring starts the machine and docker monitoring services for that machine. The metrics provided by these services are collected by the prometheus server.

  • Cluster

  • Instance

  • Client

  • Mgmt

Performing a deployment of Axual

Deployment of the platform depends on the underlying infrastructure. For a VM deployment, Axual CLI is the means to deploy the platform. For a Kubernetes deployment, a combination of Axual Operator and Helm Charts are used. Only the latter can be deployed on machines running on ARM CPUs (such as the Macbook Pro 2021). Follow the links below for more information.