- 28 Aug 2024
-
DarkLight
-
PDF
Deployment Environments and Requirements
- Updated on 28 Aug 2024
-
DarkLight
-
PDF
Throughout this page, multiple references are made to IAP directory paths containing the word pronghorn
. On IAP instances created by the Itential Deployer, these directory paths will contain the word itential
instead.
Deployment Planning
To help plan the deployment of Itential's software to your organization's environment, use the following to help define some of the conditions and requirements for building IAP before executing a full deployment. This is not an exhaustive list of questions, but some of the details to consider to support a smooth experience.
- Will you be deploying IAP in a clustered topology or in stand-alone topology?
- Will you be configuring the VMs manually or using Ansible?
- Do your labs have access to a proxy server that can provide Internet access?
- Do your production servers have access to a proxy server that can provide Internet access?
- Does your organization have internal NPM,
yum
, and Python registries accessible to labs and production servers?
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 specifications ("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
Required IAP production server components are listed below.
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 hardware specifications listed above 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, the CPU, RAM, and disk space allocations will need to be increased.
MongoDB Server
MongoDB server resources required by IAP in a production environment are listed below.
Compatible versions of MongoDB are listed on the Itential Dependencies page.
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
Redis server resources required by IAP in a production environment using multiple IAP servers and shared-tokens are listed below.
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 Software is a dependency for IAP 2022.1 and IAP 2023.1 Only.
RabbitMQ Server
These are the RabbitMQ server resources 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 |