This topic is for a deployment in a Data Center, not on a rented Cloud infrastructure, like AWS.
There are 2 main blocks:
VMS
Storage
VMS
Main micro-services and resources
Service | Cameras | VCPU | Memory | HDD (Gb) |
Hosting | 160 | 2 | 12 | 10 |
Web | 2000 | 2 | 6 | 10 |
Control | 4000 | 2 | 8 | 10 |
Media | 300 | 2 | 8 | 24 |
CM | 500 | 2 | 4 | 10 |
WebRTC | 2000 | 2 | 8 | 10 |
Vertically scaling services
Service | Cameras | VCPU | Memory | HDD (Gb) |
SQL DB Cluster | 2500 | 2 | 8 | 250 |
ELK Cluster | 2500 | 1 | 8 | 500 |
Turn Server | 5000 | 2 | 8 | 10 |
Backend/Postgres DB | 10000 | 2 | 8 | 10 |
Storage
Object storage
One camera with 1Mbps and 30 days of retention will use approximately 350 GB of object storage.
There are 2 options for the object storage:
Object storage server, like DELL ECS EX500 series.
General-purpose storage servers like Supermicro, Dell, or HP with object storage software such as minio, Ceph, or others.
Another source of hardware examples https://www.45drives.com/products/storinator-model-details.php
Total resources for 1,000 cameras
The estimate includes a 30% overhead on virtualization:
51 VCPU
232 GB RAM
1282 GB HDD
Example of a server: Xeon Skylake with 28 cores, 56 threads, and 256 GB RAM
Object storage for 30 days continuous recording - 350TB.
Example of a server for object storage: Xeon Silver with 20 threads and 32 GB RAM