|| Two Server (Webserver and Database server)
The advantages of multiple servers surround not putting all your eggs on one basket, more flexibility when it comes to upgrades, easy tuning and optimisation as the server is specialised, possibility to migrate to load-balanced web servers and so on...
However, all that comes with additional complexity. Additional complexity is rarely a good thing unless it solves a problem for you.
My immediate thought was one server. If during the operation you'll find the performance unsatisfactory, separating the database server is a trivial exercise.
To avoid any misunderstanding: I was talking of Moodle only. For BBB it is recommended to take a separate server.
It's worth nothing that any hosting of Audio/Video conferencing software is tricky, it is not BBB thing.
two server configuration suited in era of 8-core CPU servers (Intel domination era), now you get 128 threads on single CPU, server hardware is of higher quality anyway to just die without a good reason, and on tops servers have double redundancy at minimal.
Where you mentioned database to be faster on single server, that again depends on CPU configuration, single CPU = yes, multiple CPU's = require NUMA configuration.
depending on your O/S, you can as well run a hypervisor to setup BBB using same hardware (I mentioned O/S as I have idea on Windows Server but not on Linux).
Emma, this is confusing part, as Hyper-V is Microsoft's hypervisor, so you are running Windows server beneath?
Not sure why the images with the details didn't upload, but these are the server specs:
AMD EPYC 7402P 24 Cores
Bandwidth: 10Tb (1Gb Port)
Ubuntu 20.04 Linux
Xeon E3-1230v2 4 Cores
Bandwidth: 10Tb (1Gb Port)
Ubuntu 20.04 Linux
Clearly intel with 2 CPU's (3 generations older) wont be equal to one with AMD Epyc which is latest of the CPU line up.
Intel's are monolithic die CPU's, while AMD is chiplet based design, meaning there are 4 chiplets of 6-core CCX's spread across die and 7402 model shows its second generation so I/O die in right on the chip, making it way superior to Epyc's first generation, but again being a chiplets spread across CPU, the software will see it as a multi CPU system, so you'll be optimizing database to make use of NUMA nodes, you can however test with AMD's allocating Processor affinity to Database, Application server and web server, and can test NUMA configuration for database later on as I heard second generation AMD's dont need NUMA due to I/O die right on CPU.
btw where are you getting these quotes from? just curios who is offering second gen AMD Epyc.
I'm getting them from InterServer dedicated server offer:
Avoid them if you can, since they moved their support to India, things got messed up, same is case with BlueHost/HostMonster, nothing against the nation supporting customers, but the support staff since the transfer is most of the time clueless about customer's accounts. Things in start may will feel pretty good, but later it will start showing its true colors.
You reminded me an years long torture trip I am going through because a big company has outsourced their IT to the "developing world". Lot of pain, I can't imagine the collective suffering of the whole company. (SCNR)
A similar story about cheap hosting, this time luckily for a private project. Two organizers have saved USD 80.- over a year and went through many days of complications, also affecting the users. An exact report of the time wasted doesn't exist. Even if they kept records there is no way to estimate the tension and stress they went through.
Also I'm not sure how could RAID be setup on a VPS since you cannot specify the number of drives.
Sorry for the intrusion. It is not always about performance. Virtualization will give you lot of flexibility. A "moodle installation for a small school that spects to have around 200 concurrent users" can turn out to be anything. Start with just one good VM. Those 200 concurrent users won't turn up the first day. The teachers must get to know Moodle, transfer their teaching to Moodle. All that take time. Monitor the server and collect the log statistics to judge where it is going. When the demand takes on you can first upgrade the virtual hardware, then shift the database to a separate server. They are trivial. Even migrating to other servers https://docs.moodle.org/en/Moodle_migration is not a big deal. More expertise is needed to make a good Moodle cluster, but a small school is not going to need one.
Thanks for your advise, but then with what spects you recommend to start on a VPS?
Not that you have to listen to my opinion. Just that more than once I've "started" with modest virtual hardware compared to the lavish plans the managers had and found an efficient solution after a few adjustments of resources. I don't know how the VPS packages of the big hosting work, with my provider I can up- or downgrade the number of vCPU and RAM gradually. Only the storage is a bit stiff. Need to know a trick or two to expand the file system. I don't know your background, I have had some time to get the hang of it. See my profile. ;)
Anyway, you seem to have understood only a half of what I was saying - going with a good VPS. The other half is - the exact specs don't matter, within a certain range of course, because VPS are flexible. Still, if you want to hear numbers, 4 vCPU / 16 GB RAM / fast storage is middle ground to start.
The unknown parameter is the performance of the storage. Good hosters have SSD technology behind their virtual disks, they are factors better than hardware SATA.
P.S. I assume you know this. But just to avoid a misunderstanding. Setting up a server and installing Moodle is a tiny fraction of the work. They are not cannons, you shoot them and they reach their destiny. You have to maintain them for years to come!
Also to note, not all hosting providers truly dedicate CPU and RAM resources to their VPS's, its kind of shared, just to give example, if you see Contabo's VPSs, they have clearly mentioned RAM (Dedicated) but with CPU cores nothing is written, so its fair assumption these will be shared.
Where you mentioned setting up RAID on VPS, every VPS comes with RAID Drives setup already on hardware level, or likely they will have connected a SAN to VPS servers, in both cases its always RAID 1+0 protected drives.
But for your work, a pair of VPS's will be sufficient