Scaling Across Multiple Machines
This document will cover the reference architecture for the Nextcloud Scale Out model for a single datacenter implementation. The document will focus on the three main elements of an Nextcloud deployment:
- Application layer
- Database Layer
- Storage Layer
At each layer the goal is to provide the ability to scale, and providing a high availability while maintaining the needed level of performance.
For the application layer of this reference architecture we used Oracle Enterprise Linux as the front end servers to host the Nextcloud code. In this instance we made
httpd a permissive domain, allowing it to operate within the SELinux environment. In this example we also used the standard directory structure placing the Nextcloud code in the Apache root directory. The following components were installed on each application server:
- PHP 5.6.x
Also required is the PHP smbclient module or smbclient (see SMB/CIFS).
It is also worth menti