Resource Requirements

For a full deployment you need the following

  1. Compute requirements

  2. Additional requirements

Compute requirements

Single-node

Machine Purpose
Specs
Notes

Compute node

  • 16 vCPU/64 GB RAM/128 GB SSD

  • 2 network interface cards

This configuration will let you install 2 environments with all OpenG2P modules loaded. For more, expand the virtual machines. The network interface cards are required to setup the private access channel.

Backup (optional)

  • 2 vCPU/8 GB RAM/256 GB HDD/SDD

Backup machine need not have SSD.

Three-node

Machine Purpose
Specs
Notes

Compute node

  • 16 vCPU/64 GB RAM/128 GB SSD

This configuration will let you install 2 environments with all OpenG2P modules loaded. For more, expand the virtual machines.

Storage node

  • 8 vCPU/32 GB/256 GB SSD

If PostgreSQL is getting overloaded, the CPU/RAM may have to expanded

Reverse proxy node

  • 4 vCPU/16 GB/64 GB SSD

  • 2 network interface cards

Its not expected that this machine will get overloaded unless very high traffic applications. The network interface cards are required to setup the private access channel.

Backup (optional)

  • 2 vCPU/8 GB RAM/512 GB HDD/SDD

Backup machine need not have SSD.

Full-scale

Machine Purpose
Number of machines
Specs
Notes

OpenG2P cluster Kubernetes nodes

3

  • 8 vCPU/32 GB RAM/128 GB SSD

Minimum 3 nodes are required for fail safety of Kubernetes 'master' node. All these nodes also act as 'workers'.

Rancher cluster Kubernetes nodes

1

  • 8 vCPU/32 GB RAM/128 GB SSD

The number of machines may be increased to 3 if high availablity of Rancher cluster is critically.

Reverse proxy node

1

  • 4 vCPU/16 GB/64 GB SSD

  • 2 network inteface cards

Its not expected that this machine will get overloaded unless very high traffic applications.

Storage node

1

  • 16 vCPU/64 GB/512 GB SSD

Both PostgreSQL and NFS

Backup (optional)

1

  • 2 vCPU/8 GB RAM/512 GB HDD/SDD

Backup machine need not have SSD.

Domain names

To access resources on cluster, domain names and mappings are required. The suggested domain name convention is as follows:

<module>.<environment>.<organisation>.<tld>

Example:

  • spar.dev.openg2p.org

  • socialregistry.uat.openg2p.org

Domain mapping

Requirement Description
Domain Name (examples)
Mapped to

Domain mapping to sandbox

  • dev.openg2p.net

  • uat.openg2p.net

  • staging.openg2p.org

"A" Record mapped to Load Balancer IP (For sandbox, where LB is not used, this can be mapped directly to nodes of the K8s cluster, at least 3 nodes).

Wild card mapping to modules

  • *.dev.openg2p.net

  • *.uat.openg2p.net

  • *.staging.openg2p.org

"CNAME" Record mapped to the domain of the above "A" record. (This is a wildcard DNS mapping)

The domain name mapping needs to be done on your domain service provider. For example, on AWS this is configured on Route 53.

Certificates

At least one wildcard certificate is required depending on the above domain names used. This can also be generated using Letsencrypt. See guide herearrow-up-right.

Additional requirements

There may be additional resources that may need to be arranged based on your requirements and rollout plan. Some of these are assumed to be available:

  • Tablets/phones for offline registrations

  • Firewall for on-prem setups

circle-info

General Recommendations

If you would like to get started with OpenG2P with couple of sandboxes like dev/qa go with single-node architecture. For pilot and production, the three-node architecture is highly recommened. If you decide to use the single-node setup for pilots, make sure you have backups in place - this is very important. In this case you may need to migrate the data from PostgreSQL on Kubernetes to standaone PostgreSQL server. Follow the migration guide give here.

Last updated

Was this helpful?