
Container Linux
» see coreos.com as it lived, on the wayback machine
~ the obituary ~
The containers I have dealt with run one machine at a time, on hardware that goes out into a field and comes back. Container Linux was aimed at the opposite shape of problem, a thousand identical servers in a rack that nobody names and nobody misses, and it is one of those pieces of infrastructure I read about for years without ever having a reason to install.
CoreOS put the first release out on 3 October 2013. Docker had existed publicly for seven months. The argument was that if your applications now ship as containers with their own libraries inside them, the operating system underneath has almost nothing left to do, so it should be stripped to a kernel and a container runtime and get out of the way.
So it shipped without a package manager. You could not apt-get anything onto a Container Linux box, because installing software onto the host was the behavior it existed to prevent. Updates came down as a whole new read-only system image onto a second partition, and the machine rebooted into it. If something went wrong you rebooted back into the old one. The host was not a thing you maintained. It was a thing you replaced.
~ the case file ~
| Born | 3 October 2013, first release from CoreOS in San Francisco |
|---|---|
| Peak | the standard operating system under the first wave of container clusters, before Kubernetes had a 1.0 |
| Killed | 26 May 2020, the last day it received a security update |
| Lifespan | six and a half years |
| Made by | CoreOS, founded by Alex Polvi and Brandon Philips |
| Killed by | Red Hat, which bought it in January 2018 for $250 million |
~ what it actually did ~
The distribution was the least interesting part of CoreOS, and everyone involved knew it. What came with it was etcd, a distributed key-value store that let a group of machines agree on configuration without a central server, and it turned out to be the harder and more valuable idea. Kubernetes was built on etcd and still is. A component shipped as a supporting piece of a small Linux distribution ended up holding the state of most of the world's container clusters.
CoreOS also shipped rkt in December 2014, an alternative container runtime written because Docker was accumulating features faster than it was accumulating a specification. rkt lost, and Docker's format became the standard through the OCI process. That fight is worth remembering because it is the reason there is a specification at all.
~ the red hat years ~
Red Hat bought CoreOS in January 2018 for $250 million, mostly for the Kubernetes work and the people. Two products then existed for the same job inside one company: Container Linux and Red Hat's own Project Atomic. The merge produced Fedora CoreOS, which kept the name and the automatic-update model and rebuilt the internals on Red Hat's stack.
The end was announced in February 2020 with a schedule rather than a switch. 26 May 2020 was the last day updates and security patches went out. From 1 September the downloads came off and the CoreUpdate servers were shut, with the machine images pulled from AWS and Azure and Google Compute Engine on the same schedule. It was an orderly wind-down, which for a self-updating operating system means the machines kept running and simply stopped changing.
~ what survived ~
Fedora CoreOS is the official successor and it did not fit everybody, because it launched without native support for several platforms the original had covered and without rkt at all. The other exit was Flatcar Container Linux, a fork that Kinvolk announced in March 2018, six weeks after the acquisition, on the reasonable suspicion that Red Hat was not going to keep the original alive. That guess was correct by two years. Microsoft bought Kinvolk in April 2021.
So the thing has two heirs, one from the company that bought it and one from the people who did not trust the company that bought it, and the second one is still shipping. The idea underneath all of it is now so ordinary that nobody argues for it any more. A server operating system should be immutable, and it should be cheaper to throw away than to fix.
~ leave a rose ~
an anonymous tribute. one rose per visitor per day.
@}-->-- ... roses left here
~ leave a wreath ~
a rose fades by morning. a wreath stays on this grave for good, with your name on it.
from $1, paid once through stripe. it keeps the graveyard running: the hosting and the nightly digging. adopt it and the headstone reads "maintained in memory by" you. the groundskeeper plants new wreaths at the next tending, usually within a day.
» one email a week: new graves and the anniversaries of the dead. subscribe
other software: Ondsel, Google Optimize, Arctype, Adobe Edge Inspect
also died in the 2020s: Ondsel, Stack Overflow Jobs, Google Optimize
~ leave a note ~
visitors before you have left these graveside notes. anonymous welcome.