How Backup Works
In Veeam Backup for Microsoft 365, data backup is conducted by a backup proxy server or a backup proxy pool that logically groups several backup proxy servers. All necessary settings including restore points that Veeam Backup for Microsoft 365 collects from backup repositories, are saved to the Veeam Backup for Microsoft 365 configuration database created on a PostgreSQL instance.
If you save your backups locally in a JET-based backup repository, all data backup activities are performed by a particular backup proxy server. If you save your backups in an object storage repository — by a particular backup proxy server or a backup proxy pool. In case of using a backup proxy pool, the execution of backup operations is dynamically distributed among multiple backup proxy servers within the backup proxy pool.
In general, Veeam Backup for Microsoft 365 performs data backup in the following way:
- The backup proxy server loads settings of a backup job from the Veeam Backup for Microsoft 365 configuration database, creates a job session and runs a backup job.
- The backup proxy server connects to the Microsoft 365 organization using Microsoft Graph API and checks if the authentication is possible.
Note |
To validate on-premises Microsoft organizations, Veeam Backup for Microsoft 365 uses PowerShell instead. |
- The backup proxy server resolves objects added to the backup job and creates a list of objects to process.
- The backup proxy server establishes a connection with a target backup repository and performs data transfer. During incremental job sessions, only those objects that have changed since the previous backup job session are processed.
If data backup is performed to an object storage repository, the backup proxy server saves metadata of the backed-up objects to this object storage repository and updates the PersistentCache database. For more information about the PersistentCache database, see Cache.
- The backup proxy server creates a restore point.
Note |
Veeam Backup for Microsoft 365 provides a self-check mechanism that allows the product to validate if backed-up data appears in the object storage repository uncorrupted after compression and transfer. For more information, see Data Validation. |