This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
system_requirements [2022/03/21 12:39] yves |
system_requirements [2022/08/29 13:27] (current) angelos [Operating system and software prerequisites] |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== System requirements ===== | ===== System requirements ===== | ||
- | System requirements, software prerequisites, and other recommendations are described in a separate document [[https://host.pathomation.com/pdf/requirements-2019.pdf|"System Requirements"]] (but probably not as elaborate as in that document) | ||
- | ==== On-premise installation ==== | + | ==== Operating system and software prerequisites ==== |
- | + | In principle any version of Windows + Internet Information Server (IIS) will do. We've got the software to | |
- | * SQLServer on same machine or otherwise? | + | run on IIS Express edition for demonstration purposes. We offer the following formal guidelines: |
- | * CPU / Number of cores | + | ^ Component ^ Minimum ^ Suggested ^ |
- | * Memory | + | | Operating System | Windows 2016 Server | Windows 2022 Server | |
- | * SQLite requirements? | + | | Web Server| IIS 7.5 | IIS 10.0| |
+ | | .Net Framework | 4.7.2 | 4.7.2 | | ||
+ | | RDBMS | Microsoft SQL Server 2014| Microsoft SQL Server 2019| | ||
=== Additional comments regarding SQLServer === | === Additional comments regarding SQLServer === | ||
+ | The application requires the **Full-Text Search feature to be installed and available**. | ||
- | SQL CE vs. "full" SQL Server | + | SQL Server Express can be used but poses two limitations which have to be taken into account: |
+ | - The maximum database size cannot exceed 10GB. | ||
+ | - Only one CPU core is used to execute queries. | ||
+ | |||
+ | |||
+ | ==== On-premise installation hardware requirements ==== | ||
+ | |||
+ | ^ Component ^ Minimum ^ Suggested ^ | ||
+ | | CPU cores | 4 | 16 | | ||
+ | | RAM | 8GB | 16GB | | ||
+ | | Disk | 250GB HDD | 500GB SSD | | ||
+ | | Cache disk | 100GB HDD | 1TB HDD | | ||
+ | | Network interface | 100MBps | 1Gigabit| | ||
+ | |||
+ | SQL Server can also be installed in a separate machine. The requirements for the computer hosting only SQL Server are the following: | ||
+ | |||
+ | ^ Component ^ Minimum ^ Suggested ^ | ||
+ | | CPU cores | 4 | 8 | | ||
+ | | RAM | 8GB | 16GB | | ||
+ | | Disk | 250GB HDD | 500GB SSD | | ||
+ | | Network interface | 100MBps | 1Gigabit| | ||
+ | |||
+ | === Security considerations === | ||
+ | PMA.core does not offer any intrusion detection system. When installing the system on premises, it is highly recommended to review the security policies of the host computer and the network it belongs to and configure it accordingly. | ||
+ | |||
+ | === Date and time configuration === | ||
+ | PMA.core relies on the host computer's date and time for all operations that involve the current time, such as logging events. Hence, in order for the system to operate correctly and reliably, it is mandatory to configure the system's time correctly and have it periodically sync with a time server. | ||
==== Installation on an AWS Virtual Machine ==== | ==== Installation on an AWS Virtual Machine ==== | ||
- | * EC2 requirements, | + | When installing PMA.core on AWS, it is highly recommended to use RDS to host SQL Server instead of installing it on the VM that PMA.core will be installed. |
- | * RDS requirements, | + | |
- | * store slides on local hard disk (additional partition configured on the EC2 instance) on S3 bucket storage? | + | |
+ | ^ Component ^ Minimum ^ Suggested ^ | ||
+ | | PMA.core VM size| t3.large | t3.xlarge | | ||
+ | | SQL Server RDS VM size| t3.medium | t3.large | | ||
+ | | Cache disk | 100GB EBS | 1TB EBS | | ||
+ | |||
+ | Additionally, slides can be stored either on local disks attached to the VM or in S3 buckets. | ||
==== Installation on an Azure Virtual Machine ==== | ==== Installation on an Azure Virtual Machine ==== | ||
- | * VM requirements | + | When installing PMA.core on Azure, it is highly recommended to use the Azure SQL Server service to host SQL Server instead of installing it on the VM that PMA.core will be installed. |
- | * SQLServer requirements | + | |
- | * store slides on local hard disk (additional partition configured on the EC2 instance) on Azure (blob/table/data lake?) storage? | + | ^ Component ^ Minimum ^ Suggested ^ |
+ | | PMA.core VM size| D2as v5 | D4as v5 | | ||
+ | | Azure SQL Server RDS VM size| A2m v2 | A4 v2 | | ||
+ | | Cache disk | 100GB standard HDD | 1TB standard HDD | | ||
+ | |||
+ | Additionally, slides can be stored either on local disks attached to the VM or in Azure Blob Storage. | ||
+ | When possible, it is recommended to prefer [[https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction|Azure Data Lake Storage Gen2]] over plain Azure Blob Storage, as this type of service performs directory management operations, such as moving and renaming slides and directories, a lot faster. | ||
+ | === PMA.core cache requirements === | ||
+ | Regardless of the choice or combination of the storage media used, the system requires some space on | ||
+ | a local or network disk where cache data will be stored and accessed. PMA.core allows you to define | ||
+ | the cache retention policy and informs you about it's size. As a general rule of thumb, the cache | ||
+ | capacity should be around 10% of the total size of the available whole slide images. | ||
+ | ==== Client Side ===== | ||
- | ==== Additional information on cache storage requirements ==== | + | During development our software is continuously tested on the Microsoft Windows Operating System |
+ | using the following browsers: Internet Explorer 10+ and the latest versions of Google chrome, Safari and | ||
+ | Firefox. | ||
+ | === Desktop or workstation hardware === | ||
+ | The minimum requirements in terms of processor speed and memory (for end-users) are hard to | ||
+ | determine. We are pretty sure that every computer younger than 5 years will be able to interface with the | ||
+ | platform using a webbrowser without any problems. In case of doubt, we refer to the particular system | ||
+ | requirements that apply to the specific version of flavor of webbrowser that is being used. | ||
+ | === Web browser === | ||
+ | A hosted web application is consulted through a (usually) remote computer on the internal company | ||
+ | network (or Internet). To allow the delivery of content to as many clients as possible, we have very | ||
+ | relaxed requirements in terms of client hardware and software requirements. | ||
+ | Key is that we don't require any additional webbrowser-plugins such as Flash, Silverlight, WebGL, or | ||
+ | Java.Nor do we depend on or do we install any additional browser add-ons (BHO - Browser Helper | ||
+ | Objects) ourselves. | ||
+ | You will need a modern HTML5-capable webbrowser. This means that your browser must be configured | ||
+ | to allow JavaScript and accept cookies. Besides that, we've tested our software extensively on a host of | ||
+ | different web browser environments, and found it to operate under almost all, except Internet Explorer 10 | ||
+ | or lower. For the best user experience, we recommend using Mozilla Firefox, Microsoft Edge or any | ||
+ | Chromium based browser such as Google Chrome and Opera. On a Mac, you are welcome to use | ||
+ | Safari, Firefox or, again, any Chromium based browser.When a browser is not supported, an error message follows. | ||
+ | {{ ::screenshot_2022-05-04_at_11-37-27_the_pathomation_software_platform_for_digital_microcopy_version_2_system_requirements_-_requirements-2019.pdf.png?400 |}} | ||
+ | Because of content delivery through a web browser, interfacing with our software is not limited to | ||
+ | Windows-only machines (though the web applications themselves run on Microsoft infrastructure). Our | ||
+ | communication implementation is based on REST web services and the standard HTTP protocol, so you | ||
+ | can truly use our software from anywhere, any time | ||
+ | === Popup-blocking and Ad-blocking === | ||
+ | Our software uses dialogs as a means to interact with the end-user. These dialogs are implemented | ||
+ | based on "best practice" industry standards (including libraries such as React and jQuery). These | ||
+ | dialogs are not pop-ups, and during testing, no interference with known pop-up blockers was ever | ||
+ | observed. | ||
+ | That being said, it is possible that at some point in the future these pop-up blockers pick up features in | ||
+ | our site and label them as popups, subsequently rendering them ineffective. If this happens, you should | ||
+ | let us know and we will help resolve the issue in collaboration with you popup blocking software vendor. | ||
+ | The same reasoning applies to webbrowser plugins that block advertisements. These oftentimes already | ||
+ | target the kind of technology that we use ourselves to interact through dialogs (such as iframes). There is | ||
+ | a large variety of possible interpretations of such features (in a website), and while we haven't come | ||
+ | across this yet, it is possible that at some point a certain feature of our site gets interpreted as | ||
+ | commercial content. If this happens, you should let us know and we will help resolve the issue in | ||
+ | collaboration with you advertisement blocking software vendor. | ||
+ | If you experience problems on your installation, please let us know and we will find a solution to resolve | ||
+ | your particular issues | ||
+ | ==== Configuration hints and scaling considerations ==== | ||
+ | === Improving disk I/O throughput === | ||
+ | The system's response time can be greatly improved by installing it on a solid state disk. The cache | ||
+ | directory should also be kept on an SSD as well. Thus an optimal setup would be to install the operating | ||
+ | system and the application on an SSD while storing digital slides in regular hard disks (or network | ||
+ | shares). Do not underestimate the importance of the regular disks' performance, where slides are stored, | ||
+ | though. Whenever possible use 6Gbit SATA III disks. | ||
+ | === Network === | ||
+ | Multiple NICs may be installed onto the server machine to increase network bandwidth. The system can | ||
+ | utilize multiple IP addresses or host names out of the box, thus special load balancing configurations are | ||
+ | not required. | ||
+ | === Parallel processing === | ||
+ | The system is built to process requests in parallel and its performance depends on the available cores | ||
+ | per processor, the performance per core, as well the total number of processors in the system. In | ||
+ | environments with more than 50 simultaneous users, two processors should at least be available in the | ||
+ | system. | ||
+ | === Azure DataLake Storage Gen2 === | ||
+ | When possible, it is recommended to prefer [[https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction|Azure Data Lake Storage Gen2]] over plain Azure Blob Storage, as this type of service performs directory management operations, such as moving and renaming slides and directories, a lot faster. |