Skip Navigation
General Programming Discussion @lemmy.ml LalSalaamComrade @lemmy.ml

Trying to understand how project isolation works in a SAAS platforms.

By project, I am talking about a "virtual" instance. I get to use a computer on their server, but how? Are those virtual machines, or containers?

If the former, then why - given how virtual machines have a large overhead? If the latter, then containers have a low degree of isolation compared to VMs, right? I've also heard about K3 and K8 before, but I don't know exactly what they are, and what role they place here.

And speaking about either of them - how are they introduced through a backend - by using bindings? Or is there a port-equivalent to pass instructions, similar to how we connect to a database?

6

You're viewing a single thread.

6 comments
  • It's VMs. The overhead is not nearly as bad as you think it is, especially with the highly tuned cloud hypervisors. I've seen dual EPYC monsters running 300+ VMs. Server CPUs are basically designed for that kind of workload these days.

    Virtualization tech is really, really good. On my desktop, I have a VM that runs Windows+SteamOS with a passed through GPU, game on it and everything. You wouldn't know it's a VM. The overhead is so low that I just let it run in the background most of the time. When it's idling it basically just occupies RAM. You can't really feel the VM on the host either, everything is as responsive as usual. As long as there's enough resources for everyone, you can barely tell it's a VM or not.

    Modern CPUs have extensions to handle it at the processor level, and most operating systems have good paravirtualized devices, so there's not a whole lot of overhead left other than the guest kernel and processes.

You've viewed 6 comments.