5 ms·
App Engine absolutely shares a Linux between users. They have a heavily audited sandbox with multiple layers of defence. Of course customers don't get to call a
by marcan_42 5y ago
App Engine absolutely shares a Linux between users. They have a heavily audited sandbox with multiple layers of defence. Of course customers don't get to call arbitrary system calls, but it's also not a VM.
- naikrovek 5y agoI don't know if they use Firejail or not but that sounds a lot like Firejail.
- johncolanduoni 5y agoGCP indicates that App Engine standard environment at least uses gVisor[1] (i.e. KVM with emulated Linux syscall interface). The docs also indicate you can run custom binaries on most of the standard runtime languages[2] (not to mention being able to ship Go binaries), so I don’t see how they could get around allowing system calls. App Engine must have used something other than gVisor originally since Go didn’t even exist when it launched, but I’m having trouble finding any concrete indication as to whether they shared kernels between multiple customers. [1]: https://cloud.google.com/blog/products/containers-kubernetes/how-gvisor-protects-google-cloud-services-from-cve-2020-14386 https://cloud.google.com/blog/products/containers-kubernetes... [2]: https://cloud.google.com/appengine/docs/the-appengine-environments https://cloud.google.com/appengine/docs/the-appengine-enviro...
- monocasa 5y agogVisor's kvm backend is still experimental AFAIK, in favor of the ptrace backend.
- amscanne 5y agoI think the experimental warning was removed on the KVM platform a while ago?
- marcan_42 5y agoThey definitely shared kernels between customers (and with other internal stuff). I don't know if they're using the KVM backend now, but if they are, that's definitely more recent. There was no virtualization involved when it all started. Source: I'm a xoogler.