One of recommended approaches in building scalable architecture is using pods design (small collection of common building blocks).
The following pod design scales to a maximum 1000 concurrent tasks per installation. In a general production enviroment, one pod is deployed per data center, but you can of course also deploy multiple pods per data center.
Advantages of this design approach:
Scale in a predictable way.
Minimize service interruption and downtime. Maintenance or sudden issues in a pod only impact that one.
Scoped updating/patching. The ability to patch or update one pod at a time instead instead of having to patch all or nothing in the case of having a single deployment.
Keep all backup and replication traffic within the same pod.
Important to note is that we are talking about tasks here, not VMs, not agents, not tenants. Please check the article on Cloud Connect tasks for more info.
As every tenant can be allowed to have one ore more concurrent asks, it is important to keep track of how many tasks you already have assigned.
Components to deploy
VSPC
VCC (per 1000 concurrent tasks)
1x
VSPC Server
1x
VBR Server
1x
VSPC Web UI
3x
Cloud Gateway
1x
MSSQL DB
1x
MSSQL DB
Design overview
For simplification, backup storage and virtual infrastructure are not mentioned on the diagram.
Now that the pod design is more clear, let’s look into the specifications of each component.
VSPC
Recommendation for 5000-10000 managed computers/agents.
In general sticking with defaults is a good thing. However to increase scalability and reliability of the Cloud Connect platform the following registry keys are highly recommended to implement. Especially when scaling to 1000 concurrent tasks per installation.
IMPORTANT. Before implementing any of the VCC scalability tweaks, please check with your Veeam technical contact. All tweaks can also be found on the Veeam forums.
The titles below refer also to the server where the registry key(s) should be applied.
VCC Server
CloudConnectionProcessingThreads
Description:
Defines number of threads assigned to CC service to process incoming connections.
Type:
REG_DWORD
Registry key:
HKLM\SOFTWARE\Veeam\Veeam Backup and Replication\
Default value:
1.
Recommended value:
30 (works stable with up to 1000 concurrent tasks)
CloudConnectQuotaAllocationMode
Description:
This key changes the quota allocation mechanism in Veeam Cloud Connect. This key also affects the VCD backup jobs created from a VCD self-service portal. By default, the VCC service allocates a quota every 10 seconds, increasing it to 512 MB CloudConnectQuantSizeMb registry key). It becomes a bottleneck if data is transferred faster. The key allows VeeamAgent to request the quota necessary for work.
Type:
REG_DWORD
Registry key:
HKLM\SOFTWARE\Veeam\Veeam Backup and Replication\
Possible values:
0, 1, 2
0 - Default. VCC service increases the quota to 512 MB every 10 seconds
1 - VeeamAgent.exe process asks for the required quota itself
2 - Hybrid mode. VeeamAgent.exe prcess asks for the required quota size of set in registry key CloudConnectQuantSizeMb
Recommended value:
1
TcpTimedWaitDelay
Description:
Defines the time that must elapse before TCP can release a closed connection and reuse its resources. Basically frees up dynamic TCP ports faster. For more information refer to the Microsoft article.
By default, log files will be written to a location under C:\ProgramData\Veeam. To avoid the system volume from running full, it is recommended to change the location to a drive or volume with enough free space. It is important to keep this in mind when designing the server specs. For more info on default log locations and how to change them, check our chapter on Log files.