Containers are all the rage these days. They’re fast, they make deployment easy, they handle dependencies, they slice, they dice, they make julienne fries! But... what are they? What exactly is a container and how does it work? Just how does a container differ from the “old” silver bullet, virtual machines?

Here’s a hint: It has nothing to do with boats, or whales, or shipping. That’s all marketing fluff.

Containers are simply a shorthand name for leveraging newer features of operating system kernels that let the OS lie to programs about how they’re running. In fact, all of modern software is built on lies. That’s what’s useful about it!

To understand how that works, why it’s so useful, and where it’s not, let’s dive into how software actually works on a modern Linux system to see how those kernel features fit into the big picture, building up to “containers” along the way. Pull back the veil of lies and see how your computer really works

Comments

Comments are closed.

Very good talk, learned a lot.
The last part, Platform.sh vs Docker was a bit too commercial.

Jasper N. Brouwer at 17:35 on 8 Jun 2018

Really good, thorough and easy to follow explanation of what containers actually are. I haven't used Docker (yet), but I now have a very clear view of what it does.
The comparison between Platform.sh and Docker could have been shorter IMO.

Petar Petrov at 17:41 on 8 Jun 2018

Awesome !

Jochem Fuchs at 17:50 on 8 Jun 2018

Very nice talk! I was lost in the beginning, but now I feel I actually understand a bit how "containers" work. Also on a personal note, I loved the ST references ;-)

Thanks!

Good overview of that a container is and does.

While I appreciate the very insightful view of containerization, I was a little put off by the us-vs-them theme during the talk where Docker is given a bad grade in comparison to Platform.sh. I appreciate it might be hard to see a rival product that is inferior in your eyes, but it does hurt the presentation by diminishing trust. If the talk was the technical part plus "...and we're _really_ _really_ good at that at Platform.sh" it would have been super convincing. Because Larry certainly knows his containers all the way down to the turtles below...

Larry Garfield (Speaker) at 15:09 on 11 Jun 2018

Hi Ramon. I hope I didn't give the impression that Platform.sh > Docker always, as that wasn't the intent. Platform, Docker, Flatpack, etc. all use the same underlying tools (namespaces plus abstraction layers) to constrain processes, but do so in different ways that have different pros and cons. Platform's model works really well for production hosting, but I would never try to use it for local one-off tools. Docker excels at local one-off tools, but has limitations when trying to do the kind of hosting that Platform.sh does. For "I want to try out this new server program I've heard about and not pollute my local computer configuration", Docker is probably the best tool available. That doesn't make it the best tool for all things, just as Platform.sh isn't the best container design for all things. That's the point I was trying to make.