Introduction
Many clients wish to know what the hardware and operating system requirements are for a Delft-FEWS client-server system. On this page you can find a list of specifications. If you have any question about the list, or you do not see the operating system of your choice: please contact Delft-FEWS Support. This list is not exhaustive.
Colors indicate level of change since previous release
Unchanged since previous release |
Minor change since previous release |
Major change since previous release |
Delft-FEWS Supported release versions
All recent Delft-FEWS releases require 64-bit hardware and OS. Deltares supports at maximum 5 versions. If still on an unsupported version it is strongly recommended to upgrade to a supported version.
release | release date | end of support |
---|
Delft-FEWS 2022.02 | Feb 2023 | when 2025.01 is released (approx. Q3 2025) |
Central database
Central storage for operational Forecast data. One instance per Master Controller.
Minimum requirements
- Follow database vendor requirements for memory and CPU requirements.
- 4 GB RAM for the database server is required for a small FEWS instance with less than 5 users. 8 GB or more for larger systems.
- The database instance(s) can be hosted on an existing database server or cluster.
- See also Database connection count calculator
The Delft-FEWS client-server system is known to run with the following database versions:
Oracle
PostgreSQL
- PostgreSQL 11, 12, 13
- See https://endoflife.date/postgresql
- The maximum size for PostgreSQL database fields in Delft-FEWS is 1 GB. As a result all big files such as Module config files and ColdStates must respect this limit. WarmStates exceeding this size can be stored externally on the file system.
SQLServer
Delft-FEWS components
Operating Systems
Follow vendor guidelines for minimum requirements. The Delft-FEWS binaries require the x64 instruction set.
Linux
Red Hat Enterprise Linux (7 / 8), AlmaLinux 8
Windows
Windows 8.1 / 10, Server 2012(R2), 2016, 2019.
JDK
JDK | remarks |
---|
Amazon Corretto 11 TLS | For Delft-FEWS components other than Tomcat and model adapters, there is no need to download the JDK since it is distributed as part of the binaries. |
Master Controller Server
Server for workflow management, event processing, sending system alerts and cleaning up expired records. Synchronizes from other Master Controllers in multi-MC systems. Multi-MC systems are useful for redundancy and / or for cooperation between organisations.
Minimum requirements
- OS minimum +1 GB RAM (multi Master Controller systems +2 GB)
- OS minimum +1 CPU per Master Controller instance
- 10 GB free diskspace
Admin Interface
Web application for super-users for monitoring, system control and task scheduling.
Minimum requirements
See Tomcat requirements - 2022.02 and before, +512 MB RAM.
At least -Xmx512m
Webbrowser with javascript and session cookies enabled.
- Load balancers must use sticky sessions.
Supported browsers (recent version):
Support for external authentication (optional)
Config Manager
Used by the application manager to control the Delft-FEWS configuration in the central database. In multi Master Controller systems the Config Manager always operates on the primary Master Controller database.
- usable in Citrix
- no admin privileges required
Minimum requirements
- OS minimum +2 GB RAM
- OS minimum +1 CPU
- 20 GB free disk space
Support for external authentication (optional)
- Open ID Connect when using Database proxy.
Operator Client / Stand alone
Thick GUI client for end users. When connected to the central database it is referred to as the Operator Client. When operating on a local datastore without connecting to the central database, it is referred to as the Stand alone Client. Memory settings depend on number of locations and the size (relative view period) of the time series in calculations.
- usable in Citrix
- no admin privileges required
Minimum requirements
- OS minimum +2 GB RAM
- OS minimum +1 CPU
- 20 GB free disk space
Support for external authentication (optional)
- Open ID Connect when using Database proxy.
Forecasting Shell Server
Server for execution of forecast runs and import tasks.
Low duty / Heavy duty FSS Groups
It is good practice to categorize workflows on basis of cpu / memory requirements to specialized Forecasting Shell Server Groups. Simple import workflows often require less resources than heavy duty forecast models.
Minimum requirements
- OS minimum +2 GB RAM + model requirements
- OS minimum +1 CPU per FSS instance + model requirements
- 20 GB free disk space + model requirements
Database Proxy
Optional server for enabling http(s) access to the central database. Typically used in combination with a reverse proxy server. Typically used for connecting Operator Clients to the central database. Never used by the FSS. Sometimes used for ConfigManager / MC-MC synchronisation with external networks.
Minimum requirements
Delft-FEWS Web Services
Optional service which allows PI-REST clients to interact with and retrieve data from the Delft-FEWS system.
Minimum requirements
Deltares Open Archive
Optional server running as a Tomcat servlet for storing forecast data, performance indicator data and configurations on a longer time scale than in the central database of the Delft-FEWS system.
Minimum requirements
- Failsafe storage. Any RAID (https://en.wikipedia.org/wiki/RAID) with ample capacity will be sufficient.
- OS minimum +3 GB RAM.
- OS minimum +3 CPUs.
- See Tomcat requirements.
- Load balancers must use sticky sessions.
- Permissions for the file system containing archive data:
- Must be accessible by the THREDDS server with read permissions.
- Must be accessible by the Archive Server with full permissions.
- Must be accessible by the Forecasting Shell Servers with write permissions.
Scalability and virtualisation
Scalability, number of servers
The components mentioned above can all be located on one (powerful) server or each on an individual machine, with all possible configurations in between. It is however common practice to separate the Forecasting Shell Server from the Master Controller Server. When using multiple machines it is essential that all machines have matching clocks. This can be achieved by making use of one and the same NTP server.
A typical configuration is:
- Database Server
- Master Controller server running Master Controller(s), Apache Tomcat for Admin Interface
- Forecasting Shell Server(s)
- Open Archive Server
Typically in a dual Master Controller setup every Master Controller has its own machine so that maintenance can take place without offline time.
Virtualization
It is very well possible to deploy the Delft-FEWS components in virtualized environments. The Deltares ICT team has most experience with Delft-FEWS on VMWare VSphere with in-depth knowledge but Delft-FEWS is also known to run on Microsoft Hyper-V. Virtualization of the Delft-FEWS back-end services can generally be done without problems. The Forecast modelling software determine requirements or limitations with respect to virtualization of the Forecasting Shell Servers.
Security
Read more about the shared responsibility model. >>
Shared responsibility model
The Delft-FEWS server software historically was most commonly installed on-premise at the customer site on servers that were not directly connected to the internet. Nowadays, there are also more and more Delft-FEWS applications that are being deployed in the cloud. This means security standards and guidelines for the installation of live systems have become more critical than ever before. Delft-FEWS runs on top of a stack of components like 3rd party components: databases, Tomcat and an embedded JRE.
For updates for the embedded JRE it is recommended to contact Deltares. The role of Deltares is to supply guidelines and facilitate security best practices where possible. Deltares maintains a separate section on the WIKI especially for system and database administrators. To view these pages, personal credentials can be supplied. These pages contain highly detailed information for installing and upgrading Delft-FEWS, amongst others about security aspects. For the near future it is foreseen that more and more managed services from cloud providers (e.g. Tomcat, database) can be applied. All Delft-FEWS developers are security aware and evaluate the existing and potential vulnerabilities on a regular basis. Together with our colleagues from our ICT department they meet regularly to discuss (potential) improvements for each Delft-FEWS release.
Tomcat
Tomcat is required for the deployment of the Admin Interface, Database HTTPS Proxy, Fews Webservices and the Deltares Open Archive. Tomcat is installed and maintained by the customer organization. Deltares indicates which version of tomcat is compatible with / required for which version of Delft-FEWS. All security related aspects available in Tomcat can be applied and are under the responsibility of the customer organization.
JRE/Java
In several components of Delft-FEWS a (stripped down) version of Java/JRE (Java Runtime Environment) is embedded. This JRE folder is a recognizable and standard part of the Delft-FEWS binary package for Operator Clients and Forecasting Shell Servers. This means that Deltares delivers an optimized (and minimal) Java Runtime Environment based on Amazon Corretto's series. This so-called base-build can be updated and Deltares will release new base-builds if required. Since the JRE folder is recognizable within the Delft-FEWS binaries, organizations may decide to replace this JRE folder in favour of another (compatible) version of the JRE. It is certainly possible to use a different provider (e.g. Oracle Sun or the openJDK). Replacing the JRE can be done by creating a soft link to the JRE directory or by replacing the JRE folder.
Local databases (Operator Client, Stand Alone)
In recent versions of Delft-FEWS there is no need for a local database (datastore) for an Operator Client (OC) in a client-server environment. Although it is still possible to have a 'fully synchronized' (local) database in an OC or to create a 'replicate' of the central database to continue working as a standalone (SA). There are two data formats available: Derby or Firebird. These are just local files (just like any other file on the file system) and they do not require any software installed for managing it. The Delft-FEWS Operator Client or Stand Alone application just reads from and writes to this database format. This mechanism cannot be used as a ‘hub’ to enter other server side components.
Central Database access
Delft-FEWS can be equipped with one of three common brands of central databases: Oracle, PostgreSQL or MS SQLServer. Access to the central database is required for several Delft-FEWS servers side components. These components are normally located behind the organization's firewall (same network) or in the secure domain of a data centre or cloud provider. Operator client access to this database is also required, but when set up from 'outside' the organization's network, a https (proxy) server (including IP whitelisting) should be in between. Deltares can provide this.
Forecasting Shells
The Delft-FEWS binaries folder should be made read-only.
Forecasting Shell Servers (FSS) should have limited permissions (rights). Only write access within their own directory.
Only provide access to the data feed shared folders for FSSs.
The account for installing should be different than the account running processes
When applying external simulation software, ensure the executables and other libraries have only permission to be run locally.
Operator clients
The Delft-FEWS binaries folder should be made read-only.
When using the optional JCEF browser, white-listing is used to grant access to webpages.
Multi-layered security approach
- The inner layer is the central database (and optionally Deltares Open Archive).
- The middle layer are Delft-FEWS components that communicate directly with the database using encryption.
- The third layer (optional) is a reverse proxy to the database that can be accessed externally.
- The outer layer is the bastion host (optional).
End-Of-Life of third party components
Deltares cannot support any release that is marked as end of life by the supplier. For a quick check whether a component is still supported: