# T4O Architecture

## Backup-as-a-Service

![Trilio is like a Data Protection project providing Backup-as-a-Service](https://1827348953-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2ForlTBnmtYCfO7jjPr0BM%2Fuploads%2Fgit-blob-52a64c010669da511e4b5a2202f04aa33e44a340%2Ftrilio-as-a-service.png?alt=media)

Trilio is an add-on service to OpenStack cloud infrastructure and provides backup and disaster recovery solutions for tenant workloads. Trilio is very similar to other OpenStack services including Nova, Cinder, Glance, etc., and adheres to all tenets of OpenStack. It is a stateless service that scales with your cloud.

## Main Components

<figure><img src="https://1827348953-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2ForlTBnmtYCfO7jjPr0BM%2Fuploads%2Fgit-blob-0376ec30784b00693e3b5508e34cbb7482be42f9%2Ftvo-5.0-architecture.png?alt=media" alt=""><figcaption><p>Overview of T40 Architecture</p></figcaption></figure>

Trilio has three main software components which are again segregated into multiple services.

### WorkloadManager

This component is registered as a keystone service of type `workloads` which manages all the workloads being created for utilizing the snapshot and restore functionalities. It has 4 services responsible for managing these workloads, their snapshots, and restores.

1. **workloadmgr-api**
2. **workloadmgr-scheduler**
3. **workloadmgr-workloads**
4. **workloadmgr-cron**

### DataMover

Similar to **WorkloadManager**, this component registers a keystone service of the type `datamover` which manages the transfer of extensive data to/from the backup targets. It has 2 services that are responsible for taking care of the data transfer and communication with **WorkloadManager**

1. **datamover-api**
2. **datamover**

### **Horizon Dashboard Plugin**

For ease of access and better user experience, T4O provides an integrated UI with the OpenStack dashboard service **Horizon,**

1. Trilio API is a Python module that is installed on all OpenStack controller nodes where the nova-api service is running.
2. Trilio Datamover is a Python module that is installed on every OpenStack compute nodes
3. Trilio Horizon plugin is installed as an add-on to Horizon servers. This module is installed on every server that runs Horizon service.

## Service Endpoints

Trilio is both a provider and consumer in the OpenStack ecosystem. It uses other OpenStack services such as Nova, Cinder, Glance, Neutron, and Keystone and provides its own services to OpenStack tenants. To accommodate all possible OpenStack deployments, Trilio can be configured to use either public or internal URLs of services. Likewise, Trilio provides its own public, internal, and admin URLs for two of its services **WorkloadManager API** and **Datamover API**.

## Network Topology

Unlike the previous versions of Trilio for OpenStack, now it utilizes the existing network of the OpenStack deployed environment. The networks for the Trilio services can be configured as per the user's desire in the same way the user configures any other OpenStack service. Additionally, a dedicated network can be provided to Trilio services on both control and compute planes for storing and retrieving backup data from the backup target store.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.trilio.io/openstack/about-trilio-for-openstack/triliovault-for-openstack-architecture.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
