# System components & architecture

## System architecture

**GitProtect** system architecture is presented in the following diagram:

<figure><img src="/files/N2hXXcLGk6nQbG9i3Tak" alt=""><figcaption></figcaption></figure>

***

## Components

**GitProtect** product as a platform consists of three main components: management service, worker, and storage.

### <mark style="background-color:blue;">Management system</mark>

The main component required to run **GitProtect** backup system is called **GitProtect Management Service**. It allows you to comprehensively manage your backups and related resources using **Management Service** console with a user-friendly and easy to navigate UI. In on-premise deployment model it can be installed on almost any computer with **Windows** and **Linux** operating systems or **Docker** environment (even popular **NAS** devices). When it comes to SaaS deployment model, the management service runs on provider's cloud infrastructure.

**GitProtect Management Service** is divided into separate modules, each of them dedicated to a different aspect of backup management:

1. Dashboard
2. DevOps
3. Plans
4. Storages
5. Tasks
6. Logs
7. Settings

### <mark style="background-color:blue;">Worker</mark>

The second main component is called **GitProtect worker** and is an application installed on end devices with **Windows**, **Linux**, or **Mac** operating systems. **Worker** performs all operations requested by the **Management Service** including data processing (i.e., encryption, compression), connecting to data storage, sending data directly to the storage, and restoring data.

### <mark style="background-color:blue;">Storage</mark>

The last component on the list is storage—**GitProtect**, as a multi-storage system, allows you to store your backup data in the cloud (**GitProtect Cloud**, **AWS**, and any **S3** compatible public cloud), locally (NFS, SMB, iSCSI network shares, local disk resources), or in a hybrid environment.


---

# 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://helpcenter.gitprotect.io/gitprotect-software/software-information/system-components-and-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.
