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 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 | 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 | 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: |
|
|
|