HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Run containers on bare metal already!

Bryan Cantrill3 HN recommenders · recommended in 3 months, 2015-2025
YouTube
40K views · 10 years ago · talk · dated

Bryan Cantrill's Velocity NYC 2015 talk argues for running containers directly on bare metal rather than layering them on virtual machines. He covers the history of containers and how SmartOS runs Linux workloads via syscall emulation.

HN commenters recommend it as an engaging and informative explanation of why containers on VMs waste resources and hurt performance.

Operating systems & kernelsCloud, DevOps & reliability#containers#smartos#baremetal#joyent#zones

8 comments from Hacker News

@kbenson2025 · in “Immutable Software Deploys Using ZFS Jails on FreeBSD”

It's all just history now for all I know, but there was work in the past to make Linux containers work on a Solaris fork (SmartOS, specifically) by emulating the Linux syscall table and presenting that to the containers. Joyent did work on this (alas, and there's an excellent and entertaining talk from Bryan Cantrill[1] that goes over it. I imagine FreeBSD could do something similar if they aren't already. IIRC FreeBSD has a Linux emulation layer (but I don't know how much attention it still gets), and it's had containerization primitives longer than linux, so some amount of filling in the gaps in containerization features and syscall tables (if needed) could possibly yield an OCI compatibility later (for all I know all this already exists). The problem, and the reason if this doesn't exist why people probably weren't as interested in doing the work, is it would always be "mostly" compatible and working and there would be no guarantee that the underlying software wouldn't exhibit bugs or weird behavior from small behavior differences in the platform when emulating something else. Why open yourself up to the headache when you can just run Linux with containers or build what you want on FreeBSD with jails and their own native containerization primitives. 1: ▶ this video

RecommendsView on HN
@drbawb2023 · in “We Replaced Firecracker with QEMU”

The second I read "shared block cache" my brain went to containers. If you want data colocated on the same filesystem, then put it on the same filesystem. VMs suck, nobody spins up a whole fabricated IBM-compatible PC and gaslights their executable because they want to. [1] They do it because their OS (a) doesn't have containers, (b) doesn't provide strong enough isolation between containers, or (c) the host kernel can't run their workload. (Different ISA, different syscalls, different executable format, etc.) Anyone who has ever tried to run heavyweight VMs atop a snapshotting volume already knows the idea of "shared blocks" is a fantasy; as soon as you do one large update inside the guest the delta between your volume clones and the base snapshot grows immensely. That's why Docker et al. has a concept of layers and you describe your desired state as a series of idempotent instructions applied to those layers. That's possible because Docker operates semantically on a filesystem; much harder to do at the level of a block device. Is the a block containing b"hello, world" part of a program's text section, or part of a user's document? You don't know, because the guest is asking you for an LBA, not a path, not modes, not an ACL, etc. - If you don't know that, the host kernel has no idea how the page should be mapped into memory. Furthermore storing the information to dedup common blocks is non-trivial: go look at the manpage for ZFS' deduplication and it is littered w/ warnings

CitesView on HN
@kbenson2017 · in “My VM is lighter and safer than your container”

SmartOS's LX branded zones seem kind of cool to me, and may hit an interest point for you. Basically, SmartOS is an OpenSolaris variant where they use Solaris Zones for docker images, but they've implemented a Linux syscall table API so you can create Linux "compatible" containers from a Solaris kernel (and also full access to ZFS, etc). You can see a talk here[1] where Bryan Cantrill goes over the reasons you might want to use containers, SmartOS and how LX branded zones. Warning though, he's an extremely engaging speaker, so not only are you likely to watch all of that 40 minute talk, but you might feel like binging on some other talks of his, so here you go.[2] 1: ▶ this video 2: link

Strongly recommendsView on HN
@Annatar2016 · in “Why we use the Linux kernel's TCP stack”

> What most people call "containers" was always about virtualization (ie isolation), and the isolation primitive in the Linux kernel is namespaces. There is no isolation with cgroups in Linux, that is the crux of the matter: ▶ this video since containers in Solaris existed before cgroups and before the entire Linux hype, and you specifically adress my "misunderstanding" (of hype), you compel me to correct on terminology: containers are resource constraints, while technology like LXC and OpenVZ provide the lightweight virtualization and isolation , a very important distinction (full virtualization is achieved via XEN and KVM on GNU/Linux). Conceptually, as a resource constraint, containers are in that sense the same in Solaris as they are in Linux, with vastly different mechanism implementations, but neither provide isolation . Again, and I corrected you on this before (this happens to be my problem domain), what you think of as containers are lightweight virtual machines, as zones in Solaris and LXC / OpenVZ in Linux, and equating cgroups and namespaces with a lightweight virtual machine technology is conflating two different things. If you should have the inclination to point out my other "misunderstandings" of Linux, an operating system I very heavily use, develop on, and engineer for, I would be interested to learn of them. > So does Linux, I'm missing your point here. If they exist, I have not heard of them, read about them, or met them yet; at any rate, since Linux has so man

CitesView on HN
@bradgessler2016 · in “Challenges of Deployment to ECS”

