Note that:

  • hardware requirements depend on various factors related to the Application(s) you are analyzing and these must be considered:
    • Number of lines of code (LOC)
    • Number of objects after analysis
    • Number of violations after analysis
    • Technologies used
    • Number of users accessing results
  • due to the different factors that need to be considered, it is difficult to make precise hardware recommendations, therefore what we provide in this page is indicative only. We provide these figures as a guide to the absolute minimum required to run AIP Console and all required components, and your own configuration will likely require better hardware.
  • using storage/disk with high IOPS values (i.e. SSD disks or SANs configured with SSD) will bring better performance. This is particularly true for servers hosting AIP Core/AIP Node and CAST Storage Service/PostgreSQL components where faster storage will improve analysis performance.
  • installations of AIP Core/AIP Node on servers with resources that are lower than the minimum required or that barely meet the minimum requirements will have the following limitations:
    • analysis runtime and SQL operations will be sub-optimal
    • you cannot run more than one application in parallel
    • disk space can be quickly overloaded

On-premises

Multi-node (Large/Enterprise) - minimum requirements

With AIP Console v. 2.x

Component

Server typeArchitecture

CPU

RAM

DISK

Common to AIP Nodes

OS

Notes
CAST ImagingPhysical/virtual64-bit

Minimum 1 CPU / 2 cores:

  • Intel Core i5, 2.6 GHz
  • Intel Xeon, 2.2 GHz

Recommended  1 CPU / 4 cores:

  • Intel Core i7, 2.8 GHz
  • Intel Xeon, 2.6 GHz
16GB min, 32GB recommended. 256GB (SSD recommended)

-

Windows or Linux
  • CAST Imaging is a CPU and RAM intensive application and for that reason, CAST recommends using a dedicated server (physical or virtual) specifically for CAST Imaging. In other words CAST does not recommend installing any other service (whether CAST or third-party) on the same server as CAST Imaging.
  • The installation on Microsoft Windows (non-Docker) will be blocked on machines configured with less than 8GB.
  • For Docker deployments on Microsoft Windows, a minimum of 16GB RAM must be allocated to Docker Desktop.

AIP Core + AIP Node Service (back end)

Physical/virtual64-bit

16GB min

100GB (SSD recommended)

Delivery/Deploy/Common folders

512GB (SSD recommended)

Windows

RAM

The batch files / Windows Service configurations provided for the AIP Node service are configured by default with conservative RAM provisions. See Configuring RAM for AIP Console front-end and AIP Nodes for more information about changing these.

AIP Console (front-end), including:

  • AIP Node database - Docker only (PostgreSQL)
  • Keycloak (OAuth 2 Server)
  • AIP Service Registry
  • AIP Gateway
Physical/virtual64-bit

8GB min

100GB (SSD recommended)

-

Windows or Linux

These items are all provided as Linux based Docker images in the public Docker Hub (.JAR file installs are also provided, however, these are targeted at deployments on Microsoft Windows on one single machine (including the AIP Node and the CAST Storage Service/PostgreSQL instance) i.e. for demo or POC requirements).

CAST Storage Service / PostgreSQL

Physical/virtual64-bit

32GB min

512GB (SSD recommended)

-

Windows or Linux

CAST highly recommends the use of PostgreSQL on a Linux instance as this consistently gives the best performance.
CAST Extend local server (optional)Physical/virtual64-bit4GB min64GB-Windows

It is possible to re-use one of the existing servers dedicated to AIP Core/AIP Node, providing that this is a Windows server, however CAST does recommend a dedicated server where possible.

With AIP Console v. 1.x

Component

Server typeArchitecture

CPU

RAM

DISK

OS

Notes
CAST ImagingPhysical/virtual64-bit

Minimum 1 CPU / 2 cores:

  • Intel Core i5, 2.6 GHz
  • Intel Xeon, 2.2 GHz

Recommended  1 CPU / 4 cores:

  • Intel Core i7, 2.8 GHz
  • Intel Xeon, 2.6 GHz
16GB min, 32GB recommended. 256GB (SSD recommended)Windows or Linux
  • CAST Imaging is a CPU and RAM intensive application and for that reason, CAST recommends using a dedicated server (physical or virtual) specifically for CAST Imaging. In other words CAST does not recommend installing any other service (whether CAST or third-party) on the same server as CAST Imaging.
  • The installation on Microsoft Windows (non-Docker) will be blocked on machines configured with less than 8GB.
  • For Docker deployments on Microsoft Windows, a minimum of 16GB RAM must be allocated to Docker Desktop.

AIP Core + AIP Node (back end)

Physical/virtual64-bit

16GB min

256GB (SSD recommended)

Windows

Disk space

The recommended disk space takes into account space for the following folders hosted on the AIP Node:

  • Delivery folder
  • Deploy folder
  • Log files,
  • Extensions folder
  • LISA / LTSA

