Linux is Evolving
Red Hat cloud evangelist Gordon Haff recently wrote an article for Opensource.com titled “Why the operating system matters in a containerized world”. Gordon makes several good points on how the operating system is more important than ever, considering that moving away from virtualized environments supporting multiple operating systems to containers running on a single operating system puts more importance on the stability of that single OS. Of course, if you wanted to nitpick, and who doesn’t, Linux has always been the core of the hypervisor in the popular virtualization platforms, but the important part of the article is when Gordon points out that Linux is evolving. What we know as Linux today is changing in interesting, fundamental ways.
Containers run on a single operating system on a single piece of hardware. And, containers actually do have a full operating system inside of them, they simply don’t use most of it. Containers need to have all the right files in all the right places, they just don’t need to boot the kernel or run most of the individual daemons like a virtual machine does. It can, and depending on your use case, you might want to run things like cron and another daemon acting as init, but for the most part, you want to concentrate on your application.
It is in this special instance of having the dormant capacity of the operating system present, but not using it when it isn’t needed, where evolution is happening. We are breaking apart the flexible building blocks of Linux and reforming them in ways that make sense. How far away are we from consumers expecting that applications will come as containers, including everything needed to run? Perhaps even desktop applications can be made to run in containers, a change that would increase security and reliability of the Linux desktop.
Consider CoreOS, a distribution on the leading edge of the new data center. built from the ground up to be deployed on a massive scale, CoreOS is tiny, but built to be clustered. Not only that, but CoreOS ships with two root partitions.
CoreOS updates employ a dual-partion scheme that operates differently than most Linux distributions. Instead of updating a single package at a time, CoreOS downloads an entirely new root filesystem and installs it to the passive partition. After the next reboot, CoreOS will be running the latest version.
Again, using the flexible building blocks that Linux is built out of in interesting and creative ways to build something new and amazing. It is incredible to look at the previous generation of server operating systems, which often threw in everything plus Firefox, KDE, and the kitchen sink, and compare that to where we are going now. Small, modular, special purpose server distributions that are miles away from the desktop or what we had before, but still sharing the same open source Linux core.
The evolution of Linux continues to be endlessly fascinating, I can’t wait to see what comes next.