Infrastructure

Overview

Phaedra 2 is deployed as a set of services on a Kubernetes cluster. For a full list of these services, see Architecture.

In addition to these services, a Phaedra 2 cluster also contains:

  • Script Engine workers, to perform script executions, mainly for the CalculationService and the DataCaptureService
  • A public Keycloak server, used for authentication and authorization
  • A public API gateway, to expose the service APIs outside the cluster
  • A set of Kafka brokers, to manage the Kafka topics that the services use for inter-service communication

From within the cluster, the Phaedra services will need access to:

  • An object store that persists binary data such as images
  • A relational database that persists numerical and other data for most of the services

Deployment

Phaedra 2 components are deployed using a set of Kustomize yaml files, which are split up into 2 parts:

  • A set of generic files which can be reused across deployments,
  • A set of specific configuration files which are edited to match the environment they will be deployed on.

Helm Chart

A Helm chart is currently under development to assist with the deployment of a Phaedra 2 cluster.

Please check back soon for updates on this topic.