You can refer to Deployment considerations for CAST Imaging for more information about this.

RAM

The batch files / Windows Service configurations provided for the AIP Node service are configured by default with conservative RAM provisions. See Configuring RAM for AIP Console front-end and AIP Nodes for more information about changing these.

AIP Console (front end)

Physical/virtual64-bit

8GB min

128GB

Windows or Linux

RAM

The batch files / Windows Service configurations provided for the AIP Node service are configured by default with conservative RAM provisions. See Configuring RAM for AIP Console front-end and AIP Nodes for more information about changing these.

CAST Storage Service / PostgreSQL

Physical/virtual64-bit

32GB min

512GB (SSD recommended)

Windows or Linux

CAST highly recommends the use of PostgreSQL on a Linux instance as this consistently gives the best performance.
CAST Extend local server (optional)Physical/virtual64-bit4GB min64GBWindows

It is possible to re-use one of the existing servers dedicated to AIP Core/AIP Node, providing that this is a Windows server, however CAST does recommend a dedicated server where possible.

Single server (Small/Testing)

Although it is possible to run all required packages and components from one single Windows server, CAST does not recommend this approach for "production" environments.

Server typeArchitectureCPU

RAM

DISK

OS

Notes
Physical/virtual64-bit

Minimum 1 CPU / 2 cores:

  • Intel Core i5, 2.6 GHz
  • Intel Xeon, 2.2 GHz

Recommended  1 CPU / 4 cores:

  • Intel Core i7, 2.8 GHz
  • Intel Xeon, 2.6 GHz
  • 16GB min
  • 32GB recommended

256GB min (SSD recommended)

Windows

16GB RAM is the absolute minimum requirement to allow all packages and components to function, however, analysis performance will be poor as the available resources will be shared between the AIP Node and the CAST Storage Service and investigation performance in CAST Imaging may also be compromised.

Example on-premises hardware configuration

Managing multiple applications

If you are managing a large number of applications, we recommend installing multiple AIP Nodes, one node per server to spread the load. The disk space allocated to a single AIP Node obviously depends on the size and the number of applications that will be analyzed by the AIP Node. In a situation where all the AIP Nodes are running analyses, some AIP Nodes may need to run more than one analysis in parallel. To avoid overloading the AIP Node where more than one analysis is running at the same time, we strongly recommend deploying servers with sufficient resources.

Therefore, to analyze up to 50 applications and to run up to 5 analysis in parallel on one single AIP Node with one associated CAST Storage Service/PostgreSQL instance, CAST recommends increasing RAM and DISK resources as follows:

Component

RAM

DISK

AIP Core + AIP Node (back end)

32GB min

2TB (SSD recommended)

CAST Storage Service / PostgreSQL

64GB min

3TB (SSD recommended)

You can distribute your applications across multiple CAST Storage Service/PostgreSQL instances, as discussed in Which deployment architecture should you use?

Analyzing complex applications

While 90% of JEE, .NET or Mainframe applications can be analyzed with the minimum requirements, some specific (very large or not well balanced) applications require more memory than the minimum recommendations. The following configurations are examples of sizing required for very large applications. The requirements are not a linear function that are based purely on the number of files or lines of code (LoC), instead it is more complex and there is no specific formula to use.

In general, a lack of memory will cause slowness (servers will resort to the use of virtual space) in the best case, and a crash in the worst case. The numbers presented in the table below are purely indicative and depict the varying memory requirements.

For JEE, it does not include the Security for Java extension, which has specific RAM requirements.
ApplicationAIP Node - CPUPeak RAM used by analyzerAIP Node - RAM (recommended minimum)Disk space
JEE application with 13,000 java files and 6,300 JSP files




2 processors, 4 cores

22 GB32 GB




256 GB

JEE application with 21,000 java files, 14 JSP files, 2,800 projects10 GB16 GB
JEE application with 30,000 java files and 1,200 JSP files12 GB16 GB
.NET application with 18,785 C# files12 GB16 GB
.NET application with 23,000 C# files and 4,100 cshtml files20 GB32 GB
Mainframe application with 10,000 COBOL programs2 GB8 GB

Cloud services

Multi-node instance (Large/Enterprise) on Amazon Web Services (AWS)

The following requirements are based on CAST's own testing for the analysis of a single "large Application", using Amazon EC2 R5 Instances:

Component

Minimum instance typeVolume SizeVolume TypeMinimum IOPS
CAST Imagingr5.large256GBGeneral purpose SSD (gp2) or Provisioned IOPS SSD (io1)400

AIP Core + AIP Node (back end)

128GB
AIP Console (front end)256GB
CAST Storage Service / PostgreSQL512GB
CAST Extend Offline or CAST Extend Proxy (optional)128GB