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?
Depending on implementation, virtual machines can get to like, 99% of the performance of bare metal. So the “overhead” of virtualisation outweighs the alternative of needing 1 machine per client
edit - containers, machines, k8s etc.
On some cloud providers you can use entirely isolated machines, if that is a requirement.
If not, you use virtual machines which provide x cpu y memory etc. That VM is isolated from other VMs and the host.
Above that you can get constructs (cloud specific) like App Services (azure). Its a virtual machine but abstracted further so you are deploying into the web server on a virtual machine without needing to configure the VM or web server.
Containers are sort of like virtual machines but they are designed to isolate and run single processes.
K8s (Kubernetes) is a container orchestration platform. Its a system you deploy, and into which you can add containers, networking, that sort of thing. Kubernetes then manages the lifecycle, creation and tear down of these containers.
This a simpler overview written on my phone, someone may come add more details / correct me