Server Hardware Requirements
Overview
MOSIP deployment is split into two distinct parts:
Pre-registration
Registration
The server-side hardware estimates for the above are specified at a high level in terms of compute (Virtual CPU, RAM) and storage requirements. We provide estimates for MOSIP core modules only. External components are not in the scope. See Exclusions.
The variables that largely determine the hardware requirements are:
The population of the country
Rate of enrolment
Usage of foundation ID by various services
Pre-registration
Refer to Pre-registration Resource Calculator XLS
Allow for 20% additional compute and storage for monitoring and any overheads.
Registration (enrolment)
The registration compute resources are related to the max rate of enrolment desired. The processing throughput must match the enrolment rate to avoid a pile-up of pending registration packets.
The data here is based on actual field data of a MOSIP deployment.
Assumptions:
Rate of enrolment: 216000 per day
Average packet size: 2MB
Biometric modalities: Finger, iris, face
Pod replication as given here. (TBD)
Compute requirements for registration
Configuration of compute node: 12 VCPU, 64GB RAM, 64GB disk store.
Number of nodes: 21
Resource | Per node | Nodes | Total |
---|---|---|---|
VCPU | 12 | 21 | 252 |
RAM (GB) | 64 | 21 | 1344 |
Node disk (GB) | 64 | 21 | 1344 |
Storage requirements for registration
Storage is dependent on the population of a country (i.e. the number of UINs to be issued). Storage requirements for various types of data are listed below.
Data | Storage | Comments |
---|---|---|
Object Store (S3/Minio) | 3200 GB/million packets/replication | Replication factor to be applied based on replication strategy |
Postgres storage | 30 GB/million packets | Includes all databases |
Unprocessed packets X avg packet size | The size of landing zone depends on the estimated lag in packet processing and packet uploads. Once UINs are issued, the packets may be removed from the landing zone as a copy is already saved in Object Store | |
Logs (Elasticsearch) | 80 GB/day | Logs maybe archived after, say, 2 weeks |
Monitoring (Prometheus) | 1.2 GB/day | |
Kafka | NA | Resource allocation is part of cluster node |
ActiveMQ | NA | Resource allocation depends on the deployment - standalone or part of cluster |
Redis | Single VM with, RAM = Cache size * 1.5 VCPU = 4 to 16 depending on number of packets getting processed per min Hardware: Minimum | Cache size = Avg. packet size * No. of packets processed in a min * Packet to be stored in cache for X mins |
Allow for 20% additional compute and storage for monitoring and any overheads.
ID authentication
Refer to IDA Resource Calculator XLS
Allow for 20% additional compute and storage for monitoring and any overheads.
Exclusions
The compute and storage estimates for the following components are not included:
Component | Comments |
---|---|
Postgres | Only storage estimated above. |
Object store | Only storage estimated above. |
Bio SDK | |
Antvirus (AV) | Default scanner (ClamAV) in included, however, if you integrate your AV, the same needs to be estimated. |
Load balancers | |
External IAM (for Rancher) | |
Disaster recovery(DR) |
DR would significantly increase compute and storage requirements. It is expected that System Integrator works out the appropriate DR strategy and arrives at an estimate.
Last updated