Infrastructure Sizing Considerations for Installation of RHMAP
To estimate the RHMAP 4.2/4.3 infrastructure configuration there are several variables to be considered, for example, the number of apps, number of app users, functionality in the apps, the number of services, and the number of transactions to/from devices and to/from backend integrations. Our team has done extensive testing with all these variables in place, and has drawn on extensive analysis of the performance of real apps deployed on the platform, and whilst every app is different and with different usage patterns, we have general recommendations that consider all these variables.
RHMAP MBaaS on OpenShift Enterprise overall architecture includes:
- OpenShift Master Nodes
- Also known as the OpenShift broker, minimum 2 VMs to assure resiliency and at least one VM always operating OpenShift. In this definition etcd host are included in the VMs for master nodes
- OpenShift Infrastructure Nodes
- Routers and docker registry separated from services in the master
- RHMAP Core Infrastructure (in OpenShift App Nodes)
- Core components including JBoss EAP, MySQL, Gitlab shell and MongoDB
- RHMAP MBaaS Infrastructure (in OpenShift App Nodes)
- MBaaS components including: fh-mbaas, fh-messaging, fh-metrics, fh-statsd and Nagios and MongoDB replica sets (minimum 3)
- RHMAP Cloud Application Nodes
- For your mobile app cloud code and MBaaS services
The RHMAP Core is the single point of contact for all user development and administrative functionality from the RHMAP Studio or CLI, including user management, project development, apps deployment, lifecycle management, mobile application management, private app store, git hosting and analytics.
The RHMAP 4.2/4.3 MBaaS is deployed as a series of containers and pods on an OpenShift Enterprise installation. The initial recommended deployment includes one OpenShift-based MBaaS but 2 or more MBaaS will ensure network separation from other VMs (containers and pods) running on application nodes, for example if the enterprise decides to have the development environment on a different data center. Multiple environments such as Development, Testing, Pre-production and Production are defined in these MBaaS. RHMAP default configuration can have all these environments in a single MBaaS or separate MBaaSes.
Depending on the subscription level (SKU) these nodes can be deployed in shared or separate VMs. For more information on the infrastructure components review OpenShift Infrastructure documentation.
The following configuration is recommended for RHMAP deployments and it is designed to offer resilience at application and database layers providing continuity of service with minimal impact on the services provided. Minimal impact could include minor failed requests while the RHMAP adjusts to infrastructure failure, for example, a VM unavailable or replacement of a container or pod (spun up).
The following tables include the calculation of the bundled OpenShift Container Platform subscription, which is based on the number of cores.
To use these tables, go to the first column and match the Subscription required, for example, B2E for up to 200 users and 1 app, that is the first row in the B2E table:
- The OpenShift installation should include 3 VMs for Master Node (broker), etcd host and infrastructure node,the RHMAP MBaaS and Mobile Apps should be provisioned on 3 OpenShift application nodes, each VM with 2vCPUs, 8GB RAM and 16GB of minimum storage. The RHMAP Core requires 3 Core Nodes, each VM with 4vCPUs, 8 GB RAM and 100GB of storage. A Load balancer in not included in this table, see the OpenShift Installation and Configuration Guide for more details.
Note that these sizing recommendations are at VM level, the columns for OpenShift Masters and Infrastructure (routers & registry) also include the selected number of OpenShift etcd hosts. For OpenShift High Availability, a minimum of 3 etcd host (on 3 VMs) or an odd number of etcd hosts is recommended.
Note:Use the scroll bar below the table to navigate to columns that are initially hidden.
| Number of VM Instances Per MBaaS Deployment | Total VM Instances Per MBaaS Deployment | MBaaS VM Instance Sizes | Total VM Instances Per Core Deployment | Core VM Instance Sizes | Total number of VMs Per Deployment | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SKU | Users | Apps | Support Tier | OpenShift Masters (broker) | OpenShift Infra (registry) | MBaaS and App Nodes | vCPUS | RAM (GB) | Storage (GB) | vCPUS | RAM (GB) | Storage (GB) | |||
| MCT3390 | 200 User Pack | 1 | Standard | 3 | 0 | 3 | 6 | 2 | 8 | 16 | 3 | 4 | 8 | 100 | 9 |
| MCT3399 | Premium | 3 | 0 | 3 | 6 | 2 | 8 | 16 | 3 | 4 | 8 | 100 | 9 | ||
| MCT3372 | 5 | Standard | 3 | 0 | 3 | 6 | 2 | 8 | 32 | 3 | 4 | 8 | 100 | 9 | |
| MCT3381 | Premium | 3 | 0 | 3 | 6 | 2 | 8 | 32 | 3 | 4 | 8 | 100 | 9 | ||
| MCT3354 | Unlimited | Standard | 3 | 0 | 3 | 6 | 2 | 16 | 64 | 3 | 4 | 8 | 100 | 9 | |
| MCT3363 | Premium | 3 | 0 | 3 | 6 | 2 | 16 | 64 | 3 | 4 | 8 | 100 | 9 | ||
| MCT3391 | 200-499 | 1 | Standard | 3 | 0 | 3 | 6 | 2 | 8 | 32 | 3 | 4 | 8 | 100 | 9 |
| MCT3400 | Premium | 3 | 0 | 3 | 6 | 2 | 8 | 32 | 3 | 4 | 8 | 100 | 9 | ||
| MCT3373 | 5 | Standard | 3 | 0 | 3 | 6 | 2 | 8 | 32 | 3 | 4 | 8 | 100 | 9 | |
| MCT3382 | Premium | 3 | 0 | 3 | 6 | 2 | 8 | 32 | 3 | 4 | 8 | 100 | 9 | ||
| MCT3355 | Unlimited | Standard | 3 | 0 | 3 | 6 | 4 | 16 | 64 | 3 | 4 | 8 | 100 | 9 | |
| MCT3364 | Premium | 3 | 0 | 3 | 6 | 4 | 16 | 64 | 3 | 4 | 8 | 100 | 9 | ||
| MCT3392 | 500-999 | 1 | Standard | 3 | 3 | 3 | 9 | 2 | 8 | 32 | 3 | 4 | 8 | 100 | 12 |
| MCT3401 | Premium | 3 | 3 | 3 | 9 | 2 | 8 | 32 | 3 | 4 | 8 | 100 | 12 | ||
| MCT3374 | 5 | Standard | 3 | 3 | 4 | 10 | 2 | 16 | 32 | 3 | 4 | 8 | 100 | 13 | |
| MCT3383 | Premium | 3 | 3 | 4 | 10 | 2 | 16 | 32 | 3 | 4 | 8 | 100 | 13 | ||
| MCT3356 | Unlimited | Standard | 3 | 3 | 4 | 10 | 4 | 24 | 64 | 3 | 4 | 8 | 100 | 13 | |
| MCT3365 | Premium | 3 | 3 | 4 | 10 | 4 | 24 | 64 | 3 | 4 | 8 | 100 | 13 | ||
| MCT3393 | 1000-2499 | 1 | Standard | 3 | 3 | 6 | 12 | 2 | 8 | 32 | 3 | 4 | 8 | 100 | 15 |
| MCT3402 | Premium | 3 | 3 | 6 | 12 | 2 | 8 | 32 | 3 | 4 | 8 | 100 | 15 | ||
| MCT3375 | 5 | Standard | 3 | 3 | 7 | 13 | 2 | 16 | 64 | 3 | 4 | 8 | 100 | 16 | |
| MCT3384 | Premium | 3 | 3 | 7 | 13 | 2 | 16 | 64 | 3 | 4 | 8 | 100 | 16 | ||
| MCT3357 | Unlimited | Standard | 3 | 3 | 7 | 13 | 4 | 24 | 128 | 5 | 4 | 8 | 100 | 18 | |
| MCT3366 | Premium | 3 | 3 | 7 | 13 | 4 | 24 | 128 | 5 | 4 | 8 | 100 | 18 | ||
| MCT3394 | 2500-4999 | 1 | Standard | 3 | 3 | 6 | 12 | 2 | 8 | 32 | 5 | 4 | 8 | 100 | 17 |
| MCT3403 | Premium | 3 | 3 | 6 | 12 | 2 | 8 | 32 | 5 | 4 | 8 | 100 | 17 | ||
| MCT3376 | 5 | Standard | 3 | 3 | 7 | 13 | 2 | 16 | 64 | 5 | 4 | 8 | 100 | 18 | |
| MCT3385 | Premium | 3 | 3 | 7 | 13 | 2 | 16 | 64 | 5 | 4 | 8 | 100 | 18 | ||
| MCT3358 | Unlimited | Standard | 3 | 3 | 9 | 15 | 4 | 24 | 128 | 5 | 4 | 8 | 100 | 20 | |
| MCT3367 | Premium | 3 | 3 | 9 | 15 | 4 | 24 | 128 | 5 | 4 | 8 | 100 | 20 | ||
| MCT3395 | 5000-9999 | 1 | Standard | 3 | 3 | 8 | 14 | 2 | 8 | 32 | 5 | 4 | 8 | 100 | 19 |
| MCT3404 | Premium | 3 | 3 | 8 | 14 | 2 | 8 | 32 | 5 | 4 | 8 | 100 | 19 | ||
| MCT3377 | 5 | Standard | 3 | 3 | 9 | 15 | 2 | 16 | 64 | 5 | 4 | 8 | 100 | 20 | |
| MCT3386 | Premium | 3 | 3 | 9 | 15 | 2 | 16 | 64 | 5 | 4 | 8 | 100 | 20 | ||
| MCT3359 | Unlimited | Standard | 5 | 3 | 12 | 20 | 4 | 24 | 128 | 5 | 4 | 8 | 100 | 25 | |
| MCT3368 | Premium | 5 | 3 | 12 | 20 | 4 | 24 | 128 | 5 | 4 | 8 | 100 | 25 | ||
| MCT3396 | 10000-19999 | 1 | Standard | 5 | 5 | 12 | 22 | 2 | 8 | 32 | 7 | 4 | 8 | 100 | 29 |
| MCT3405 | Premium | 5 | 5 | 12 | 22 | 2 | 8 | 32 | 7 | 4 | 8 | 100 | 29 | ||
| MCT3378 | 5 | Standard | 5 | 5 | 14 | 24 | 2 | 16 | 64 | 7 | 4 | 8 | 100 | 31 | |
| MCT3387 | Premium | 5 | 5 | 14 | 24 | 2 | 16 | 64 | 7 | 4 | 8 | 100 | 31 | ||
| MCT3360 | Unlimited | Standard | 5 | 5 | 22 | 32 | 4 | 24 | 128 | 7 | 4 | 8 | 100 | 39 | |
| MCT3369 | Premium | 5 | 5 | 22 | 32 | 4 | 24 | 128 | 7 | 4 | 8 | 100 | 39 | ||
| MCT3397 | 20000-29999 | 1 | Standard | 5 | 5 | 14 | 24 | 2 | 8 | 32 | 7 | 4 | 8 | 100 | 31 |
| MCT3406 | Premium | 5 | 5 | 14 | 24 | 2 | 8 | 32 | 7 | 4 | 8 | 100 | 31 | ||
| MCT3379 | 5 | Standard | 5 | 5 | 16 | 26 | 2 | 16 | 64 | 7 | 4 | 8 | 100 | 33 | |
| MCT3388 | Premium | 5 | 5 | 16 | 26 | 2 | 16 | 64 | 7 | 4 | 8 | 100 | 33 | ||
| MCT3361 | Unlimited | Standard | 5 | 5 | 30 | 40 | 4 | 24 | 128 | 9 | 4 | 8 | 100 | 49 | |
| MCT3370 | Premium | 5 | 5 | 30 | 40 | 4 | 24 | 128 | 9 | 4 | 8 | 100 | 49 | ||
| MCT3398 | 30000 + | 1 | Standard | 7 | 5 | 16 | 28 | 2 | 8 | 32 | 9 | 4 | 8 | 100 | 37 |
| MCT3407 | Premium | 7 | 5 | 16 | 28 | 2 | 8 | 32 | 9 | 4 | 8 | 100 | 37 | ||
| MCT3380 | 5 | Standard | 7 | 5 | 20 | 32 | 2 | 16 | 64 | 9 | 4 | 8 | 100 | 41 | |
| MCT3389 | Premium | 7 | 5 | 20 | 32 | 2 | 16 | 64 | 9 | 4 | 8 | 100 | 41 | ||
| MCT3362 | Unlimited | Standard | 7 | 5 | 36 | 48 | 4 | 24 | 128 | 9 | 4 | 8 | 100 | 57 | |
| MCT3371 | Premium | 7 | 5 | 36 | 48 | 4 | 24 | 128 | 9 | 4 | 8 | 100 | 57 | ||
Note:Use the scroll bar below the table to navigate to columns that are initially hidden.
| Number of VM Instances Per MBaaS Deployment | Total VM Instances Per MBaaS Deployment | MBaaS VM Instance Sizes | Total VM Instances Per Core Deployment | Core VM Instance Sizes | Total number of VMs Per Deployment | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SKU | Users | Apps | Support Tier | OpenShift Masters (broker) | OpenShift Infra (registry) | MBaaS and App Nodes | vCPUS | RAM (GB) | Storage (GB) | vCPUS | RAM (GB) | Storage (GB) | |||
| MCT3408 | 100,000 | Single Use | Standard | 3 | 0 | 3 | 6 | 2 | 16 | 32 | 3 | 4 | 8 | 100 | 9 |
| MCT3414 | Premium | 3 | 0 | 3 | 6 | 2 | 16 | 32 | 3 | 4 | 8 | 100 | 9 | ||
| MCT3423 | 200,000 | Limited | Standard | 3 | 0 | 3 | 6 | 4 | 16 | 32 | 3 | 4 | 8 | 100 | 9 |
| MCT3429 | Premium | 3 | 0 | 3 | 6 | 4 | 16 | 32 | 3 | 4 | 8 | 100 | 9 | ||
| MCT3424 | 400,000 | Limited | Standard | 3 | 3 | 4 | 10 | 4 | 16 | 64 | 5 | 4 | 8 | 100 | 15 |
| MCT3430 | Premium | 3 | 3 | 4 | 10 | 4 | 16 | 64 | 5 | 4 | 8 | 100 | 15 | ||
| MCT3425 | 1,000,000 | Limited | Standard | 3 | 3 | 9 | 15 | 4 | 32 | 128 | 5 | 4 | 8 | 100 | 20 |
| MCT3431 | Premium | 3 | 3 | 9 | 15 | 4 | 32 | 128 | 5 | 4 | 8 | 100 | 20 | ||
| MCT3426 | 5,000,000 | Limited | Standard | 3 | 3 | 18 | 24 | 4 | 32 | 128 | 5 | 4 | 8 | 100 | 29 |
| MCT3432 | Premium | 3 | 3 | 18 | 24 | 4 | 32 | 128 | 5 | 4 | 8 | 100 | 29 | ||
| MCT3427 | 10,000,000 | Limited | Standard | 5 | 3 | 42 | 50 | 4 | 32 | 128 | 7 | 4 | 8 | 100 | 57 |
| MCT3433 | Premium | 5 | 3 | 42 | 50 | 4 | 32 | 128 | 7 | 4 | 8 | 100 | 57 | ||
For B2C apps the sizing is smaller because typically the B2C (consumer) apps do not have as many backend integrations as B2E apps, they have lower requirements for memory and storage as well as CPU because typically do not have requirements for encryption or transformation of data. Also the number B2C of subscribers is calculated based on “Monthly Active Users”. If the app is used once during the month, that counts as an active user.
As you can see in both tables, OpenShift Master, OpenShift Infrastructure, MBaaS Infrastructure and App nodes are deployed in VMs with the same sizing for virtual CPUs, RAM and Storage. The VMs for the Core require different sizing for vCPUs, RAM and Storage.
Follow the table across every row for guidance on the size and number of VMs to be provisioned in your installation.
Per OpenShift Enterprise documentation, a base installation of Red Hat Enterprise Linux (RHEL) 7.2 is required for the node hosts in a physical or virtual system, or an instance running on a public or private IaaS.
Note that you can use the RHMAP 4.x sizing tool for easy access to the information in both tables.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
