QEST Platform Pre-Installation Overview
Applies to All
This article provides a high-level overview of the infrastructure requirements for QEST Platform and outlines the pre-installation activities required to be carried out before installing the QEST Platform products.
Contents
- 1 Scope
- 2 QEST Platform Desktop Applications Overview
- 2.1 Architecture
- 2.2 Application Server
- 2.2.1 System Requirements
- 2.2.2 Notes
- 2.2.3 Third-Party Software and Tools
- 2.2.4 Licensing
- 2.3 Database Server
- 2.3.1 System Requirements
- 2.3.2 Deprecation Notice
- 2.3.3 Caution
- 2.3.4 Notes
- 2.3.5 Configuration and Licensing
- 3 QEST Platform Web Services Overview
- 3.1 Architecture
- 3.1.1 QESTField App
- 3.1.2 QEST Platform Web Server
- 3.1.3 QESTNet Server
- 3.2 QESTNet Server
- 3.2.1 System Requirements
- 3.2.2 Notes
- 3.3 QEST Platform Web Server
- 3.3.1 System Requirements
- 3.3.2 Notes
- 3.4 External Access to QEST Platform Web Services
- 3.1 Architecture
- 4 Test Environments
- 5 Multi-Factor Authentication and Microsoft Entra ID Integration
- 6 Utilizing Cloud Infrastructure
- 7 Obtaining the Latest Release
- 8 Remote Access
- 9 Screenshot Reference List
Scope
The information included in this document applies largely to organizations that wish to host the QEST Platform products on-premises rather than utilizing the QEST Cloud offering.
This document provides a high-level overview of the infrastructure requirements for QEST Platform and outlines the pre-installation activities required to be carried out before installing the QEST Platform products.
This includes system requirements and prerequisites for the database server and application servers where QEST Platform desktop applications will be installed.
The target audience is IT professionals, IT managers, and technical managers. Some sections may require an understanding of network infrastructure.
Additional supplementary documents provide details for configuration of the environment to make it ready for Spectra QEST software installation. The scope of this document does not cover the actual installation process for the applications.
QEST Platform Desktop Applications Overview
Architecture
QESTLab is Spectra QEST’s Laboratory Information Management System (LIMS) and the core of the QEST Platform. It has been developed in Microsoft Visual Studio 6 (VB) and has a 2-Tier "Rich Client to Database" architecture. Supported database engines are Microsoft SQL Server 2008R2 and later.
A standard installation involves one Windows Server running Microsoft SQL Server and one or more Windows Server Application Servers running the QEST Platform client software. Remote Presentation or Application Virtualization technologies (Microsoft Remote Desktop Services, Citrix Virtual Apps, or similar) are used to present QEST Platform desktop applications to the user.
The configuration and maintenance of the selected Remote Desktop or Application Virtualization technology is the responsibility of the customer (or their IT Department).
Application Server
System Requirements
Application Server | |
---|---|
Minimum Hardware Requirements | 4 CPU Cores (or vCPUs) 8 GB RAM >1 GB free Hard Drive space |
Software Requirements | Required: Windows Server 2008 or later (64-bit) (see Notes below) Remote Presentation or Application Virtualization technology (Microsoft Remote Desktop Services, Citrix Virtual Apps, or similar) .NET Framework version 4.6.2 or later |
Sizing | 30-50 users per application server |
The Application Server will run instances of the QEST Platform desktop applications (QESTLab Client, QEST Crush Station, and QEST Weigh Station) for each user. These are the most CPU and memory intensive QEST Platform modules and require greater hardware commitments as the number of users increases.
Each server with these specifications will be able to handle between 30 and 50 concurrent users. Once there are more than this number of concurrent users a new server should be introduced to lighten the load.
Notes
32-bit application servers are no longer supported – please plan to use a 64-bit installation of Windows Server 2008 or later.
Microsoft support for Windows Server operates on a fixed life cycle. Versions prior to Windows Server 2016 are no longer in Mainstream Support and are not recommended for new implementations of QEST Platform.
Third-Party Software and Tools
A PDF Viewer must be installed on the Application Server(s) to be able to edit QESTField Forms from QESTLab.
Microsoft Office Suite, specifically, a recent version of Excel (2007 or later). Excel must be installed on the Application Server(s) to enable the optional Dynamic Worksheets and External Test Reports features. Installing Excel on an Application Server has licensing implications - please review the Microsoft Office subsection in the Licensing section below.
Full installation and configuration documentation can be found in Installation and Configuration Instructions.
Licensing
Some of the required software has additional licensing requirements.
Windows Server
Windows Server Client Access License per named user (User CAL) or specified workstation (Device CAL)
Organisations with existing Windows Server installations do not need to repurchased Windows Server CALs if existing CALs are appropriate for the Windows version installed on the new server
Windows Server RDS Client Access License per named user (User CAL) or specified workstation (Device CAL)
RDS CALs are required even if a non-Microsoft application virtualization technology such as Citrix is employed
Microsoft Office
QESTLab's Dynamic Worksheet, Printable Worksheet, and External Report features manipulate Excel directly using Component Object Model (COM) Objects. This requires that Excel 2007 or later is installed on the application server alongside QESTLab Client.
Installing Excel on an application server requires a compatible licensing model - either Volume Licensing or an Office 365 subscription that includes Office 365 ProPlus.
The number of licenses required will depend on which licensing model is used – Volume Licensing is per client device (not per TS CAL) while Office 365 ProPlus is per-user with the caveats detailed in Microsoft's overview of shared computer activation for Office 365 ProPlus.
Database Server
The QEST Platform database is a SQL Server database which requires an instance of Microsoft SQL Server installed.
We highly recommend using a Standard or Enterprise Edition of MS SQL Server as the Express Edition has significant limitations. Spectra QEST supports SQL Server 2008R2 and above. Express Edition may be used during initial implementation and acceptance testing, but the restriction on database size makes it unsuitable for use in a production environment.
It is recommended that the Database Server and Application Server are separate machines. This requires that:
SQL Server instance is configured to allow remote connections
SQL Server supports remote connections via TCP/IP or named pipes. TCP/IP communication is used for performance reasons and should be enabled for SQL Server. For more information on selecting a network protocol for SQL Server see Microsoft Technet.
The port that the SQL Server instance is listening on is open and incoming connections are allowed from the application server by any firewalls. By default, this is port 1433.
Full installation and configuration documentation can be found in Installation and Configuration Instructions.
System Requirements
A separate machine guarantees more dedicated resources to executing the SQL queries initiated by QEST Platform applications. The Database Server (if separate) should have the specifications shown in the table below. It is not recommended to attach any other databases to this Server.
Database Server | |
---|---|
Minimum Hardware Requirements | 4 CPU Cores >16 GB RAM >300 GB Hard drive space |
Software Requirements | Microsoft SQL Server 2008R2 or later (see deprecation notice below) |
Sizing | Database sizing requirements vary depending on the volume of data. |
Deprecation Notice
From June 2023, the minimum supported SQL Server database compatibility level for new QEST Platform releases will be 130, requiring SQL Server 2016 or newer.
After June 2023, Spectra QEST support for QEST Platform on each SQL Server version will extend until that SQL Server version reaches the end of Extended Support from Microsoft. SQL Server 2016 SP3 will remain in Extended Support until July 14, 2026.
All customers should plan to upgrade to SQL Server 2016 SP3 or newer by June 2023.
Caution
For optimal performance, network latency must be minimized by keeping the database server and the application server(s) physically close.
As a guideline, good performance requires latency near or below 1 millisecond between these servers. If possible, connect the database server and the application server(s) to the same switch.
Care should be taken when designing a deployment in which one or more QEST Platform servers are virtualized. Please ensure that the physical hosts will remain proximate and that virtual switching does not add unacceptable latency overhead.SQL Server Express Edition may be used during implementation, but the severe limitations on database size and performance make it unsuitable for production use.
As of the 2017 edition, SQL Server Express has the following limitations:Maximum Number of CPU cores utilized: 4 cores
Maximum amount of RAM utilized: 1 GB
Maximum Database size: 10 GB
Notes
Microsoft support for Windows Server operates on a fixed life cycle. Versions prior to Windows Server 2016 are no longer in Mainstream Support and are not recommended for new implementations of QEST Platform.
Configuration and Licensing
For details on licensing and configuring SQL Server for use with QEST Platform, please refer to the companion document SQL Server Configuration Recommendations.
QEST Platform Web Services Overview
Architecture
QEST Platform includes a family of web applications collectively called QESTField. These applications use the same central Database as the QEST Platform Desktop Applications detailed in the previous section.
QESTField incorporates tools for field testing (QESTField Tests), inspection reports and fillable PDF templates (QESTField Forms), and field work scheduling and work allocation (QESTField Scheduler).
QESTField App
Mobile devices can be provisioned to connect to the QEST Platform via the QESTField App. The QESTField App connects and authenticates via the QEST WebAPI to perform field activities (QESTField Tests and QESTField Forms).
QESTField App | |
---|---|
Android | Requires 5.0 and up |
iOS | Requires iOS 11.0 or later. Compatible with iPhone, iPad and iPod touch. |
QEST Platform Web Server
The QEST Platform Web Server runs as a web service within Microsoft IIS. It hosts the QESTField website, QEST Web App website, as well as the QEST WebAPI.
QEST WebAPI
The QEST WebAPI is a set of JSON/RESTful end points which provide authentication and data services to the QESTField App.
QESTNet Server
The QESTNet server provides back-end services which interface the QEST Platform Web Services and the QESTField App with the QEST Platform Database.
QESTNet Server additionally provides integration services with third-party data stores.
QESTNet Server
System Requirements
QESTNet Server | |
---|---|
Minimum Hardware Requirements | 4 CPU Cores (or vCPUs) 6 GB RAM >1 GB free Hard Drive space |
Software Requirements | Required: Windows Server 2008 or later (64-bit) (see note 3 below) .NET Framework version 4.6.2 or later (see note 1 below) |
Sizing | 100 simultaneous users for the minimum hardware and smooth scale-up with more powerful servers. This means approximately 500 users will be feasible on a powerful server. Scale-out flexibility for very large implementations provided via multiple federated servers with shared authentication services and load-balancing. |
Notes
.NET Framework 4.6.2 or later is required. This can be installed via the QESTNet installer if the server has internet access.
32-bit servers are no longer supported – please plan to use a 64-bit installation of Windows Server 2008 or later.
Microsoft support for Windows Server operates on a fixed life cycle. Versions prior to Windows Server 2016 are no longer in Mainstream Support and are not recommended for new implementations of QEST Platform.
QEST Platform Web Server
System Requirements
Web Server | |
---|---|
Minimum Hardware Requirements | 4 CPU Cores (or vCPUs) 4 GB RAM >1 GB free Hard Drive space |
Software Requirements | Required: Windows Server 2008 or later (64-bit) (see note 3 below) .NET Framework version 4.6.2 or later (see note 1 below) Internet Information Services (IIS) 7.0 or later with default features plus ASP.NET v4.5. Internet Information Services extension URL Rewrite 2.1 or later. |
Sizing | For the minimum hardware we estimate up to 1000 users can be supported with peak request rates of around 100/second. This will scale up or out as required. |
Notes
.NET Framework 4.6.2 or later is required. This can be installed via the QESTField installer if the server has internet access.
32-bit servers are no longer supported – please plan to use a 64-bit installation of Windows Server 2008 or later.
Microsoft support for Windows Server operates on a fixed life cycle. Versions prior to Windows Server 2016 are no longer in Mainstream Support and are not recommended for new implementations of QEST Platform.
External Access to QEST Platform Web Services
As QESTField is primarily a field-data entry system it is necessary to provide access to the QEST Platform Web Server from outside the Company Firewall. Appropriate SSL certificates must be obtained for the required external QESTField URLs.
Test Environments
It is recommended that customers operate multiple QEST Platform environments to facilitate acceptance testing during routine use and product upgrades.
As it is not possible to install multiple versions of the QEST Platform modules side-by-side on one server, the additional environments will require additional application servers. However, as the test environment will contribute little additional load it is usually appropriate for all environments to share the same database server.
The environment described above is the "Production" environment. These servers must have high availability for many simultaneous users.
The second environment, recommended for all customers, is the "Test" environment. A Test environment allows for changes to a QEST Platform system to be implemented and verified without affecting users of the Production system.
The Test environment should be a near-exact replica of the Production environment, running the same QEST Platform version and being refreshed from backups of Production on a regular basis. This allows the Spectra QEST Services team to use the Test environment to investigate reported issues without risking data in Production.
Test environment servers do not have the same uptime requirements as Production, and can be scaled for fewer simultaneous users (typically 1-3). It is generally acceptable for all QEST Platform modules (QESTLab, QESTNet, QESTField, Web API) to share a single server in the test environment.
The third environment is the "Development" environment. A Development environment permits User Acceptance Testing (UAT) of upcoming QEST Platform releases in the lead-up to and during upgrade projects. For smaller implementations it may be acceptable to have the Test environment serve as the Development Environment during upgrade projects. Development environment servers do not have the same uptime requirements as Production, and can be scaled for fewer simultaneous users (typically 1-3). It is generally acceptable for all QEST Platform modules (QESTLab, QESTNet, QESTField, Web API) to share a single server in the Development environment.
Multi-Factor Authentication and Microsoft Entra ID Integration
QEST Platform products, by default, provide authentication through the use of a username and password. Since many QEST Platform products are publicly facing the use of stronger authentication methods, such as multi-factor authentication is strongly recommended.
In the QEST Platform this is achieved through integration with Microsoft (MS) Entra ID (previously Microsoft Azure AD). In order to utilize the multi-factor authentication functionality available from MS Entra ID when authenticating with QEST Platform products, QEST Platform users will need to exist as users in an instance of MS Entra ID that is accessible from the server running the QEST Web API.
An application will need to be registered in the MS Entra ID instance for the QEST Platform to use for authentication as described in Microsoft Entra ID Application Registration. This step can be completed as part of the installation of the QEST Platform or be completed ahead of time.
Utilizing Cloud Infrastructure
QEST Platform is verified to operate correctly on cloud-hosted Infrastructure as a Service (IaaS) offerings from Amazon (AWS EC2) and Microsoft (Azure Virtual Machines). For this configuration, we recommend replicating the architecture described above with one Database Server virtual machine and one or more Application Server virtual machine(s), running your choice of Application Virtualization software to distribute the applications to end users.
Spectra QEST does not recommend the use of Microsoft's Azure "SQL Database" Platform as a Service (hereafter referred to as Azure SQL PaaS) because of QESTLab's sensitivity to query latency. Due to the inherently multi-tenant nature of Azure SQL PaaS, Microsoft does not provide any guarantee of typical or maximum latency, nor is any data available regarding historical latency distribution on their platform. Similarly, Spectra QEST do not recommend hosting the QEST Platform Database on the Amazon Relational Database Service.
Spectra QEST has not verified the functionality of QEST Platform applications on the cloud-hosted Citrix Virtual Apps Essentials Service (formerly XenApp Express).
Obtaining the Latest Release
Spectra QEST will notify customers when the latest QEST Platform release relevant to their operation is available for download and installation. These installer files are usually made available on the Spectra QEST FTP server and can be accessed by logging on to ftp.spectraqest.com. For further details or to obtain the required FTP credentials, please place a request in the Service Desk Portal.
Remote Access
Remote access to the QEST Platform environments described above will be required for Spectra QEST staff. This will ensure that Spectra QEST is able to troubleshoot and assist with any issues in the most efficient manner. Remote Access will also allow Spectra QEST to help with software installations if required.
Spectra QEST staff can make use of any available remote access technology. Typical implementations use a VPN and Microsoft Remote Desktop Protocol, but other solutions (including Microsoft RD Web Portal) are acceptable.
Please test remote access thoroughly, especially from endpoints external to the network.
Related content
Integrity | Curiosity | Empathy | Unity
The content of this page is confidential and for internal Spectra QEST use only. Do not share, duplicate or distribute without permission.