После 11 месяцев разработки представлен релиз облачной операционной системы MirageOS 2.5, которая обеспечивает возможность запуска поверх гипервизора приложений, написанных на языке OCaml. MirageOS позволяет создавать операционные системы одного приложения, содержащие только компоненты, необходимые для запуска одной программы, без необходимости использования традиционных операционных систем с универсальным ядром, утилитами и набором библиотек. В разработке MirageOS принимают участие исследователи из Кембриджского университета, компании Citrix, проектов Xen, FreeBSD, Galois и OCamlPro.

Разработка программ производится в традиционных ОС, после чего при помощи MirageOS программа компилируется в самодостаточное специализированное ядро (концепция unikernel), которое может запускаться непосредственно поверх гипервизора Xen или в форме процесса в POSIX-совместимом окружении. Сгенерированное окружение не содержит ничего лишнего и взаимодействует непосредственно с гипервизором без драйверов и системных прослоек, что позволяет добиться существенного снижения накладных расходов и повышения безопасности. Работа с MirageOS сводится к трём стадиям: подготовка конфигурации с определением используемых в окружении OPAM-пакетов, сборка окружения и запуск и контроль за выполнением окружения (MirageOS сам создаст файлы конфигурации для Xen и запустит окружение).

Несмотря на то, что приложения и библиотеки формируются на высокоуровневом языке OCaml, итоговые окружения демонстрируют достаточно неплохую производительность и минимальный размер окружения (например, DNS-сервер занимает всего 200 Кб). Упрощается и сопровождение окружений, так как при необходимости обновления программы или изменения конфигурации, достаточно создать и запустить новое окружение. Поддерживается несколько десятков библиотек на языке OCaml для выполнения сетевых операций (DNS, SSH, OpenFlow, HTTP, XMPP и т.п.), работы с хранилищами и обеспечения параллельной обработки данных.

Ключевым новшеством MirageOS 2.5 является полноценная реализация TLS-шифрования, интегрированная во все подсистемы MirageOS, в том числе в API для определения конфигурации, что позволяет разработчикам создавать и развёртывать безопасные unikernel. В качестве основы выступает проект OCaml-TLS, в рамках которого подготовлена высокопроизводительная и надёжная реализация протокола TLS, написанная на языке OCaml. В дополнение к OCaml-TLS подготовлена коллекция unix-утилит для работы с TLS, например, утилита tlstunnel позволяет быстро создавать рабочие конфигурации, используя tlstunnel как замену stunnel и stud.

Источник: http://www.opennet.ru/opennews/art.shtml?num=42515