4. Administrator guide

This administrator guide is meant for people who would like to deploy and manage REANA clusters. (The researchers are probably interested in reading the User guide instead.)

4.1. Architecture

REANA system is composed of multiple separated components that permit to define and manage computing cloud resources that run computational workflows on the cloud.

_images/reana-architecture.png

REANA uses the following technologies:

4.2. Components

REANA system is composed of multiple separated components that are developed independently. The components are usually published as Python packages (user client, administrator cluster management) or as Docker images (internal REANA components).

4.2.1. reana-client

REANA command line client for end users.

4.2.2. reana-commons

Shared utilities for REANA components.

4.2.3. reana-db

REANA component containing database models and utilities.

4.2.6. pytest-reana

Shared pytest fixtures and other common testing utilities.

4.2.7. reana-server

REANA component providing API server replying to client queries.

4.3. Deployment

4.3.1. Local deployment using Minikube

REANA cloud uses Kubernetes container orchestration system. The best way to try it out locally is to set up Minikube (minikube version 1.5.2 is known to work the best).

The minikube can be started as follows:

$ minikube start --vm-driver=virtualbox --feature-gates="TTLAfterFinished=true"

REANA cluster can be easily deployed using Helm:

$ helm install reana helm/reana