For the last 40 years we’ve been using traditional operating systems to run our applications. Our operating systems are designed as generic underpinnings for our applications, but they come at the cost of lots of complexity.
It doesn’t have to be this way. If we’re willing to embrace immutable infrastructure we can compile the OS functionality into the application itself. Or, in the case of high level languages, into the language runtime.
The results are small, fast and secure virtual machines that can do a lot of what our beloved Linux systems always have done.