The biggest missed opportunity of ECS that AWS missed was completely hiding the complexity and concerns of managing EC2 instances. If you use ECS you have to deal with the complexity of both and manage those resources. The dream being sold by the container industry is that you don't really care about the machines you're containers are running on. ElasticBeanstalk gets this right because they hide that concern. ECS is akin to selling git on top of SVN. It doesn't really make sense. Bryan Cantrill gave a talk about the craziness of running containers on VMs at ▶ this video .

CitesView on HN
@cpeterso2015 · in “What is a 'unikernel'?”

Unikernels : hypervisor :: processes : traditional operating system Joyent CTO Bryan Cantrill gave a great talk at Velocity NYC 2015 about the history of containers (going back to March 18, 1982 when Bill Joy added the chroot system call) and the problems of running containers on operating systems in VMs on hypervisors: "Stop killing kittens and melthing the ice caps: Run containers on bare metal already!" ▶ this video

RecommendsView on HN
@kbenson2015 · in “What is a 'unikernel'?”

From a recent post, here's a talk[1] about containers where they use SmartOS (Solaris/IllumOS derivative) to containerize Linux by just implementing the syscall table. The future of hosting legacy apps might be providing legacy interfaces on modern OS's (IMO). 1: ▶ this video

CitesView on HN
@dpeterson2015 · in “EC2 Dedicated Hosts”

I have run containers on bare metal and in Amazon. Performance can be noticeably slower in Amazon on machines with similar specifications. A detailed explanation why is in this informative video by Bryan Cantrill ▶ this video . It is a talk about how layering containers on top of virtual machines is a recipe for poor performance and wasted resource utilization. He equates it to developers “being given fire, then proceeding to put the fire out.”

RecommendsView on HN
illumos day 2014: The Dream is Alive! Running Linux containers on an illumos kernel1:44:56

illumos day 2014: The Dream is Alive! Running Linux containers on an illumos kernel

illumos
15K views • 12 years ago
Bryan Cantrill on Jails and Solaris Zones1:45:47

Bryan Cantrill on Jails and Solaris Zones

PapersWeLove
34K views • 10 years ago
Containers From Scratch • Liz Rice • GOTO 201842:54

Containers From Scratch • Liz Rice • GOTO 2018

GOTO Conferences
321K views • 8 years ago
Porting KVM to SmartOS - Brian Cantrill, Joyent, KVM Forum 201140:34

Porting KVM to SmartOS - Brian Cantrill, Joyent, KVM Forum 2011

Red Hat
10K views • 15 years ago
Container Hacks and Fun Images38:50

Container Hacks and Fun Images

Jessie Frazelle
40K views • 8 years ago
The Cantrill Strikes Back | BSD Now 1172:13:32

The Cantrill Strikes Back | BSD Now 117

Jupiter Broadcasting
9K views • 10 years ago
The future of Linux Containers5:22

The future of Linux Containers

dotcloudtv
138K views • 13 years ago
Stanford Seminar - The Soul of a New Machine: Rethinking the Computer1:26:02

Stanford Seminar - The Soul of a New Machine: Rethinking the Computer

Stanford Online
76K views • 6 years ago
Cgroups, namespaces, and beyond: what are containers made from?54:25

Cgroups, namespaces, and beyond: what are containers made from?

Docker
268K views • 10 years ago
MINIX 3: a Modular, Self-Healing POSIX-compatible Operating System56:19

MINIX 3: a Modular, Self-Healing POSIX-compatible Operating System

FOSDEM
90K views • 16 years ago
Bryan Cantrill from Joyent on Manta: internet-facing object storage facility that features compute1:31:05

Bryan Cantrill from Joyent on Manta: internet-facing object storage facility that features compute

AI Council
25K views • 12 years ago
Containers and Steam: Putting games under pressure | FOSDEM 202020:11

Containers and Steam: Putting games under pressure | FOSDEM 2020

Collabora
13K views • 6 years ago
Golang UK Conf. 2016 - Liz Rice - What is a container, really? Let's write one in Go from scratch23:00

Golang UK Conf. 2016 - Liz Rice - What is a container, really? Let's write one in Go from scratch

GopherCon UK
33K views • 10 years ago
Leaping the chasm from proprietary to open: A survivor's guide43:28

Leaping the chasm from proprietary to open: A survivor's guide

Bryan Cantrill
14K views • 11 years ago
Surge 2015 - Lightning Talks1:19:43

Surge 2015 - Lightning Talks

OmniTI
12K views • 10 years ago
Zebras All the Way Down - Bryan Cantrill, Uptime 201746:37

Zebras All the Way Down - Bryan Cantrill, Uptime 2017

Code & Supply
49K views • 9 years ago
Debugging Under Fire: Keep your Head when Systems have Lost their Mind • Bryan Cantrill • GOTO 201752:35

Debugging Under Fire: Keep your Head when Systems have Lost their Mind • Bryan Cantrill • GOTO 2017

GOTO Conferences
101K views • 9 years ago
Ubuntu Slaughters Kittens | BSD Now 1032:00:28

Ubuntu Slaughters Kittens | BSD Now 103

Jupiter Broadcasting
39K views • 11 years ago
"Compacting the Uncompactable" by Bobby Powers40:18

"Compacting the Uncompactable" by Bobby Powers

Strange Loop Conference
29K views • 7 years ago
Benno Rice: The Tragedy of systemd -- BSDCan 201832:30

Benno Rice: The Tragedy of systemd -- BSDCan 2018

BSDCan
25K views • 8 years ago