- 24 Jul 2023
-
DarkLight
-
PDF
Deployment Environments and Requirements
- Updated on 24 Jul 2023
-
DarkLight
-
PDF
Physical Servers vs Virtual Machines
The IAP platform and all of its components support both physical servers and virtual machines. Virtual machines (VM) are recommended because they are less expensive and easier to manage as a solution. Moreover, performance appears to be comparable, assuming the VM hardware specs are guaranteed and not shared with other virtual machines.
Performance Limit for Custom Applications
Performance testing shows that increasing the pronghorn.json
file size affects IAP performance linearly and causes a processing delay. For pronghorn.json
within custom applications, IAP can support up to 4000 methods if the system is running on the recommended Production ENV as defined in the IAP Server section. Workloads above that limit will cause degradation of service.
Production
For production environments, all IAP components should be installed on their own individual servers to properly support high availability (HA).
Lab and Development
For non-production environments the specs may be lowered to provide lower cost options. However, keep in mind that depending on usage, these specs will need to be adjusted. For highly active developer environments with a great number of custom applications, increased CPU, memory, and disk space will be required.
IAP Server
The following table describes required IAP production server components.
Component | Requirement | Production ENV | Lab / Test ENV | Development ENV |
---|---|---|---|---|
CPU | 64-bit x86 CPU cores | Min: 8 / Rec: 16 | Min: 4 / Rec: 8 | Min: 2 / Rec: 4 |
RAM | Memory | Min: 32GB / Rec: 64GB | Min: 16GB / Rec: 32GB | Min: 4GB / Rec: 8GB |
Disk | Total/var/log/pronghorn /opt/pronghorn |
250 GB 100 GB 100 GB |
125 GB 50 GB 50 GB |
65 GB 25 GB 25 GB |
The following hardware specs assume an IAP Server with a few custom applications. In situations where a number of custom applications are heavily utilized, or additional IAP backup storage is needed then the CPU, RAM, and disk space allocations will need to be increased.
MongoDB Server
The following table describes MongoDB server resources that are required by IAP in a production environment.
Note: The latest compatible version of MongoDB is documented in the Release Notes for the current supported version.
Component | Requirement | Production ENV | Lab / Test ENV | Development ENV |
---|---|---|---|---|
CPU | 64-bit x86 CPU cores | Min: 8 / Rec: 16 | Min: 4 / Rec: 8 | Min: 2 / Rec: 4 |
RAM | Memory | Min: 64GB / Rec: 128GB | Min: 16GB / Rec: 32GB | Min: 4GB / Rec: 8GB |
Disk | Total/var/log/mongo /data |
1 TB 150 GB 850 GB |
500 GB 100 GB 400 GB |
250 GB 50 GB 200 GB |
Redis Shared-Token Server
The following table describes Redis server resources that are required by IAP in a production environment using multiple IAP servers and shared-tokens.
Component | Requirement | Production ENV | Lab / Test ENV | Development ENV |
---|---|---|---|---|
CPU | 64-bit x86 CPU cores | Min: 4 / Rec: 8 | Min: 2 / Rec: 4 | Min: 1 / Rec: 2 |
RAM | Memory | Min: 4GB / Rec: 8GB | Min: 2GB / Rec: 4GB | Min: 1GB / Rec: 2GB |
Disk | Total/var/log/redis |
50 GB 50 GB |
25 GB 25 GB |
10 GB 10 GB |
RabbitMQ Server
The following table describes RabbitMQ server resources that are required by IAP in a production environment.
Component | Requirement | Production ENV | Lab / Test ENV | Development ENV |
---|---|---|---|---|
CPU | 64-bit x86 CPU cores | Min: 4 / Rec: 8 | Min: 2 / Rec: 4 | Min: 1 / Rec: 2 |
RAM | Memory | Min: 4GB / Rec: 8GB | Min: 2GB / Rec: 4GB | Min: 1GB / Rec: 2GB |
Disk | Total/var/log/rabbitmq |
50 GB 50 GB |
25 GB 25 GB |
10 GB 10 GB |
Alternative Lab and Development Environments
As an alternative solution a single larger VM may be used to run all of the IAP platform components. A lab environment may include MongoDB, Redis, RabbitMQ, and IAP on a single server.
Component | Requirement | Lab / Test ENV | Development ENV |
---|---|---|---|
CPU | 64-bit x86 CPU cores | Min: 8 / Rec: 16 | Min: 4 / Rec: 8 |
RAM | Memory | Min: 16GB / Rec: 24GB | Min: 8GB / Rec: 16GB |
Disk | Total/var/log/pronghorn /opt/pronghorn /var/log/redis /var/log/rabbitmq /var/log/mongo /data |
650 GB 50 GB 150 GB 25 GB 50 GB 75 GB 300 GB |
425 GB 25 GB 100 GB 25 GB 25 GB 50 GB 200 GB |
Host Operating System
IAP is supported on the following operating systems.
OS | Release | Production | Development |
---|---|---|---|
CentOS 64-bit | CentOS 7 | x | x |
RHEL 64-bit | RHEL 7 | x | x |
OS Packages
Install the following operating system packages on each IAP server.
coreutils
openssl
ntp
nscd
epel-release
gcc-c++
make
Security
The following security related packages are recommended.
iptables
auditd
selinux-policy
selinux-policy-targeted
selinux-policy-mls
policycoreutils
libselinux
libselinux-utils
setools-console
Operational
For operational troubleshooting, the following packages are recommended.
telnet
bind-utils
sysstat
tcpdump
dos2unix
curl
wget
zip
unzip
gzip
man
Required Software
Although IAP is compatible with several third-party software products, always consult Release Notes before installing any software to obtain the currently supported versions. IAP requires the following software be installed.