Server Hardware Requirements

Overview

MOSIP deployment is split into two distinct parts:

  1. ID lifecycle management

    • 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. The population of the country

  2. Rate of enrolment

  3. 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

ResourcePer nodeNodesTotal

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.

DataStorageComments

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:

ComponentComments

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

Copyright © 2021 MOSIP. This work is licensed under a Creative Commons Attribution (CC-BY-4.0) International License unless otherwise noted.