Tags: osv

ОС - лишняя прослойка?

Недавно узнал, что существует ОС, которую я так долго ждал. А именно OSv. http://www.osv.io/.
Уже давно в IT присутствует практика "один сервер - одна задача". Появилась она еще в девяностые. Причин тому было несколько:


  • Низкая производительность доступных по цене серверов. В то время серверный процессор не сильно отличался от процессора рабочей станции (архитектура x86). По производительности тогда главенствовали RISC-системы. Но они всегда были дороги, и использовать такие системы, как универсальные, могли себе позволить немногие.

  • Надежность серверов была недостаточно высока. Поэтому разнесение задач по разным серверам устанавливало границы домена отказов

  • Безопасность ОС - при взломе сервера, особенно, если он был доступен из внешней сети могло означать потерю или кражу данных. Опять же взломать один сервер проще, чем 10.

  • Конфликты между ПО, установленным на одном сервере. Разные библиотеки фреймворки и т.д. Данная проблема очень актуальна и сейчас.

И каждый  такой сервер требовал отдельной операционной системы. Полноценной системы. С появлением и ростом популярности Linux появилась возможность создавать специализированные дистрибутивы, направленные на выполнение узкого круга задач. Это позволило резко поднять уровень безопасности, простоту управления и общую надежность. Но в целом принцип сохранялся -
"один сервер - одна задача".
Одновременно росли мощность и надежность серверов на платформе x86. Даже возникла проблема. В один прекрасный день производительность среднестатистического сервера стала перекрывать потребности большинства пользователей. Следовательно, серверы большую часть времени просто грели воздух. Отпала необходимость в дальнейшем наращивании серверных мощностей. Точнее падал спрос на топовые конфигурации. А чем меньше спрос, тем выше себестоимость. Появилась необходимость куда-то "сбрасывать" лишнюю мощность. Однако возвращаться к многозадачным архитектурам

Затем в VMware пришли гениальные менеджеры и из поделки для бета-тестеров и гиков сделали коммерчески удачный продукт для промышленного применения. Увеличилась надежность, отказоустойчивость, домены отказов стали еще меньше.  Плотность размещения задач на одном физическом сервере возрасла, Но даже в случае с виртуализацией мало что изменилось с точки зрения ОС. На каждую виртуальную машину вы должны поставить отдельную полноценную серверную операционную систему. А мы знаем, сколько "полезных" сервисов запущено в каждом Windows. И даже говоря о специализированных дистибутивах Linux, мы всё равно имеет ОС общего назначения, просто немного подрезанную. Стоит отметить, что такие дистрибутивы не так часто используются в промышленных инфраструктурах. Чаще это RedHat, SUSE, сейчас еще Debian и Ubuntu. То есть полноценные дистрибутивы. Если делать их специализированными, то вы получаете проблемы с поддержкой, которая очень важна для корпоративных пользователей.

Мне всегда казалось, что следующим шагом за виртуализацией должна придти и минимизация ОС. Должен произойти некий "условный" возврат назад во времена DOS, когда программы работали с аппаратными компонентами компьютера напрямую. Конечно, сейчас в прямую такое невозможно. А вот сократить прослойку между гипервизором (виртуальной машиной) и приложением вполне по силам. Ведь большая часть функционала ОС вам не нужна. Графический интерфейс, возможность работы со множеством принтеров, сканеров, дисковых накопителях (ведь у нас же есть уровень абстракции в виде гипервизора) и т.д., и т.п.

Нужно только некое ядро, которое предоставит приложениям возможность не заботится о работе системы ввода-вывода, система мониторинга, система настройки. Тот же Oracle всегда пытается как можно ближе подобраться к аппаратной части, не сертифицирует работу своих серверов баз данных на виртуальных машинах, использует "сырые" диски и т.д. Причем нет необходимости иметь системы визуализации мониторинга и настроек на каждой ОС. Достаточно иметь одну управляющую консоль, которая будет работать с такими микроОС. Что-то вроде SystemCenter или vCenter. Вам же не приходит в голову заходить на каждую виртуальную машину и настраивать ее по-отдельности. Все можно сделать из центральной консоли - создать, удалить, настроить.

Похоже,  OSv - это первая ласточка. Не уверен, что именно этот продукт завоюет мир. Но направление верное. Может, ребят купит какой-нибуть IT-гигант. Мне кажется, в них больше всего должен заинтересован VMware. Они в любом случае конкурируют с Microsoft.