Много лет назад наткнулся я на MirageOS. Это такая хрень, чтобы программу на OCaml можно было запускать напрямую на гипервизоре, не запуская на нем операционную систему. Ребята хвалились, что производительность от этого вырастает. Мне эта идея сразу не понравилась: я люблю свою операционную систему, а код стараюсь писать только в случае крайней необходимости, когда нельзя обойтись командой на баше. Однако ребята до сих пор живы — один ебнутый индус чего стоит — и наплодили столько своих велосипедных библиотек, что душа радуется.
Разумеется, окамлоебы не одни такие: есть аналогичные приблуды для других языков. Даже термин «unikernel» придумали: http://unikernel.org/projects/
Все бы ничего, но параллельно с этим пышным цветом раскинулась контейнеризация. Тут никому ничего рассказывать не надо — сами знаете, куда вас нынче пошлют на собеседовании, если вы не умеете с доскером работать. Мне как-то тоже не очень понравилось: работает через жопу и отлаживать невозможно.
И тут в 2019 году до меня наконец-то дошло: что одни, что другие хотят одного и того же. Изолированное окружение, один процесс на контейнер, взаимодействие только по сети. Только у одних задача решена радикально и элегантно, а у других — через чудовищное количество костылей. Зато у них есть работа, а у этих умников с юникёрнелами — нет.