# Architecture

The DBNL platform architecture consists of a set of services packaged as Docker images and a set of standard infrastructure components.

<figure><img src="https://content.gitbook.com/content/xVrDMviYOLuFCuRxVlSy/blobs/ir2WBbtwg7UijXzpQIXK/image.png" alt=""><figcaption><p>dbnl platform architecture</p></figcaption></figure>

## Infrastructure

The DBNL platform requires the following infrastructure:

* A Kubernetes cluster to host the DBNL platform services.
* A PostgreSQL database to store metadata.
* An object store bucket to store raw data.
* A Redis database to serve as a messaging queue.
* A load balancer to route traffic to the API or UI service.

## Services

The DBNL platform consists in three core services:

* The API service (api-srv) serves the DBNL API and orchestrates work across the dbnl platform.
* The worker service (worker-srv) processes async jobs scheduled by the API service.
* The UI service (ui-srv) serves the DBNL UI assets.
