Infrastructure Requirements of BB Implementations for Sandbox Deployment

Based on the workload and configuration needs for the GovStack BB implementations, this note determines specifications for the compute, storage, network, database, and other cloud services. The following table identifies the different cloud service types, quantities, and objectives for meeting technological requirements of the GovStack BB workloads.

The purpose of this exercise is to come up with a general idea of the infrastructural footprint needed by the candidate BB products, which will help GovStack assess the costs and the infrastructure setup required to host the BB products.

<Each BB implementation partner is requested to use the below table and provide their infrastructure requirements which can then be used to determine the overall infrastructure needed for BB implementations in development as well as deployment environments.>

 

 

Environment

Compute 

Storage 

Databases

Network

Bandwidth

Misc

Type

Development/ Production/ Testing, QA/ Integration/ 

e.g.: Linux Instances, Docker Containers, and Kubernetes Instances.

e.g.: Block Storage and Object Storage

e.g.: Managed Relational and NoSQL Databases

e.g.: Domain Name, Static Public IP’s, Virtual Networking, Subnets, Software Firewalls

Monthly bandwidth usage and speed requirements

e.g.: Services for DevOps pipeline automation, Services for automation workflows and infrastructure deployment, Monitoring service for infrastructure and application resources.

Purpose

 

Linux Servers: To deploy applications, APIs with required authentication or testing.

Docker and Kubernetes Instances: Deployment of applications and automated containers in production environment.

Block Storage: serving as virtual hard disk or root volume for virtual servers for storing operating system, applications, and data.

Object Storage: Serves as a data storage for application data, database backups, compliance or regulatory related data and synthetic data for testing purpose.

Managed Relational or NoSQL Databases: Setting-up data layer for applications. 

Domain Name: domain name owned by GovStack for name resolution of applications with multiple sub-domains.

Static Public IP Address:  for accessing applications from public internet.

Virtual Networking, Subnets and Firewalls: logically organizing resources of different BBs with isolation and to create secure environment using software firewalls.

Bandwidth speed requirements needed to run the application. It does not include other applications or workloads running on the server. It does not account for traffic spikes. This is used as a simple baseline only.

Services for automating CI/CD pipeline.

Requirement

 

a. Number of Instances:

a. Storage Type: [Block/Object/File]

a. Database Type:

a. Domain/ Sub-domain name: 

a. Bandwidth Requirements:

a. Requirements on specific BB needs:

 

 

b. Instance Type: [CPU, RAM, GPU] 

b. Storage Capacity:

b. High-availability and redundancy needs: 

b. DNS record sets, hosts, and resources:

b: Others:

b. Monitoring and logging requirements:

 

 

c. Preferred Operating System: 

c. Performance Requirements:

c. Database instances: 

c. Static public IP addresses: 

 

c: Others:

 

 

d. Load Balancing Requirements: 

d. Backup and Recovery:

b. Storage Capacity:

d. Load Balancer Requirements:

 

 

 

 

e. Auto Scaling Requirements:

e: Others:

c. Read/Write Performance Requirements:

e. Virtual Networking, Subnets and Firewalls:

 

 

 

 

 

 

d. Backup and Recovery:

f: Others:

 

 

 

 

f. Others:

 

e: Others:

 

 

 

 

A) ID BB (MOSIP):

@Jane Rose Anthony @Karthik SJ - please provide your infra requirements below. You may use separate tables for each environment

For development ID Building Block ( Onprem Deployment)

 

Environment

Compute 

Storage 

Databases

Network

Bandwidth

Misc

Type

AWS

EC2

GP2

Postgressql

VPC/Route53

 

 

Purpose

Development

 

 

 

 

 

 

Requirement

 

a. Number of Instances: 6 nodes for IDBB, and 2 nodes for rancher, and 2 nodes for nginx,

1 node for wireguard.

a. Storage Type: [Block/Object/File] : Block storage,Object Storage.

a. Database Type:Postgres

a. Domain/ Sub-domain name:  Main domain=1,Subdomains=17

a. Bandwidth Requirements:

a. Requirements on specific BB needs:

 

 

b. Instance Type: [CPU, RAM, GPU]

For IDBB:

CPU = 12 vcpu
RAM = 32 GB

For Rancher:

CPU = 2 vcpu

RAM = 8 GB

For NGNIX:

CPU = 2 vcpu

RAM = 4GB

For WG:

CPU = 2 vcpu

RAM = 1 GB

 

b. Storage Capacity:

For IDBB:

128 GB /node

For Rancher:

32 GB /node

For NGINX:

16 GB /node

For WG

8 GB /node

Note: This is the recommended storage, might vary based on the usage.

b. High-availability and redundancy needs: Not using

b. DNS record sets, hosts, and resources:

18 records

b: Others:

