Skip to content

Deployment of a DSS instance

An operational DSS deployment requires a specific architecture to be compliant with standards requirements and meet performance expectations as described in architecture background. This section describes the deployment procedures recommended by InterUSS to achieve this compliance and meet these expectations.

The deployment of a DSS instance involves four stages:

  1. Provisioning the required cloud resources, in particular a Kubernetes cluster: Infrastructure.

  2. Coordinating with other pool members (if any): Pooling.

  3. Deploying the DSS applications under the form of Kubernetes resources: Services.

  4. Verifying the deployment was completed successfully and is fit for purpose: Verification.

flowchart
    Start --> Infrastructure --> Services --> Verification --> DeployedInstance
    Start --> Pooling --> Services

    Start(Start)
    Infrastructure["<b>Infrastructure</b><br>(VMs, Kubernetes cluster, IP addresses, DNS resolution, etc)"]
    Pooling["<b>Pooling</b><br>(Coordinating with other DSS instances in the pool)"]
    Services["<b>Services</b><br>(Deployment of jobs to Kubernetes cluster)"]
    Verification["<b>Verification</b><br>(Verifying deployment was successful)"]
    DeployedInstance["Deployed DSS instance"]

    click Infrastructure "./infrastructure" "Go to infrastructure overview"
    click Pooling "./pooling" "Go to pooling overview"
    click Services "./services" "Go to services overview"
    click Verification "./verification" "Go to verification overview"

Deployment Checklist

This checklist outlines the major decisions and steps required to deploy a non-local (e.g. production, qualification) DSS instance.

Preparation

  • Decide on the datastore you will use (CockroachDB or YugabyteDB). All participants in a DSS Pool must use the same datastore, so plan accordingly.
  • Decide how and where you will deploy the infrastructure of your DSS instances:
  • Decide how and where you will deploy the services of your DSS instances:
    • This repository provides Tanka files and Helm Charts to be used to deploy Services into a Kubernetes cluster. Terraform will automatically generate these configurations if needed.
  • Prepare sufficient resources for the services.

Deployment

  • Deploy the infrastructure by following the guides based on your previous infrastructure choice.
  • Define the pool in which your DSS will operate.
  • Deploy the services by following the guides based on your previous services choice.
  • Verify the DSS instance was deployed successfully and is fit for purpose.

Operations

Once a DSS instance is deployed, its owner will need to operate it appropriately to meet requirements.

  • Identify operational procedures that may be needed while operating the DSS instance.
  • Ensure operating personnel are trained on all applicable operational procedures that may be needed.