Links

Server Hardware Requirements

Overview

MOSIP deployment is split into two distinct parts:
  1. 1.
    • 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:
  1. 1.
    The population of the country
  2. 2.
    Rate of enrolment
  3. 3.
    Usage of foundation ID by various services

Pre-registration

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

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
HSM
ABIS
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.