Installation Prerequisites
This topic provides information about the software and hardware requirements to install and run Digital.ai Deploy.
Your setup might have to be better than the stated minimum requirements depending on your site's size and usage pattern. Contact Digital.ai support for assistance.
Supported Operating Systems
Digital.ai Deploy supports any of the following commercially supported 64-bit operating systems:
- Microsoft Windows 2019, and 2022 (under Mainstream Support)
- Linux/Unix-based operating systems
- Ubuntu 18.04 LTS and 20.04 LTS
- CentOS 7.x
- RedHat Enterprise Linux 8.x
- RedHat Enterprise Linux 9.x
Supported Databases
The following databases are supported.
Database | Versions Supported |
---|---|
PostgreSQL (recommended) | 16.1 and 15.5 |
MySQL | 8.0 and 5.7, utfmb3 only |
Oracle | 21c and 19c |
Microsoft SQL Server | 2019 (15.0) and 2022 (16.0) |
The databases listed above are fully supported for existing installations of supported versions of Digital.ai Deploy.
Important:
- The recommended database for new installations is PostgreSQL.
- If you prefer to use a different database for a new implementation, contact Digital.ai support.
- MySQL with the utfmb4 character set is not supported.
- DB2 is no longer supported for new installations. Existing DB2 implementations are partially supported. However, not all functionalities may be available with DB2.
Note: Deploy is compatible with the PostgreSQL streaming replication set up to create a high availability (HA) cluster configuration with one or more standby servers ready to take over operations if the primary server fails.
You must set up a database for the Deploy application to store data. Create and configure an empty database before you start the Deploy installation process. During the installation, Deploy creates the database schema on the database you created. Optionally, you can have separate operational and reporting databases. For more information about creating two separate databases, see Separate Databases for Reporting and Repository in Deploy.
For production setup, use an enterprise-grade, external database server such as PostgreSQL. Download the corresponding JDBC driver and place it in XL_DEPLOY_SERVER_HOME/lib
or on the Java classpath.
- JDBC driver for MySQL
- JDBC driver for DB2
- JDBC driver for Oracle
- JDBC driver for Microsoft SQL Server
- JDBC driver for PostgreSQL
For more information, see Configure the Database and Artifacts Repository.
Supported Web Browsers
The following web browsers are supported:
Web Browsers | Versions Supported |
---|---|
Chrome | Latest 2 versions |
Edge chromium | Latest version |
Firefox | Latest 2 versions |
Minimum screen resolution of 1280
x 1024
is recommended to work with the Deploy UI.
Supported Kubernetes Platforms
The following Kubernetes platforms are supported:
- AWS EKS
- Azure AKS
- GCP and GKE (Google Kubernetes Engine)
- Kubernetes on-premise
- OpenShift on VMWare vSphere
- OpenShift on AWS
Notes:
- This is only for operator-based installation, and not for JVM based installation.
- We support Deploy installation on any flavor of Openshift that meets the below criteria:
- Kubernetes server versions 1.20-1.27
- Has storage class that supports RWO and RWX modes.
Supported Java Development Kit
The following Java Development Kits (JDK) is supported:
JDKs | Versions Supported |
---|---|
Oracle JDK | 17 |
Open JDK | 17 |
Important: Deploy is not supported on non-LTS Java Development Kits (JDKs). For more information on LTS and non-LTS Java versions, see Java SE support roadmap.
Supported Message Brokers
The following [message brokers] are supported:
- ActiveMQ
- RabbitMQ
Important: Deploy is not supported on non-LTS Java Development Kits (JDKs). See the Java SE support roadmap for details on which Java versions are LTS and non-LTS.
Deploy Server Hardware Recommendation
In order to ensure optimal performance and scalability of an application under varying workload demands, the performance testing and exploration of scaling options were conducted.
Important: These recommendations are general guidelines, and it's important to adjust and review all parameters based on your usage. You should also regularly monitor and adapt settings to ensure optimal performance.
The following table consists of the environmental details considered:
Environment | Users | Deployments | Placeholder Applications | Applications | Environments | Infra |
---|---|---|---|---|---|---|
Small | 50 | 30 | 40 | 50 | 4 | 25 |
Medium | 150 | 100 | 250 | 100 | 100 | 100 |
Large | 300 | 125 | 1000 | 1000 | 500 | 1000 |
The following table lists the CPU, RAM, JVM Heap Size, and DB configuration recommendations for Small, Medium, and Large datasets.
Small | Medium | Large | |
---|---|---|---|
CPU | 4 vCPU | 8 vCPU | 16 vCPU |
Memory | 8GB | 8-16GB | 16-32 GB |
JVM Heap Size | 4 GB | 8 GB | * GB (50% of available RAM) |
DB Configuration | 2 - 4 vCPU | 6 - 8vCPU | 12 - 16vCPU |
Horizontal Scaling Recommendations
Component | Small | Medium | Large |
---|---|---|---|
Worker | Internal | 1 | 2 |
NA | 4 vCPU X 8GB | 2 x 4 vCPU X 8GB | |
NA | 8GB | 8GB | |
Message Queue | 1 vCPU | 1 vCPU | 1 vCPU |
DB Configuration | 2 - 4 vCPU | 6 - 8vCPU | 12 - 16vCPU |
It's essential to ensure that the number of workers aligns with the CPU capacity of the master node to prevent performance deterioration. Additionally, for all configurations, a modern multi-core CPU with x64 architecture is required, along with at least 8GB of RAM.
Here is the RAM recommended for your setup based on the number of workers:
- 8 GB for a single-server setup with an internal worker
- 8 GB for master server and 2GB per worker on one server with local worker setup
- 8 GB for master server and 2GB for each worker server in external worker setup
Hardisk: The default installation of Digital.ai Deploy requires approximately 250 MB of disk space (excluding Java and other tools), but it is recommended to have at least 100 GB of disk space on each master or worker node.
Hard disk space is mainly used for storing Deploy artifacts and log files. The file size of the Deploy artifacts vary from one site to the other, but depends mainly on the:
- Size and storage mechanism used for artifacts
- Deploy supports three ways of storing artifacts:
- In an external file storage such as Maven or some HTTP(S) location, as described here. This is the preferred way.
- Directly in the database.
- On a file system that is shared between all of the masters and workers. In this case, there must be enough space on the shared file system to hold all artifacts for all versions of all applications.
- Deploy supports three ways of storing artifacts:
- Number of deployment packages on your site
- Number of deployments performed (specifically, the amount of logging information stored)
Deploy always requires that the disk space for the server be persistent. This is important for the following reasons:
- Configuration files such as
deployit.conf
, and all the files incentralConfiguration
directory are updated in real time - Log files are also updated in real time (unless configured otherwise)
Estimating Required Hard Disk Space
To estimate the total required hard disk space:
- Install and configure Deploy for your environment. Make sure you correctly set up the database or file-based repository.
- Estimate the number of packages to be imported, either the total number or the number per unit of time (
NumPackages
). - Estimate the number of deployments to be performed, either the total number or the number per unit of time (
NumDeployments
). - Record the amount of disk space used by Deploy (
InitialSize
). - Import a small number of packages using the GUI or CLI.
- Record the amount of disk space used by Deploy (
SizeAfterImport
). - Perform a small number of deployments.
- Record the amount of disk space used by Deploy (
SizeAfterDeployments
).
The needed amount of disk space in total is equal to:
Space Needed = ((SizeAfterImport - InitialSize) * NumPackages) +
((SizeAfterDeployments - SizeAfterImport) * NumDeployments)
If NumPackages
and NumDeployments
are expressed per time unit (the number of packages to be imported per month), the end result represents the space needed per time unit as well.
Depending on the environment, the following may also be required:
Networking Requirements
Important: Currently only IPV4 addresses are supported, IPV6 is not supported.
Before installing Deploy, ensure that the network connection to the Deploy host name is functional. You should be able to successfully execute ping xl_deploy_hostname
.
By default, the Deploy server uses port 4516
. If, during installation, you choose to enable secure communication (SSL) between the server and the Deploy GUI, the server uses port 4517
.
External worker setup requires 4516
or 4517
ports to be open to clients and worker machines and, additionally, port 8180
for master-worker communication on all masters and workers.
To enable secure communication and/or to change the port number during installation, choose the manual setup option when installing Deploy.
Minimal Reference Configuration
For both internal and external workers, having an external database instance is preferred.
Internal Worker Hardware Configuration
Important: These numbers are indicative. You may need to review the configuration based on the real-time usage of the Deploy product.
- Modern multi-core CPU with x64 architecture
- RAM: 8GB
- Hard drive: 100GB
- Faster network connection between database and master/worker instances is preferred
External Worker Hardware Configuration
Master:
- Modern multi-core CPU with x64 architecture
- RAM: 8GB
- Hard drive: 100GB
- Faster network connection between database and master/worker instances is preferred
Worker:
- Modern multi-core CPU with x64 architecture
- RAM: 8GB
- Hard drive: 100GB
- Faster network connection between database and master/worker instances is preferred
Database Server Hardware Configuration
- Modern multi-core CPU with x64 architecture
- RAM: 8GB
- Hard drive: 100GB
- Faster network connection between database and master/worker instances is preferred
For additional information, check database vendor documentation.
Middleware Server Requirements
Unix Middleware Server Requirements
Unix-based middleware servers that Deploy interacts with must meet the following requirements:
-
Credentials: Deploy must be able to log in to the target systems using a user name and password combination to perform at least the following Unix commands:
cp
,ls
,mv
,rm
,mkdir
, andrmdir
. If the login user cannot perform these actions, Deploy can also use asudo
user that can execute these commands. -
SSH Access: The target systems must be accessible by SSH from the Deploy server. They should run an SSH2 server. It is also possible to handle key-based authorization.
Note:
- It is possible that the SSH daemon on AIX hangs with certain types of SSH traffic.
- For security, the SSH account that is used to access a host should have limited rights.
- A variety of Linux distributions have made SSH require a TTY by default. This setting is incompatible with Deploy and is controlled by the
Defaults requiretty
setting in thesudoers
file.
Windows Middleware Server Requirements
Microsoft Windows-based middleware servers that Deploy interacts with must meet the following requirements:
-
File System Access: The target file system must be accessible via CIFS from the Deploy server.
-
Host Access: The target host must be accessible from the Deploy server via WinRM or Windows Telnet server running in stream mode.
-
Directory Shares: The account used to access a target system must have access to the host's administrative shares such as
C$
. -
Ports:
- For CIFS connectivity, port 445 on the target system must be accessible from the Deploy server.
- For Telnet connectivity, port 23 must be accessible from the Deploy server.
- For WinRM connectivity, port 5985 (HTTP) or port 5986 (HTTPS) must be accessible from the Deploy server.
Extending Middleware Support
You can connect Deploy to middleware servers that do not support SSH, Telnet, or WinRM. This requires you to use the Overthere remote execution framework to create a custom access method that connects to the server.
LDAP
To enable group-based security, an LDAP x.509 compliant registry is needed. For more information, see Connect Deploy to LDAP or Active Directory.