Представлен (http://openmirage.org/blog/announcing-mirage10) первый стабильный выпуск открытой облачной операционной системы Mirage OS 1.0 (http://openmirage.org/), развивавшейся с 2009 года группой исследователей из Кембриджского университета и компании Citrix. Mirage OS обеспечивает возможность запуска поверх гипервизора приложений на языке OCaml с минимальной системной обвязкой (unikernel). Таким образом Mirage OS позволяет создавать операционные системы одного приложения, содержащие только компоненты, необходимые для запуска одной программы, без необходимости использования традиционных операционных систем с универсальным ядром, приложениями и набором библиотек.<center><img src="http://www.opennet.me/opennews/pics_base/0_1386599694.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></center>
Разработка программ производится в традиционных ОС, после чего при помощи Mirage OS программа компилируется в самодостаточное специализированное ядро, которое может запускаться непосредственно поверх гипервизора Xen или в форме процесса в POSIX-совместимом окружении. В будущем ожидается (http://openmirage.org/wiki/faq) обеспечение работы окружений Mirage OS в форме модулей ядра FreeBSD или поверх JavaScript-движков. Работа с Mirage сводится к трём стадиям: подготовка конфигурации с определением используемых в окружении OPAM-пакетов (https://opam.ocaml.org/); сборка окружения; запуск и контроль за выполнением окружения (Mirage сам создаст файлы конфигурации для Xen и запустит окружение).
Сгенерированное окружение не содержит ничего лишнего и взаимодействует непосредственно с гипервизором без драйверов и системных прослоек, что позволяет добиться существенного снижения накладных расходов и повышения безопасности. Упрощается и сопровождение окружений, так как при необходимости обновления программы или изменения конфигурации, достаточно создать и запустить новое окружение. Поддерживается более 50 библиотек (https://github.com/mirage) на языке OCaml для выполнения сетевых операций (DNS, SSH, OpenFlow, HTTP, XMPP и т.п.), работы с хранилищами и обеспечения параллельной обработки данных.
Несмотря на то, что приложения и библиотеки формируются на высокоуровневом языке OCaml, итоговые окружения демонстрируют достаточно неплохую производительность. Например, реализация DNS-сервера на языке OCaml на 25% обогнала (http://anil.recoil.org/papers/2013-asplos-mirage.pdf) по числу обработанных в секунду запросов DNS-сервер на базе BIND 9. При этом размер окружения на базе Mirage OS составил всего 200 Кб, в том время как размер образа виртуального окружения с традиционной системой и BIND 9 превысил 450 Мб. Другим примером является обеспечение работы сайта проекта openmirage.org в форме Mirage-окружения, которое занимает около 1 Мб с учётом всех размещённых на сайте данных. Для запуска окружения с сайтом используется сервис Amazon EC2.
<center><a href="http://blog.xen.org/wp-content/uploads/2013/12/MirageDNS-500... src="http://www.opennet.me/opennews/pics_base/0_1386601217.png" style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border=0></a></center>URL: http://blog.xen.org/index.php/2013/12/09/announcing-the-1-0-.../
Новость: http://www.opennet.me/opennews/art.shtml?num=38621
А в чем преимущества такого подхода перед контейнерами?
Свой Amazon EC2 нужен, сразу рабочие места интеграторам, админам, аникейщикам, прогерам Окальма, Ц, ... секретуткам, манагерам...
А контейнер чё, одного админа и шайтан-программера хватит.
он другойаналогичный подход с контейнерами: взять ведро, закомпилить все приложение статически
и засунуть все это в контейнер
только тут все специально все лишнее выпилено
> аналогичный подход с контейнерами: взять ведро, закомпилить все приложение статически
> и засунуть все это в контейнерФигню несете, уважаемый. Свое ядро в контейнере не нужно, используется ядро хост-системы.
Но при этом - почти все плюшки виртуализации: динамическое ограничение и выделение ресурсов, заморозка, живая миграция и т.д.> только тут все специально все лишнее выпилено
Лишним получается ядро в гостевой системе.
Информативность диаграммы впечатляет
"... Давайте сравним вертолет и подводную лодку.
А именно измерим их длину и скажем что самокат быстрее летает в гелии."
(нарыто в Интернете)
а может стоило почитать новость?... там коректно сравнивают bind 9 и реализацию dns сервера на базе mirage os.
Bind - нетривиальная, кучу всего умеющая софтина. Сильно сомневаюсь, что их вариант хоть 10% его возможностей имеет. А то, что специализированный код может обгонять универсальный, на новость как-то не тянет. А какие размеры они сравнивали - вообще не понять, хоть это значения и не имеет.
> а может стоило почитать новость?... там коректно сравнивают bind 9 и реализацию dns сервера на базе mirage os.Единственное, что тут непонятно - какова в этом заслуга mirage os.
Пусть сначала запустят свой днс-сервер на окамле под другими осями, или bind под mirage. Тогда это будут сопоставимые величины, а не теплое с мягким.
>> а может стоило почитать новость?... там коректно сравнивают bind 9 и реализацию dns сервера на базе mirage os.
> Единственное, что тут непонятно - какова в этом заслуга mirage os.
> Пусть сначала запустят свой днс-сервер на окамле под другими осями, или bind
> под mirage. Тогда это будут сопоставимые величины, а не теплое с
> мягким.DNS запрос/ответ - это "GET_IP_FOR: opennet.ru, POST_IP: 123.45.67.89" Всё!
Разгребание зон, кроссдоменность, секурити и туеву хучу плюшек можно реализовать
внешним, предварительным парсером.
ну вот о том и речь, что собственно к сабжу это "тестирование" никакого отношения не имеет.
Так если у тебя такая же схема но, но BINDе сделана, то зачем нужны все плюшки бинда
которые не используются. Поэтапная сегментация очень полезная штука, особо в плане эксплуатации.
С настройкой конечно тяжелее, но зато ловить баги и бутылкины горлышки легче.
> Единственное, что тут непонятно - какова в этом заслуга mirage os.Ну как, маркетинговый булшит толкнули - может какой-то наивный но богатый лох, падкий на buzzword'ы разведется на грант, etc. PROFIT. А то что не взлетит - да и болт с ним.
> там коректно сравнивают bind 9 и реализацию dns сервера на базе mirage os.Так вам и говорят: сравнили мы тут как-то боинг и самокат. Ну а что, оба транспортные средства же. Самокат хреново летает, а боинг не втикивается в узкие улицы. Пришли к выводу что лучше всего ходить пешком.
Нет, в данном случае пришли к выводу "покупайте наших слонов, потому что они сами слонистые и легко переслонят любых других слонов"
> Нет, в данном случае пришли к выводу "покупайте наших слонов, потому что
> они сами слонистые и легко переслонят любых других слонов"Ну так ходя пешком клиент более вероятно купит слона чем если он на боинге будет летать, так что вот, все аккуратно подогнано, etc :).
> а может стоило почитать новость?... там коректно...рассказывают о том как подводная лодка в степях украины погибла в неравном воздушном бою.
антарктиды же
Тогда бы уж AST использовали. Он быстрее C.
ATS ? Очень интересное сравнение rust, go, ocaml, ATS http://roscidus.com/blog/blog/2013/06/09/choosing-a-python-r.../если кратко, то в ATS одна из саммых мощных систем типов и он действительно очень быстрый, но по сравнению с ocaml он не настолько быстр насколько сложен. В ocaml с типами тоже все в порядке, учитывая мощную систему типов и их автоматический вывод
Боже, какой бред...
Напоминает работника карандашной фабрики, который внёс рацпредложение экономить графит и загонять грифель в карандаш не на всю длину, т. к. всеравно часть графита не будет использована.
Ничего, сейчас внесут второе рацпредложение для экономии дерева так-как в нём всё равно нет графита.
> Ничего, сейчас внесут второе рацпредложение для экономии дерева так-как в нём всё равно нет графита.На самом деле, продавать карандаш меньшей длины по той же цене - отличная идея, особенно при сговоре с другими ведущими игроками отрасли.
А еще лучше - упразднить производство карандашей, вместо этого взимать сборы с производителей бумаги, как недополученную прибыль (привет, Михалков!)
Надеюсь не сдохнет, как MS Singularity.
> Надеюсь не сдохнет, как MS Singularity.А по моему - туда и дорога, ибо очередной обрубок. При том я как-то не понял: а кто в этой схеме вообще драйвера для оборудования таскает? Ах, вон та полновесная операционка которая "типа гипервизор"? Ну тогда пусть и в гуесте она висит, ибо универсально, гибко и админится единообразно и позволяет запускать что угодно, на каком угодно ЯПе. И апдейтить его средствами системной автоматизации, etc. А на самопальном обрубке все это придется опять с нуля и под каждый ЯП? Во спасибо...
> Ну тогда пусть и в гуесте она висит, ибо универсально, гибко и админится единообразноА нафиге подписываться на етический оверхед ради откровенно призрачных преимуществ?
Из соображений универсальности, гибкости и единообразия можно и все задачи в один процесс запихнуть. Чтобы одна и та же программа работала и биндом, и апачом, и DHCP-сервером. Что, бредово звучит? А ведь вы по сути то же самое предлагаете, но на другом уровне.
Singularity сдохла из-за невероятно жлобской (даже по меркам M$) лицензии.
> образа виртуального окружения с традиционной системойСразу вспомнился "обычный порошок".
Особенно если учесть, что эти хитрые ребята не уточняют ОС.
Что-то они я смотрю как грибы полезли, эти "ОС" для запуска самодостаточных приложений...
> Что-то они я смотрю как грибы полезли, эти "ОС" для запуска самодостаточных
> приложений...Иначе и быть не могло. SaaS. Нужен запускатор для приложения. Одного. Точка. Ни "продвинутая" ОС, ни "продвинутый" одмин к ней - не нужны.
> Иначе и быть не могло. SaaS. Нужен запускатор для приложения. Одного. Точка.
> Ни "продвинутая" ОС, ни "продвинутый" одмин к ней - не нужны.И как же эти приложения, сами админиться будут?
"поверх гипервизора Xen или в форме процесса в POSIX-совместимом окружении"
Где здесь ОС одного приложения, если эта хня будет работать поверх другой ОС либо ядра другой ОС? Чувствую меня где-то наJбывают.
"В будущем ожидается обеспечение работы окружений Mirage OS в форме модулей ядра FreeBSD или поверх JavaScript-движков" - и опять работа поверх другой ОСи. Где выгода, я не втыкаю? Нах эта херь нужна вообще?