# Architecture

While the GRAX Application interface is the main interface to backing up, protecting, and retaining your data, it's all powered by a single-tenant backend service that depends on an array of infrastructure components to perform successfully.

For a recap of GRAX features, business cases, or deployment options, see our product documentation.

## High-Level Components

The basic architecture of GRAX is:

1. Compute
2. Persistent Blob Storage
3. Persistent Indexed Storage
4. External Connectivity
5. Network Security Management

![GRAX Simplified Architecture](/files/JsnGs6qZvrbiGhvp5bGH)

The specific implementations of these simplistic labels can vary in both substance and complexity depending on deployment path chosen, platform of choice, and restrictions/regulations in place on all involved parties.

The guides in this section help explain the options you have in deploying GRAX, as well as enable your team to design, implement, and support the infrastructure yourself if so required.

## High-Level Constraints

Operating outside the scope of these limitations causes issues with data integrity, data loss, contractual agreements, and general service availability:

* Only one GRAX Application may be running for a given license.
* Only one GRAX Application may be talking to the storage bucket and the Database.
* Egress to `hq.grax.com` must be available at all times.
* Storage bucket performance must be on par with documented S3 performance metrics.


---

# 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://documentation.grax.com/infrastructure/architecture/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.