b. Monitoring and logging requirements: Installing logging and monitoring Applications available from rancher market place.

 

 

c. Preferred Operating System: OS = Ubuntu(20.04)

c. Performance Requirements:

c. Database instances: we are not using any external data base service, we are configuring data base inside nodes/cluster.

c. Static public IP addresses: 

 

 

c: Others:

 

 

d. Load Balancing Requirements:  Using Ingress-Nginx.

d. Backup and Recovery: ETCD we are using.

b. Storage Capacity:

Minimum = 8 GB

Maximum = 64 GB

Note: This is the recommended storage, might vary based on the usage.

 

d. Load Balancer Requirements:

Using Ingress-Nginx.

 

 

 

 

e. Auto Scaling Requirements:

e: Others:

c. Read/Write Performance Requirements:

e. Virtual Networking, Subnets and Firewalls:

VPC =1 , Subnets = 3, Firewall = 1

 

 

 

 

 

 

d. Backup and Recovery:

f: Others:

 

 

 

 

f. Others:

 

e: Others:

 

 

 

 

For Sandbox ID Building Block (EKS with minimal Deployment)

 

Environment

Compute 

Storage 

Databases

Network

Bandwidth

Misc

 

Type

AWS

EC2

GP2

Postgressql

VPC/Route53

 

 

 

Purpose

SandBox IDBB Deployment on EKS with minimal setup to run esignet.

 

 

 

 

 

 

 

Requirement

 

a. Number of Instances: 6 nodes

a. Storage Type: [Block/Object/File] : Block storage,ObjectStorage

a. Database Type : Postgres

a. Domain/ Sub-domain name:  Main domain=1 Subdomains=11

a. Bandwidth Requirements:

a. Requirements on specific BB needs:

 

 

 

b. Instance Type: [CPU, RAM, GPU]

CPU= 8 vcpu
RAM= 32 GB

b. Storage Capacity:

64 GB /Instance

b. High-availability and redundancy needs: 

b. DNS record sets, hosts, and resources:12 records need to create

b: Others:

b. Monitoring and logging requirements:Not installing any logging and moitoring Applications.

 

 

 

c. Preferred Operating System: Ubuntu(20.04)

c. Performance Requirements:

c. Database instances:  we are not using any external data base service, we are configuring data base inside nodes/cluster.

c. Static public IP addresses: no static public ip required

 

c: Others:

 

 

 

d. Load Balancing Requirements:Network load balancer 

d. Backup and Recovery : no backup and recovery

b. Storage Capacity : Minimum = 8 GB

 

d. Load Balancer Requirements:Network load balancer

 

 

 

 

 

e. Auto Scaling Requirements: None

e: Others:

c. Read/Write Performance Requirements:

e. Virtual Networking, Subnets and Firewalls :

VPC =1 , Subnets = 3, Firewall = 1

 

 

 

 

 

 

 

d. Backup and Recovery : no back and recovery

f: Others:

 

 

 

 

 

f. Others:

 

e: Others:

 

 

 

 

 

B) IM BB (X-Road):

@Allan Bernard @Kadi Külasalu - please provide your infra requirements below, for all environments. You may use separate tables for each environment

 

Environment

Compute 

Storage 

Databases

Network

Bandwidth

Misc

Type

 

 

 

 

 

 

 

Purpose

 

 

 

 

 

 

 

Requirement

 

a. Number of Instances:

1

a. Storage Type: Block/Object

a. Database Type:

a. Domain/ Sub-domain name: 

a. Bandwidth Requirements:

a. Requirements on specific BB needs:

 

 

b. Instance Type:

CPU = 4 vcpu
RAM = 8 GB

b. Storage Capacity:

30 GB

b. High-availability and redundancy needs: 

b. DNS record sets, hosts, and resources:

b: Others:

b. Monitoring and logging requirements:

 

 

c. Preferred Operating System: 

c. Performance Requirements:

c. Database instances: 

c. Static public IP addresses: 

 

c: Others:

 

 

d. Load Balancing Requirements: 

d. Backup and Recovery:

b. Storage Capacity:

d. Load Balancer Requirements:

 

 

 

 

e. Auto Scaling Requirements:

e: Others:

c. Read/Write Performance Requirements:

e. Virtual Networking, Subnets and Firewalls:

 

 

 

 

 

 

d. Backup and Recovery:

f: Others:

 

 

 

 

f. Others:

 

e: Others:

 

 

 

C) Payments BB (MIFOS):

@David Higgins - please provide your infra requirements below. You may use separate tables for each environment

The following is the expected infrastructure requirements for the Playpen environment, this infrastructure spec is sufficient to run the PI1 Spec of the Mifos deliverable (Will be updated with PI2 requirements when complete). This environment is not fully scaled for a mass deployment.

 

Environment

Compute 

 

Storage 

Databases

Network

Bandwidth

