Scaling Vertically vs Horizontally


I have Jitsi hosted on AWS EC2, if I don’t want to spin up more servers with videobridge2, can I just add more cores/RAM to my existing one and will that have the same effect?


Simple answer, nope. Bandwidth is your most valuable resource. More cores/RAM using the same bandwidth on heavy load won’t help like spreading the load on multiple servers with access to more bandwidth.

Good to know, I was reading through DevOps Guide (scalable setup) · Jitsi Meet Handbook, don’t see any reference regarding bandwidth being the bottleneck, mostly talks about CPU/RAM. So now the question becomes, assuming I can linearly add bandwidth along with more CPU/RAM to a single instance, we agree that there is no benefit in splitting said single instance in two?

Why would splitting an instance have any benefit? It seems like the appropriate method is to optimize your cores + RAM count for the amount of bandwidth given to a server. Once there, you add another server (with its own bandwidth) to scale.

Was thinking in terms of economic benefit. In general heavy CPU I/O bound transaction systems its cheaper to split in two because up to a certain point storage is less expensive than cpu power. But this is not I/O bound , more like screaming, so not sure the same case applies.
If I can double one instance’s resources and save a couple thousand dollars of AWS billing vs spinning another node while having the same performance, then why not.