I am building a webhosting, and we've come to an issue where the server simply cannot handle that many requests, and thus we decided to make our systems scalable.
However, we've come to an issue, that we need to "share" all projects between all servers while maintaining reasonable speed as PHP projects tend to have thousands of file, and using network mount over FTP (hetzner storage box) was too slow for this amount of files. That was the only thing that we tried so far, so we are open to any ideas that you may have as we don't even know where to start.
We are aware that the typical solution would be to split projects between multiple servers so they won't be stacked on one, however we need to find a solution to somehow divide what we call "data layer" (php files) from "compute layer" (apache/nginx) for future use.
How can we resolve this, so servers that will be running apache/nginx will always have up-to-date version of website that our client uploads through their FTP?