Misc

Type

AWS

 

 

 

 

 

 

 

Purpose

Playpen

PH Hub + Account Mapper + Voucher API

Mojaloop Oracle

 

 

 

 

 

Requirement

 

a. Instances:

1

a. Instances:

1

a. Storage Type: [Block/Object/File]

2 volumes and an Object

a. Database Type:

None

a. Domain/ Sub-domain name: 

domain needed for public access. ( not mandatory) Access for creating sub domains (up to max 15 ) as per the ingress rules

a. Bandwidth Requirements:

Standard

a. Requirements on specific BB needs:

n/a

 

 

b. Instance Type: [CPU, RAM, GPU]:

m6g.xlarge 4 CPU min 16GB RAM

b. Instance Type: [CPU, RAM, GPU]:

m6g.xlarge 4 CPU min 16GB RAM

b. Storage Capacity:

 

Default/Vol 1 - 40 GB

Vol 2 - 160 GB

Object storage required - AWS S3, 20 GB

b. High-availability and redundancy needs: 

n/a

b. DNS record sets, hosts, and resources:

 

Wild card certificate for public access (not mandatory)

DNS configuration with wild card rules to point to the ELB

b: Others:

n/a

b. Monitoring and logging requirements:

n/a

 

 

c. Preferred Operating System: 

Amazon Linux2/Centros

c. Preferred Operating System: 

Amazon Linux2/Centros

c. Performance Requirements:

General Purpose (GP2)

c. Database instances: 

n/a

c. Static public IP addresses: 

None

 

c: Others:

n/a

 

 

d. Load Balancing Requirements: 

n/a

d. Load Balancing Requirements: 

n/a

d. Backup and Recovery:

None

b. Storage Capacity:

n/a

d. Load Balancer Requirements:

2 ELBs

(1 for ngnix, 1 for Kong)

 

 

 

 

e. Auto Scaling Requirements:

n/a

e. Auto Scaling Requirements:

n/a

e: Others:

c. Read/Write Performance Requirements:

n/a

e. Virtual Networking, Subnets and Firewalls:

None

 

 

 

 

 

 

 

d. Backup and Recovery:

n/a

f: Others:

 

 

 

 

f. Others:

 

 

e: Others:

 

 

 

 

The following is the expected infrastructure requirements for an Stress-Test level of environment, this infrastructure spec is sufficient to run the PI1 Spec of the Mifos deliverable (Will be updated with PI2 requirements when complete). This environment is designed for interworking stress testing of the BB’s.

 

Environment

Compute 

Storage 

Storage 

Databases

Network

Bandwidth

Misc

Type

AWS

 

 

 

 

 

 

 

Purpose

Stress Test environment

PH Hub + Account Mapper + Voucher API

Mojaloop Oracle

 

 

 

 

 

Requirement

 

a. Instances:

1

a. Instances:

1

a. Storage Type: [Block/Object/File]

2 volumes and an Object

a. Database Type:

None

a. Domain/ Sub-domain name: 

domain needed for public access. ( not mandatory) Access for creating sub domains (up to max 15 ) as per the ingress rules

a. Bandwidth Requirements:

Standard

a. Requirements on specific BB needs:

n/a

 

 

b. Instance Type: [CPU, RAM, GPU]:

m6g.xlarge 4 CPU min 128GB RAM

b. Instance Type: [CPU, RAM, GPU]:

m6g.xlarge 4 CPU min 16GB RAM

b. Storage Capacity:

 

Default/Vol 1 - 40 GB

Vol 2 - 400 GB

Object storage required - AWS S3, 40 GB

b. High-availability and redundancy needs: 

n/a

b. DNS record sets, hosts, and resources:

 

Wild card certificate for public access (not mandatory)

DNS configuration with wild card rules to point to the ELB

b: Others:

n/a

b. Monitoring and logging requirements:

n/a

 

 

c. Preferred Operating System: 

Amazon Linux2/Centros

c. Preferred Operating System: 

Amazon Linux2/Centros

c. Performance Requirements:

General Purpose (GP2)

c. Database instances: 

n/a

c. Static public IP addresses: 

None

 

c: Others:

n/a

 

 

d. Load Balancing Requirements: 

n/a

d. Load Balancing Requirements: 

n/a

d. Backup and Recovery:

None

b. Storage Capacity:

n/a

d. Load Balancer Requirements:

2 ELBs

(1 for ngnix, 1 for Kong)

 

 

 

 

e. Auto Scaling Requirements:

n/a

e. Auto Scaling Requirements:

n/a

e: Others:

c. Read/Write Performance Requirements:

n/a

e. Virtual Networking, Subnets and Firewalls:

None

 

 

 

 

 

 

 

d. Backup and Recovery:

n/a

f: Others:

 

 

 

 

f. Others:

 

 

e: Others: