AppSuite:OX System Requirements: Difference between revisions

From Open-Xchange
No edit summary
Line 2: Line 2:


The following table provides an overview about the supported components of OX App Suite and further products. This overview makes no claim to be complete.
The following table provides an overview about the supported components of OX App Suite and further products. This overview makes no claim to be complete.
Open-Xchange Server 6 overview tables about the supported components are available at [[OX_System_Requirements|OX 6 Requirements - Open-Xchange supported components overview]]


Information about Maintenance expiries of components, versions and browser support, can be found in the [[AppSuite:Versioning_and_Numbering#Maintenance_expires|Maintenance Expires Table]]
Information about Maintenance expiries of components, versions and browser support, can be found in the [[AppSuite:Versioning_and_Numbering#Maintenance_expires|Maintenance Expires Table]]


== Hardware Requirements ==
== Hardware Requirements ==
=== General Assumptions ===
=== General Assumptions ===
Open-Xchange App Suite Server (middleware services) is designed to run on physical servers or virtual machines of the same flavor. Cloud environments might be used in terms of Infrastructure as a Service (IaaS), meaning that all components need to be deployed in a classical manner on virtual machines.
Open-Xchange App Suite Server (middleware services) is designed to run on physical servers or virtual machines of the same flavor. Cloud environments might be used in terms of Infrastructure as a Service (IaaS), meaning that all components need to be deployed in a classical manner on virtual machines.


This means in particular, but not only:
This means in particular, but not only:


* Infrastructure is "quasi-static". We don't need to take into account things like VMs coming and going dynamically, dynamic IPs, volatile ("ephemeral") data
* Infrastructure is supposed to be "quasi-static". Automatic replacement of broken nodes is fine as long as this is always an exceptional case. Scaling out or reducing number of nodes must always be a conscious task and closely monitored.
* "Database as a service" is not allowed. This typically is a highly customized "MySQL like" storage engine, and not a true MySQL, and we can't control flavor, version, setup, etc. If need for configuration changes is identified, we won't be able to change anything.
* The only supported "Database as a service" solution is AWS RDS for MariaDB as defined by belows compatibility table.
 
So to summarize: we expect any virtualized platform to behave and work just like a well-known non-virtualized / physical platform.


Especially we expect the virtual hardware to be not over-provisioned. Each VM must have dedicated resources with respect to CPU cores, RAM, IOPS, storage, network bandwidth, network latency, etc.
Especially we expect the virtual hardware to be not over-provisioned. Each VM must have dedicated resources with respect to CPU cores, RAM, IOPS, storage, network bandwidth, network latency, etc.
Line 25: Line 23:


=== High Level Design / OS setup ===
=== High Level Design / OS setup ===
Operate services separately (USM, Document/Image Converters) as described in Cluster Setup.
 
Operate services separately (USM, Document/Image Converters) as described in [https://oxpedia.org/wiki/index.php?title=AppSuite:Running_a_cluster Cluster Setup].


Clocks between all nodes must be synchronized (e.g. via NTP).
Clocks between all nodes must be synchronized (e.g. via NTP).
Line 34: Line 33:


=== Node Sizing ===
=== Node Sizing ===
==== OX App Suite Middleware ====
* Max. 8 GB heap per JVM + 4 GB system memory for other daemons and the OS (buffers, caches)
* Max. 8 GB heap per JVM + 4 GB system memory for other daemons and the OS (buffers, caches)
* 4 CPU cores (virtual, physical or hyperthreads)
* 4 CPU cores (virtual, physical or hyperthreads) for plain HTTP connections. If TLS is terminated on application nodes this might need to be doubled.
* Disk space
* Disk space
** 5 GB for OS and software
** 8 GB for OS and software
** <code>2 * system memory</code> of free disk space (i.e. 12 GB RAM => 24 GB free disk space) for file spooling, log files, heap and core dumps
** Some services like Document Converter need SWAP partitions (~1 * RAM)
** 2 * system memory of free disk space (i.e. 12 GB RAM => 24 GB free disk space) for file spooling, log files, heap and core dumps


=== Untested/Unsupported Deployments ===
=== Untested/Unsupported Deployments ===
* Changes to Garbage Collector settings
* Changes to Garbage Collector settings
* Running in containerized environments (Docker, rkt)
* Running in containerized environments (Docker, rkt)
* Elasticity/High velocity of nodes going up and down: Services are sometimes stateful and demand static configuration
* Elasticity/High velocity of nodes going up and down: Services are sometimes stateful and demand static configuration
* Cloud platform services (PaaS) that promise to replacements for certain supported technologies but have not been verified by OX for these regards  
* Cloud platform services (PaaS) that promise to replacements for certain supported technologies but have not been verified by OX for these regards
* Multi-site active-active
* Multi-site active-active


Line 75: Line 79:
|-
|-
  |Debian
  |Debian
  |9 (Stretch)
  |9 (Stretch), 10 (Buster)
  |
  |
|-
|-
Line 94: Line 98:
=== Databases ===
=== Databases ===


OX App Suite uses MySQL with the InnoDB storage engine as its primary data store. The following vendors and products are supported.
OX App Suite uses MySQL/MariaDB with the InnoDB storage engine as its primary data store. The following vendors and products are supported.


{|border="2" rules="all" align="left">
{|border="2" rules="all" align="left">
Line 107: Line 111:
  |Oracle
  |Oracle
  |MySQL Community Edition, Standard Edition, Enterprise Edition
  |MySQL Community Edition, Standard Edition, Enterprise Edition
  |[5.6.x, 5.7.x]
  |v5.6.x, v5.7.x
|-
|-
  |MariaDB
  |MariaDB
  |MariaDB Server, Galera Cluster
  |MariaDB Server, Galera Cluster
  |[10.1.x, 10.2.x]
  |v10.1.x, v10.2.x, v10.4.x
|-
|Percona
|XtraDB Cluster
|[5.6.x, 5.7.x]
|-
|-
  |Amazon
  |Amazon
  |AWS RDS for MariaDB
  |AWS RDS for MariaDB
  |10.2.x (from App Suite v7.10.1)
  |10.2.x (from App Suite v7.10.1)
|-
|Amazon
|AWS RDS for MySQL
|5.7.x (from App Suite v7.10.1)
|-
|-
|}
|}
Line 129: Line 125:
=== Important Notes ===
=== Important Notes ===


* For some Linux distributions the included MySQL/MariaDB packages are too old to be used with App Suite. It is mandatory then to install a supported version from upstream package sources. Possible sources are the official vendor repositories of MySQL, MariaDB or Percona as well as for example Red Hat Software Collections.
* For some Linux distributions the included MySQL/MariaDB packages are too old to be used with App Suite. It is mandatory then to install a supported version from upstream package sources. Possible sources are the official vendor repositories of MySQL or MariaDB as well as for example Red Hat Software Collections.
* Required MySQL configuration differs between App Suite 7.8.4 and 7.10.0 and also between the different database systems in terms of SQL modes. See [[My.cnf]] for details.
* Required MySQL configuration differs between App Suite 7.8.4 and 7.10.0 and also between the different database systems in terms of SQL modes. See [[My.cnf]] for details.
* For upgrades from App Suite <= 7.8.2 to >= 7.10.0 a comprehensive database upgrade guide exists: [[AppSuite:7_10_Database_Migration]]
* For upgrades from App Suite <= 7.8.2 to >= 7.10.0 a comprehensive database upgrade guide exists: [[AppSuite:7_10_Database_Migration]]
Line 141: Line 137:
=== Persistent Data ===
=== Persistent Data ===


Persistent data like OX Drive files, PIM attachments etc. needs to be stored in a distributed file system that is available from all server nodes. For single-node setups a local file system mount point can be used, small to mid-scale setups can be powered by NFS. For large-scale setups object storages should be considered.
Persistent data like OX Drive files, PIM attachments etc. and temporary attachment data need to be stored in a distributed file system as registered filestore that is available from all server nodes. For single-node setups a local file system mount point can be used, small to mid-scale setups can be powered by NFS. For large-scale setups object storages should be considered.


==== Object Storages ====
==== Object Storages ====
Line 172: Line 168:
  |Sproxyd HTTP API
  |Sproxyd HTTP API
  |See also [[AppSuite:Scality_File_Store]]
  |See also [[AppSuite:Scality_File_Store]]
|-
|OpenStack
|Swift
|Object Storage API V1
|Support for Swift is experimental and could be removed again in the future. See also [[AppSuite:Swift_File_Store]]
|-
|-
|}
|}
Line 193: Line 184:
|-
|-
   |Microsoft Internet Explorer 11/Edge
   |Microsoft Internet Explorer 11/Edge
   |v7.8.4, v7.10.1, v7.10.2
   |v7.8.4, v7.10.2, v7.10.3
  |-
  |-
   |Mozilla Firefox (latest & current ESR-Version)
   |Mozilla Firefox (latest & current ESR-Version)
   |v7.8.4, v7.10.1, v7.10.2
   |v7.8.4, v7.10.2, v7.10.3
  |-
  |-
   |Google Chrome (latest & previous version)
   |Google Chrome (latest & previous version)
   |v7.8.4, v7.10.1, v7.10.2
   |v7.8.4, v7.10.2, v7.10.3
  |-
  |-
   |Apple Safari (10.01 & 10.03 & 12.0; Mac OS X only)
   |Apple Safari (10.01 & 10.03 & 12.0; Mac OS X only)
   |v7.8.4, v7.10.1, v7.10.2
   |v7.8.4, v7.10.2, v7.10.3
  |-
  |-
|}
|}
Line 221: Line 212:
   |iPhone on iOS 11 / iOS 12 / iOS 13 / iPad OS
   |iPhone on iOS 11 / iOS 12 / iOS 13 / iPad OS
   |Safari
   |Safari
   |v7.8.4, v7.10.1, v7.10.2
   |v7.8.4, v7.10.2, v7.10.3
   |3G connections (512/256kBit/s, 350ms latency)
   |3G connections (512/256kBit/s, 350ms latency)
  |-
  |-
   |Smartphone on Android 4.1 or later
   |Smartphone on Android 4.1 or later
   |Chrome (latest & previous version)
   |Chrome (latest & previous version)
   |v7.8.4, v7.10.1, v7.10.2
   |v7.8.4, v7.10.2, v7.10.3
   |3G connections (512/256kBit/s, 350ms latency)
   |3G connections (512/256kBit/s, 350ms latency)
|}
|}
Line 245: Line 236:
   |Apple iPad (all devices) on iOS 11 / iOS 12 / iPad OS
   |Apple iPad (all devices) on iOS 11 / iOS 12 / iPad OS
   |Safari
   |Safari
   |v7.8.4, v7.10.1, v7.10.2
   |v7.8.4, v7.10.2, v7.10.3
   |3G connections (512/256kBit/s, 350ms latency)
   |3G connections (512/256kBit/s, 350ms latency)
  |-
  |-
   |Tablets on Android 4.1 or later
   |Tablets on Android 4.1 or later
   |Chrome (latest & previous version)
   |Chrome (latest & previous version)
   |v7.8.4, v7.10.1, v7.10.2
   |v7.8.4, v7.10.2, v7.10.3
   |3G connections (512/256kBit/s, 350ms latency)
   |3G connections (512/256kBit/s, 350ms latency)
