The push to modular operating systems constructed of microservices based on multiple types of container technologies is making progress as Red Hat gears up to deliver the server edition of Fedora 26, a distribution of Linux that Red Hat employs to test next-generation technologies.
Scheduled to be available in the next few weeks, Fedora 27 is based on a Boltron project that Red Hat previewed earlier this year. Matthew Miller, the project lead for Fedora, says the Boltron project will make it possible for developers to more easily support different editions of, for example, programming language runtimes such as Ruby 6 and 8. Red Hat has already delivered a workstation as well as an Atomic Host, a lighter-weight edition of Linux based on the same modular operating system.
Miller says the more modular approach to building and deploying operating system services makes use of both Docker images and System Containers, an alternative approach to traditional virtual machines that enable applications to share system resources without nearly as much performance penalty. Miller says System Containers also make it easier for an operating system to simultaneously support multiple instances of the same application or cluster such as Kubernetes that are based on different versions of the same code base.
In contrast to System Containers, which isolate underlying hardware, Docker containers are focused mainly on providing a way to more efficiently package application code in a way that enables applications to be deployed on multiple platforms. Collectively, however, Docker and System Containers are transforming both applications and operating systems in a set of microservices that can be easily mixed and matched as developers and DevOps teams see fit.
In fact, Miller says it won’t be too long before machine learning algorithms will be able to inspect an application to determine what operating system services are required and then dynamically construct them as necessary. As that application evolves, says Miller, additional services could be similarly added or removed. In fact, he notes those algorithms also could inform a DevOps team when there is a higher-quality version of a service being used by application available on a repository such as Github.
It may take a while longer yet for the latest advances in System Containers to find their way into commercial distribution of operating systems. But it’s a safe bet to say that providers of those operating systems are racing to make their platforms a lot more flexible than they are today by employing various forms of System Containers. Less clear right now is the impact those System Containers might have on the need for traditional hypervisors, which today are used to isolate stacks of software running on the same machine from one another.
Whatever the outcome, it appears that operating systems themselves will soon consist of little more than various microservices that can be invoked on demand. That may present some interesting new DevOps challenges. But the bigger promise is that System Containers promise to make upgrading applications and associated software infrastructure much less painful for all concerned.