Skip to main content
Version: Deploy 24.1

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.

DatabaseVersions Supported
PostgreSQL (recommended)16.1 and 15.5
MySQL8.0 and 5.7, utfmb3 only
Oracle21c and 19c
Microsoft SQL Server2019 (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.

For more information, see Configure the Database and Artifacts Repository.

Supported Web Browsers

The following web browsers are supported:

Web BrowsersVersions Supported
ChromeLatest 2 versions
Edge chromiumLatest version
FirefoxLatest 2 versions
note

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:

JDKsVersions Supported
Oracle JDK17
Open JDK17

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:

EnvironmentUsersDeploymentsPlaceholder ApplicationsApplicationsEnvironmentsInfra
Small50304050425
Medium150100250100100100
Large300125100010005001000

The following table lists the CPU, RAM, JVM Heap Size, and DB configuration recommendations for Small, Medium, and Large datasets.

SmallMediumLarge
CPU4 vCPU8 vCPU16 vCPU
Memory8GB8-16GB16-32 GB
JVM Heap Size4 GB8 GB* GB (50% of available RAM)
DB Configuration2 - 4 vCPU6 - 8vCPU12 - 16vCPU

Horizontal Scaling Recommendations

ComponentSmallMediumLarge
WorkerInternal12
NA4 vCPU X 8GB2 x 4 vCPU X 8GB
NA8GB8GB
Message Queue1 vCPU1 vCPU1 vCPU
DB Configuration2 - 4 vCPU6 - 8vCPU12 - 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.
  • 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 in centralConfiguration 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:

  1. Install and configure Deploy for your environment. Make sure you correctly set up the database or file-based repository.
  2. Estimate the number of packages to be imported, either the total number or the number per unit of time (NumPackages).
  3. Estimate the number of deployments to be performed, either the total number or the number per unit of time (NumDeployments).
  4. Record the amount of disk space used by Deploy (InitialSize).
  5. Import a small number of packages using the GUI or CLI.
  6. Record the amount of disk space used by Deploy (SizeAfterImport).
  7. Perform a small number of deployments.
  8. 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, and rmdir. If the login user cannot perform these actions, Deploy can also use a sudo 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 the sudoers 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.