Hardware requirements for 1,000 ONVIF cameras
...
Computing and virtualization - 20 instances with 2 vCPU, 8GB each. It means we need a minimum of 40 threads = 20 cores with 160 GB of memory. It could be, for example, 1 Xeon with 28 cores (56 threads) and 256 GB. The overhead is for running Kubernetes.
...
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 |
Object storage
One camera with 1Mbps and 30 days
...
of retention will use apporximately 350 GB of object storage.
https://min.io/ is a one of the recommended options for object storage and the hardware requirements can be found here https://min.io/product/reference-hardware
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 with 28 cores and 256 GB
Object storage for 30 days continuous recording - 350TB.