# Trilio for OpenStack Architecture

## Backup-as-a-Service

![Trilio is like a Data Protection project providing Backup-as-a-Service](/files/-M8BEeOUTbl8oWr1qZTX)

Trilio is an add on service to OpenStack cloud infrastructure and provides backup and disaster recovery functions 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

![Trilio architecture overview](/files/-M8BEwGLSSIzT2Z7cTll)

Trilio has four main software components:

1. Trilio ships as a QCOW2 image. User can instantiate one or more VMs from the QCOW2 image on a standalone KVM boxes.
2. Trilio API is a python module that is installed on all OpenStack controller nodes where the nova-api service is running.
3. Trilio Datamover is a python module that is installed on every OpenStack compute nodes
4. 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

![Service endpoints overview](/files/-M8BF7ti_NS_XBZwu2mB)

Trilio is both a provider and consumer into OpenStack ecosystem. It uses other OpenStack services such as nova, cinder, glance, neutron, and keystone and provides its own service to OpenStack tenants. To accomodate 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.

## Network Topology

![Example network topology](/files/-M8BFY1Y-VTamqZ_xiya)

This figure represents a typical network topology. Trilio exposes its public URL endpoint on public network and Trilio virtual appliances and data movers typically use either internal network or dedicated backup network for storing and retrieving backup images from backup 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/tvo-4.2/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.
