В рамках проекта создания открытой операционной системы CoreOS выпущена первая бета-версия Linux-дистрибутива, оптимизированного под открытую технологию контейнеризации Docker. Последняя предназначена для виртуализации приложений и в настоящее время поддерживается рядом Linux-дистрибутивов, включая Red Hat и Ubuntu. Разработка CoreOS инициирована с целью выпуска специализированной версии Linux, заточенной под данную технологию, и финансируется венчурными фондами Andreessen Horowitz и Sequoia Capital. Как сообщил представителю eWeek Алекс Полви, CEO проекта CoreOS, к настоящему времени проект прошел стадию посевного финансирования, объем которого не раскрывался. С августа 2013 г. до последнего времени CoreOS существовала в альфа-версии.
По словам Полви, CoreOS имеет ряд отличительных особенностей, благодаря которым хорошо подходит для реализации контейнерной технологии Docker с высокой доступностью. Docker представляет собой разновидность технологии виртуализации, в которой контейнер является прослойкой между операционной системой и виртуализируемым приложением и выполняет для него роль изолированной рабочей среды, тогда как традиционная виртуализация на базе гипервизора требует использования отдельного экземпляра ОС для каждой виртуальной машины.
«У нас получается очень небольшая и легкая операционная система с поддержкой контейнеров Docker, — сообщил Полви. — При этом CoreOS имеет встроенные функции кластеризации, что позволяет организациям создавать отказоустойчивые распределенные серверные среды».
Для обеспечении высокой доступности в CoreOS включены две корневые файловые системы, инсталлируемые по умолчанию. В случае апгрейда ОС сначала обновляется та корневая файловая система, которая в данный момент не используется, пояснил Полви. Такой способ решения проблемы он назвал подходом «с двойной буферизацией». «Благодаря такому подходу мы можем загрузить обновление ОС и установить его без какой-либо модификации исполняемой системы, — рассказал Полви. — Чтобы перейти на новую версию, вам потребуется перезагрузить ОС, но при этом старая корневая файловая система сохраняется на случай, если с обновлением что-то пойдет не так».
CoreOS разрабатывалась с учетом возможности ее кластеризации, а потому перезагрузка файловой системы также не представляет проблему с точки зрения обеспечения требуемых характеристик доступности. В кластерной конфигурации узлы с одной и той же хостовой операционной системой работают одновременно, и пока один из узлов перезагружается, исполняемые приложения продолжают функционировать на другом узле кластера. «Мы применяем тот же подход, который используется при развертывании множества серверов в таких компаниях, как, например, Google, для обеспечения возможности управлять размещением исполняемых приложений», — пояснил Полви.
По его словам, CoreOS базируется на новейшей версии стабильного ядра Linux (выпуск 3.14.1), а Грег Кроах-Хартман, сопровождающую разработку стабильного ядра в Linux Foundation, является членом сообщества CoreOS.
Помимо ядра Linux, которое является лишь составной частью полного дистрибутива, в CoreOS также применяются инструменты, разработанные сообществом Google Chrome OS. «Инструменты, которые мы используем, фактически были созданы в рамках проекта Google Chrome OS, — подтвердил Полви. — Но при этом наша система не является производной от Chrome OS, мы просто используем те же инструменты для создания своей операционной системы».
Идея создания урезанной версии Linux для Docker — это как раз то, что в настоящее время реализует Red Hat в рамках проекта Atomic, стартовавшего 15 апреля. Одно из обещанных Red Hat ключевых преимуществ этого проекта заключается в том, что, поскольку он базируется на Red Hat Enterprise Linux, пользователи смогут применять уже сертифицированные вендорами под эту ОС решения.
«Наши заказчики покупают обычное аппаратное оборудование, и все, что они запускают на этом оборудовании, поддерживается очередными версиями ядра Linux, — заявил по этому поводу Полви. — Поддержка и сертификация приложений — это то, над чем мы сейчас работаем. Наш стартап пока еще проходит раннюю стадию развития».
Что касается общей доступности и выхода стабильной версии CoreOS, то, по словам Полви, это дело ближайшего будущего. Цикл разработки CoreOS связан с циклом разработки Docker, и Полви рассчитывает выпустить стабильную версию ОС тогда же, когда выйдет версия Docker 1.0 — уже в нынешнем году.