|}
|}
Line 346: Line 337:
  |-
  |-
   |OX App Suite
   |OX App Suite
   |OX App Suite v7.8.4, OX App Suite v7.10.1, OX App Suite v7.10.2
   |OX App Suite v7.8.4, OX App Suite v7.10.2, OX App Suite v7.10.3
  |-
  |-
   |OX Drive for Windows
   |OX Drive for Windows
Line 372: Line 363:
  |-
  |-
   |[http://oxpedia.org/wiki/index.php?title=AppSuite:Main_Page_Quickinstall#Quick_Installation_Guide OX App Suite]
   |[http://oxpedia.org/wiki/index.php?title=AppSuite:Main_Page_Quickinstall#Quick_Installation_Guide OX App Suite]
   |OX App Suite v7.8.4, OX App Suite v7.10.1, OX App Suite v7.10.2
   |OX App Suite v7.8.4, OX App Suite v7.10.2, OX App Suite v7.10.3
  |-
  |-
   |[http://oxpedia.org/wiki/index.php?title=AppSuite:Mobile_API_Facade Mobile API Facade]
   |[http://oxpedia.org/wiki/index.php?title=AppSuite:Mobile_API_Facade Mobile API Facade]
   |Mobile API Facade v1.0.23 or later (until OX App Suite v7.8.4)<br>Mobile API Facade v1.4.12 or later (from OX App Suite v7.10.1)<br>Mobile API Facade v1.6.7 or later (from OX App Suite v7.10.2)
   |Mobile API Facade v1.0.x or later (until OX App Suite v7.8.4)<br>Mobile API Facade v1.4.x or later (from OX App Suite v7.10.1)<br>Mobile API Facade v1.6.x or later (from OX App Suite v7.10.2)<br>Mobile API Facade v1.8.x or later (from OX App Suite v7.10.3)
  |-
  |-
   |Push Notification Package
   |Push Notification Package
Line 398: Line 389:
  |-
  |-
   |OX App Suite
   |OX App Suite
   |OX App Suite v7.8.4, OX App Suite v7.10.1, OX App Suite v7.10.2
   |OX App Suite v7.8.4, OX App Suite v7.10.2, OX App Suite v7.10.3
  |-
  |-
   |OX Sync App for Android
   |OX Sync App for Android
Line 415: Line 406:
  |-
  |-
   |OX App Suite
   |OX App Suite
   |OX Guard since v2.8.0: OX App Suite v7.8.4<br>OX Guard since v2.10.1: OX App Suite v7.10.1<br>OX Guard since v2.10.2: OX App Suite v7.10.2
   |OX Guard since v2.8.0: OX App Suite v7.8.4<br>OX Guard since v2.10.1: OX App Suite v7.10.1<br>OX Guard since v2.10.2: OX App Suite v7.10.2<br>OX Guard since v2.10.3: OX App Suite v7.10.3
  |-
  |-
   |Mobile Device and Tablet Support
   |Mobile Device and Tablet Support

Revision as of 08:02, 4 December 2019

OX App Suite Requirements - Open-Xchange supported components overview

The following table provides an overview about the supported components of OX App Suite and further products. This overview makes no claim to be complete.

Information about Maintenance expiries of components, versions and browser support, can be found in the Maintenance Expires Table

Hardware Requirements

General Assumptions

Open-Xchange App Suite Server (middleware services) is designed to run on physical servers or virtual machines of the same flavor. Cloud environments might be used in terms of Infrastructure as a Service (IaaS), meaning that all components need to be deployed in a classical manner on virtual machines.

This means in particular, but not only:

  • Infrastructure is supposed to be "quasi-static". Automatic replacement of broken nodes is fine as long as this is always an exceptional case. Scaling out or reducing number of nodes must always be a conscious task and closely monitored.
  • The only supported "Database as a service" solution is AWS RDS for MariaDB as defined by belows compatibility table.

Especially we expect the virtual hardware to be not over-provisioned. Each VM must have dedicated resources with respect to CPU cores, RAM, IOPS, storage, network bandwidth, network latency, etc.

Network is expected to be flat, inside one datacenter, no multi-datacenter, no segments. No packet loss, low latency.

Disclaimer: All recommendations below are without guarantee and can differ for specific deployments. For mid- and large-scale setups a detailed deployment planning and sizing tests are mandatory and should be agreed on with OX Professional Services.

High Level Design / OS setup

Operate services separately (USM, Document/Image Converters) as described in Cluster Setup.

Clocks between all nodes must be synchronized (e.g. via NTP).

Open file/max process limits need to be adjusted properly. Based on the used Linux distribution and init system configuration will differ, see Resource Limits for further explanation.

Platform Architecture: 64 bit versions (x84_64) of the supported Linux distributions

Node Sizing

OX App Suite Middleware

  • Max. 8 GB heap per JVM + 4 GB system memory for other daemons and the OS (buffers, caches)
  • 4 CPU cores (virtual, physical or hyperthreads) for plain HTTP connections. If TLS is terminated on application nodes this might need to be doubled.
  • Disk space
    • 8 GB for OS and software
    • Some services like Document Converter need SWAP partitions (~1 * RAM)
    • 2 * system memory of free disk space (i.e. 12 GB RAM => 24 GB free disk space) for file spooling, log files, heap and core dumps

Untested/Unsupported Deployments

  • Changes to Garbage Collector settings
  • Running in containerized environments (Docker, rkt)
  • Elasticity/High velocity of nodes going up and down: Services are sometimes stateful and demand static configuration
  • Cloud platform services (PaaS) that promise to replacements for certain supported technologies but have not been verified by OX for these regards
  • Multi-site active-active

Software Requirements

Linux Distributions

OX App Suite is available as Linux packages for the following distributions:

Distribution Versions Remarks
     
Suse Linux Enterprise Server 12
Red Hat Enterprise Linux 6,7
CentOS 6,7 Install from RHEL package repositories
Debian 9 (Stretch), 10 (Buster)
Univention Corporate Server 4.3, 4.4
Amazon Linux 2 Install from RHEL package repositories (from App Suite v7.10.1)

Java

OX App Suite Middleware requires OpenJDK headless JRE 8 or 9.

Databases

OX App Suite uses MySQL/MariaDB with the InnoDB storage engine as its primary data store. The following vendors and products are supported.

Vendor Product Versions
     
Oracle MySQL Community Edition, Standard Edition, Enterprise Edition v5.6.x, v5.7.x
MariaDB MariaDB Server, Galera Cluster v10.1.x, v10.2.x, v10.4.x
Amazon AWS RDS for MariaDB 10.2.x (from App Suite v7.10.1)

Important Notes

  • For some Linux distributions the included MySQL/MariaDB packages are too old to be used with App Suite. It is mandatory then to install a supported version from upstream package sources. Possible sources are the official vendor repositories of MySQL or MariaDB as well as for example Red Hat Software Collections.
  • Required MySQL configuration differs between App Suite 7.8.4 and 7.10.0 and also between the different database systems in terms of SQL modes. See My.cnf for details.
  • For upgrades from App Suite <= 7.8.2 to >= 7.10.0 a comprehensive database upgrade guide exists: AppSuite:7_10_Database_Migration

File Storage

Temporary Data

OX App Suite stores temporary files in the local file system, e.g. for spooling of uploaded data. Any file system supported by the installed JRE is suitable.

Persistent Data

Persistent data like OX Drive files, PIM attachments etc. and temporary attachment data need to be stored in a distributed file system as registered filestore that is available from all server nodes. For single-node setups a local file system mount point can be used, small to mid-scale setups can be powered by NFS. For large-scale setups object storages should be considered.

Object Storages

OX App Suite ships with different optional adapters to support object storages.

Vendor Product API Remarks
       
Amazon AWS S3 S3 HTTP API See also AppSuite:S3_File_Store
CEPH RadosGW S3 HTTP API See also AppSuite:S3_File_Store
Scality Scality RING Sproxyd HTTP API See also AppSuite:Scality_File_Store

Desktop Browser (Minimum display resolution: 1024 x 768)

Browser OX App Suite User Front-End
   
Microsoft Internet Explorer 10/11 v7.6.3
Microsoft Internet Explorer 11/Edge v7.8.4, v7.10.2, v7.10.3
Mozilla Firefox (latest & current ESR-Version) v7.8.4, v7.10.2, v7.10.3
Google Chrome (latest & previous version) v7.8.4, v7.10.2, v7.10.3
Apple Safari (10.01 & 10.03 & 12.0; Mac OS X only) v7.8.4, v7.10.2, v7.10.3

Mobile Device Support

Mobile Device Supported Browser OX App Suite User Front-End Minimum Speed Requirements
       
iPhone on iOS 11 / iOS 12 / iOS 13 / iPad OS Safari v7.8.4, v7.10.2, v7.10.3 3G connections (512/256kBit/s, 350ms latency)
Smartphone on Android 4.1 or later Chrome (latest & previous version) v7.8.4, v7.10.2, v7.10.3 3G connections (512/256kBit/s, 350ms latency)

Tablet Support

Tablet Supported Browser OX App Suite User Front-End Minimum Speed Requirements
       
Apple iPad (all devices) on iOS 11 / iOS 12 / iPad OS Safari v7.8.4, v7.10.2, v7.10.3 3G connections (512/256kBit/s, 350ms latency)
Tablets on Android 4.1 or later Chrome (latest & previous version) v7.8.4, v7.10.2, v7.10.3 3G connections (512/256kBit/s, 350ms latency)

Calendar/Contact synchronization Apple Mac OS X

Requirement Calendar synchronization with CalDAV Contacts synchronization with CardDAV
     
macOS 10.14 (Mojave) Check.gif Check.gif
macOS 10.15 (Catalina) Check.gif Check.gif

Calendar/Contact synchronization Apple iOS

Requirement Calendar synchronization with CalDAV Contacts synchronization with CardDAV
     
Apple iOS 11 / iOS 12 / iOS 13 / iPad OS Check.gif Check.gif

Mobility Solution - Supported- Platforms, Features and Devices

Feature/Technology/Device OXtender for Business Mobility (availalble for App Suite, OXHE, OXSE)
   
Exchange Active Sync 2.5 Check.gif
Exchange Active Sync 12.1 Check.gif
   
Access and creation of emails Check.gif
Personal PIM folder Check.gif
Public and Shared PIM folder Cross.gif
Global address book Check.gif
Push E-Mail Check.gif
   
Apple iOS 11 / iOS 12 / iOS 13 / iPad OS Check.gif
Android 4.1 or later with Gmail or other compatible EAS-providing app Check.gif

OX Drive for Clients

Requirement System / Platform
   
OX App Suite OX App Suite v7.8.4, OX App Suite v7.10.2, OX App Suite v7.10.3
OX Drive for Windows Latest versions of Windows 8, latest versions of Windows 10 (no support of Mac OS X clients with emulators and Windows RT)
OX Drive for Mac OS macOS 10.14 (Mojave), macOS 10.15 (Catalina)
OX Drive for iOS Apple iOS 11, Apple iOS 12, Apple iOS 13, Apple iPad OS
OX Drive for Android Smartphone on Android 5.x or later with Chrome (latest & previous version), Tablets on Android 5.x or later with Chrome (latest & previous version)

OX Mail App

Requirement System / Platform / User Interface
   
OX App Suite OX App Suite v7.8.4, OX App Suite v7.10.2, OX App Suite v7.10.3
Mobile API Facade Mobile API Facade v1.0.x or later (until OX App Suite v7.8.4)
Mobile API Facade v1.4.x or later (from OX App Suite v7.10.1)
Mobile API Facade v1.6.x or later (from OX App Suite v7.10.2)
Mobile API Facade v1.8.x or later (from OX App Suite v7.10.3)
Push Notification Package Package "open-xchange-mobile-api-facade-push-certificates" (available to App Suite licensees only)
OX Mail App for iOS iOS 11, iOS 12, iOS 13, iPad OS
Server reachable via TLS 1.2
OX Mail App for Android Android 5.0 (Lollipop) or higher
Server reachable via TLS 1.2

OX Sync App

Requirement System / Platform / User Interface
   
OX App Suite OX App Suite v7.8.4, OX App Suite v7.10.2, OX App Suite v7.10.3
OX Sync App for Android Smartphone on Android 4.0 or later

OX Guard

Requirement System / Platform / User Interface
   
OX App Suite OX Guard since v2.8.0: OX App Suite v7.8.4
OX Guard since v2.10.1: OX App Suite v7.10.1
OX Guard since v2.10.2: OX App Suite v7.10.2
OX Guard since v2.10.3: OX App Suite v7.10.3
Mobile Device and Tablet Support Apple iPhone on iOS 11 / iOS 12 / iOS 13 / iPad OS: Safari (latest version & previous version)
Smartphone on Android 4.1 or later: Chrome (latest & previous version)
Apple iPad (all devices) on iOS 11 / iOS 12 / iOS 13 / iPad OS: Safari Safari (latest version & previous version)
Tablets on Android 4.1 or later: Chrome (latest & previous version)