Top view of a two women in running attire jogging together. Female friends working out together in morning.

System
Requirements

UP AND RUNNING IN NO TIME

Whether you choose our hosted service or an in-house deployment, you can get up and running quickly with Agiloft. And because Agiloft is accessed through a web browser, it’s available anytime, anywhere, on virtually any device.

Four buildings with red balcony curtains.
Person in red sneakers running up the metal stairs.
A flock of geese flying.
Two european trucks, orange and red.

Browser support

No client software is needed to access Agiloft, as it is a 100% web-based product and all access is through a web browser. The most recent and stable versions of the following browsers are supported:

  • All platforms: Firefox, Chrome
  • On Windows, we also support: Edge
  • On Mac, we also support: Safari

Mobile Devices

All mobile devices running Android or iOS, including the iPhone, iPad, and Android cell phones and tablets are supported.

We support Chrome, Safari, and Firefox mobile browsers for these devices.

Server Operating Systems

Agiloft is built on the EJB architecture for compatibility across all operating systems.

Prebuilt installers are available for download on:

  • Windows Server: 2012R2, 2016, 2019, 2022
  • Linux: All recent major releases, including Suse, RedHat, Debian, Fedora, CentOS, AWS AMI

Note: “recent” is defined as any release using glibc >= 2.27

Virtual/Cloud OS’s

The virtual forms of the above OS’s are also supported. Agiloft runs under Linux Xen, VMWare Hypervisor and Windows Hypervisor.

Client Operating Systems

All operating systems that support a browser are supported including Windows, Linux, MacOS and Chrome OS.

Web Server Applications

The installation package includes the JBoss application server and Tomcat JSP server. No additional web server is needed. For example, you can install the entire product on a laptop running Windows 7 home edition or the server edition.

If either Apache or IIS are found, Agiloft will automatically integrate with them so that it can be accessed either through the JSP server on port 8080 by default, (the actual port is configurable) or through the native web server on port 80.

Databases

Agiloft uses JDBC for database interoperability and has been certified against:

  • MS SQL Server 2016, 2017, 2019
  • MySQL 5.7, 8.0

Each record typically only takes a few kilobytes of disk space, but attached files can exceed 100M each and may be indexed for full text search. This more than doubles the required disk space. The amount of space required mostly depends upon the quantity, size, and type of attached files. As a very rough guide, it is reasonable to allocate 500GB for a system that will contain a million records. Almost all shared production KB’s require at least 200G of hard drive space.

If the database is on a separate machine from the application server, the machines should have a 10Gbps or faster connection to avoid performance problems. The minimum RAM requirements are 8GB for the database machine and 10GB for the application server.

We recommend using the default MySQL database on the same machine as the application. This not only improves performance but security. In this default configuration, all external ports to the database are closed, making it impossible for anyone to hack directly into the database, even if they had the administrator password. Database administration, such as backups, or adding tables, fields, and indexes are handled through the application, so there is no need for DBA expertise.

Hardware

If you install Agiloft on your own server, a 64 bit OS such as Linux or 64 bit Windows is required. Dual quad-core or hex-core processors are recommended for systems with large numbers of concurrent users and we highly recommend Intel processors such as the e5 series. Approximate RAM/CPU requirements are:

Concurrent UsersRAMProcessor Cores
1 user (laptop)4G4
3-4932G4-8
50-24964G8-16
250-499128G8-16
500-5000256G16-32
5000-100000512G32-64

For optimum performance, we strongly recommend the use of SSD drives.

As detailed above, if you install Agiloft on a different server to the database, you will need a 10 Gbps connection between the servers to obtain good performance.

The above recommendations include plenty of spare capacity and refer to the number of users who are actually logged in at the same time. There may be any number of named users in the database, but only the ones who are actually logged in have any performance impact.

If the system is configured for unlimited end-users, it may be hard to anticipate the numbers of users who will actually be accessing the system concurrently. Generally, it is reasonable to simply double the assigned power user numbers. For example, a system with 25 assigned power users and unlimited end users should be given as much memory as a system with 50 assigned power users and no end users.

The memory requirements are the same whether you are running under a native or virtual OS. While the application will run happily on a laptop with 4GB of RAM, we really do recommend 32GB when it is being used to serve multiple users. There are three reasons for this:

  • When architecting an application, there is a trade-off between performance, flexibility, and RAM requirements. We designed for maximum performance and flexibility, knowing that this would require a lot of RAM. Essentially, we bet that Moore’s law would bring down the price of RAM to the point where 32GB would be affordable and indeed it has.
  • We built on EJB to exploit the billion dollar investment that companies like Oracle and IBM have made in this platform for enterprise connectivity, security and scalability. It paid off, but Java-based applications are notoriously memory hungry.
  • Agiloft is a 2,000,000+ line enterprise application, built on infrastructure that allows it to scale to hundreds of thousands of concurrent users. Just as a Boeing 747 needs a large runway to take off, even when there are just a few passengers; Agiloft needs sufficient RAM, even when there are only a few users.

Agiloft is a true multi-threaded, multi-process application that fully exploits the power of multi-core processors. It supports multiple concurrent background processes such as multiple timer-based rules, full-text search indexing, backups, and email processing. Sufficient CPU cores should be allocated to handle these without affecting interactive performance.

Backups

Agiloft includes an automated backup facility that exports the knowledgebase, together with all customizations, scripts and attached files to a single compresses XML file, without interfering with production use. This file may be used to move the knowledgebase between Windows and Linux servers, and between backend SQL Server and MySQL databases.

If 24/7 operation is not required, it is also possible to backup the installation using a 3rd party system snapshot facility. System snapshots are a lower level operation and may be incremental, making them significantly faster and more disk-space efficient than native Agiloft backups. However, they do require halting the database first, so the system is not accessible while they are being created.