Deploying the Payment Hub can be On-premises or any of the cloud providers, depending on the client requirements and regulations in the given jurisdiction.
The Payment Hub is designed in a fashion, where even a single deployment could become a shared service serving multiple DFSPs run by an aggregator (multiple SACCOs, credit unions on a multitenant setup).
Depending on the scale, expected throughput, fault tolerance, high availability requirements we are suggesting three different type of deployments for the Payment Hub.
barebone - single instance of components, minimised resource usage, no loss of functionality
medium - single realtime engine
fully scaled - multiple realtime engines
Single kubernetes cluster to contain all the necessary components
Fault tolerance provided by the clustered components
Stretched installation across data centers possible, but not ideal
Multiple independent payment engines (a single engine is collocated for performance), enabling complete version upgrades without service interruptions
Running in different data centers on independent network connections (high availability, fault tolerant even in case of disaster scenarios)
Partitioning the load across the engines