0

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?

1
  • Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer.
    – Community Bot
    Oct 2, 2022 at 21:40

1 Answer 1

0

It sounds like a kubernetes cluster may be the easiest solution to explore. This would mean that you could easily scale up, load balance and help enable HA compute.

2
  • I haven't looked very deeply into Kubernetes, but from what I've read Kubernetes should support data sharing between containers only on the same host. Is this true, or can you please point me in the right direction? Sep 25, 2022 at 13:44
  • Partially true (heavily depends on your configuration) , though best practice is to separate compute and data as much as logically possible. So client facing compute (php), single or replicated DB & SAN (iSCSI/nfs/etc...)
    – xentoo
    Sep 25, 2022 at 14:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.