News for hackers. Stuff that matters.
Re:Building a Linux Container Runtime from Scratch by cedws on Thursday March 27, 2025 @03:36AM (#43491225)
Isn’t the gold standard of containerisation gVisor? Can’t get much more restrictive than proxying and filtering syscalls. As far as I remember it’s the default runtime on GKE.
Re:Building a Linux Container Runtime from Scratch by raesene9 on Thursday March 27, 2025 @05:07AM (#43491625)
If you want better isolation than is provided by Linux namespaces et al, then yep something like gVisor or Firecracker (https://firecracker-microvm.github.io/) provide a likely better level of isolation.
Re:Building a Linux Container Runtime from Scratch by denhamparry on Thursday March 27, 2025 @08:30AM (#43492892)
Edera developer here. gVisor is restrictive, but its at a cost of performance. Personally, I'd say Edera Protect is one level deeper. We create Edera Protect Zones to provide isolation, so we create a Zone that is isolated from the OS and hardware of the machine running the container. So we don't proxy or filter syscalls, as the isolation is a layer deeper. We are also focused on ensuring that Edera Protect is as performant (if not better) as running a container today with containerd.

Finally, if you wanted to, you could run gVisor within Edera Protect, but we feel that Edera Protect would already provide the security benefits that gVisor offer.

Re:Building a Linux Container Runtime from Scratch by raesene9 on Thursday March 27, 2025 @02:49PM (#43496772)
How would you say it compares to Firecracker?
Re:Building a Linux Container Runtime from Scratch by cedws on Friday March 28, 2025 @01:46AM (#43501945)
Thanks, but what is a “Protect Zone” at a technical level? Why does it provider stronger isolation than syscall filtering?
Re:Building a Linux Container Runtime from Scratch by sys_call on Thursday March 27, 2025 @10:40AM (#43494149)
gVisor runs a userspace kernel that proxies syscalls to a shared host kernel. Running an "application kernel" in userspace impacts performance because it goes through two schedulers. Virtual machine isolation is more restrictive because it doesn't share any kernel state with other containers. We have a whitepaper that compares the performance of gVisor and Stylorite/Edera if you want to see the differences http://arxiv.org/abs/2501.04580