The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

27.06.2015 09:33  Выпуск MirageOS 2.5, платформы для запуска приложений поверх гипервизора

После 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.

  1. Главная ссылка к новости (https://mirage.io/blog/announc...)
Лицензия: CC-BY
Тип: Программы
Ключевые слова: mirageos
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 12:37, 27/06/2015 [ответить] [показать ветку] [···]    [к модератору]
  • +7 +/
    Некоторым чужие факапы видимо не в прок. Однажды фирма майкрософт уже пыталась сделать нечто наподобие - в azure изначально подразумевался только запуск приложений на дотнете поверх гипервизора.

    Реально идея оказалась полным отстoeм. Кастомерам часто надо было запускать "не только на дотнете" или какие-то кастомные настройки характерные для ОС. И вся эта сферическая буита "можно запускать только программы на 1 языке с его рантаймом" пошла лесом. Впрочем, гугл тоже этой хренью занимался уже много лет и как-то она и близко не стоит по популярности обычных хостингов и облаков позволяющих запускать "универсальные операционки".

    Секрет в том что рулить гольным инстансом приложения без операционки - крайне неудобно. А как только надо что-то продвинутое - без general purpose операционки быстро наступает облом. В обычной ОС вы например периодику пропишете в systemd.timers или крон. Парой строк конфига. А при таком подходе - вы таки пойдете сами себе кодить аналог крона, о чем вы наверняка всю жизнь только и мечтали...

     
     
  • 2.7, Mihail Zenkov (ok), 16:27, 27/06/2015 [^] [ответить]    [к модератору]
  • –1 +/
    Смотрите на это не как на обычный сервер, а как на узкоспециализированное решение на очень мощном микроконтроллере. Естественно у такого подхода будут свои минусы, и на массовое решение это не годится. Но в определенных ситуациях может быть вполне востребовано.
     
     
  • 3.12, Аноним (-), 01:59, 28/06/2015 [^] [ответить]     [к модератору]
  • –1 +/
    где еще надиктовали с ножом к горлу левый ЯП и довольно чреватые методы работ... весь текст скрыт [показать]
     
     
  • 4.14, Crazy Alex (ok), 02:51, 28/06/2015 [^] [ответить]    [к модератору]  
  • +/
    Ну, технически отладка - это дело решаемое, тулзы с библиотеками (в том числе и отладка-логирование) один раз пишутся и отлаживаются, в конце концов. Но плюшек я в этом не вижу, хоть убей. Во-первых, таки да - экзотический язык с ограниченным набором библиотек. Во-вторых - плевать, сколько занимает код. Потому что данные, которые он будет лопатить, занимают в памяти минимум на пару порядков больше обычно. В-третьих - ну да, как только захочется странного - это странное обойдётся дорого. В-четвёртых - они там всерьёз, скажем, FS сами реализовывать будут? Что за чушь насчёт "отсутствия ядра и драйверов" - очевидно же, что функциональность с неба не свалится, и релизовывать её заново - это бред сивой кобылы
     
     
  • 5.18, Аноним (-), 08:20, 28/06/2015 [^] [ответить]     [к модератору]  
  • +1 +/
    Знаешь, теоретически - много чего решаемо А практически - это кто-то должен сде... весь текст скрыт [показать]
     
  • 3.21, Аноним (-), 10:18, 29/06/2015 [^] [ответить]    [к модератору]  
  • +/
    Как бы для микроконтроллеров используются чуток другие принципы разработки. А на arduino IDE никто софт для серверов не пишет.
     
  • 2.23, Филипп Филиппович (ok), 19:06, 29/06/2015 [^] [ответить]    [к модератору]  
  • +/
    Возможно, ребята просто хотят писать приложения для банкоматов на своём любимом языке, для чего и сделали инструмент. Так что никакого отношения к изначальной концепции Azure это не имеет. На взрывную популярность продукт не претендует, что ясно сразу: OCaml -- язык во многом довольно интересный (например, как попытка привить функциональному языку элементы императивности, изначально лишённая "пуризма" и позволяющая писать достаточно высокопроизводительный код), но всё-таки круг его любителей достаточно узок и всегда таким останется.
     
  • 1.2, Аноним (-), 12:58, 27/06/2015 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Я понимаю что хочется умолчать, но на картинке справа не видно где именно находи... весь текст скрыт [показать]
     
     
  • 2.3, Аноним (-), 13:46, 27/06/2015 [^] [ответить]    [к модератору]  
  • +/
    unikernel не является классическим ядром (с драйверами и процессами). Почитайте, например, http://queue.acm.org/detail.cfm?id=2566628
     
     
  • 3.4, Аноним (-), 15:49, 27/06/2015 [^] [ответить]     [к модератору]  
  • +1 +/
    Среди этого множества букв не видно внятных ответов Если подумать, то все равно... весь текст скрыт [показать]
     
     
  • 4.6, Mihail Zenkov (ok), 16:24, 27/06/2015 [^] [ответить]    [к модератору]  
  • +/
    > Подскажете как все это работает и зачем такие проекты нужны (только не пилить бабло) ?

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

    "например, DNS-сервер занимает всего 200 Кб"
    Сколько DNS-сервер будет весить вмести с os? Сколько там будет багов/уязвимость? Сколько там будет бесполезных прослоек?

     
     
  • 5.8, YetAnotherOnanym (ok), 17:07, 27/06/2015 [^] [ответить]    [к модератору]  
  • +/
    А как сочетается "POSIX-совместимое окружение" и "ничего лишнего"?
     
     
  • 6.10, Mihail Zenkov (ok), 20:31, 27/06/2015 [^] [ответить]    [к модератору]  
  • +/
    "программа компилируется в самодостаточное специализированное ядро (концепция unikernel ), которое может запускаться непосредственно поверх гипервизора Xen" - вот и будет - "ничего лишнего".

    "или в форме процесса в POSIX-совместимом окружении" - для тех случаев когда можно пожертвовать минимализмом для упрощения портирования.

     
  • 5.9, Аноним (-), 18:33, 27/06/2015 [^] [ответить]    [к модератору]  
  • –1 +/
    Ну ты сам сравни эти 2 картинки "влоб". Я вот не пойму кто берет обработку "processes" и "threads", а вы? А если у меня приложение с POSIX-theads ? А если еще и preforked ?
     
     
  • 6.11, Mihail Zenkov (ok), 20:34, 27/06/2015 [^] [ответить]    [к модератору]  
  • +/
    На картинках не изображен unikernel, так как он фактически является частью приложения, а не самодостаточным ядром.
     
     
  • 7.15, Crazy Alex (ok), 02:52, 28/06/2015 [^] [ответить]    [к модератору]  
  • +/
    Ну и в чём преимущество тогда?
     
     
  • 8.17, Аноним (-), 07:19, 28/06/2015 [^] [ответить]     [к модератору]  
  • +/
    контейнерные апликухи двигают со своей средой представь, если бы 90 поставщико... весь текст скрыт [показать]
     
     
  • 9.20, Crazy Alex (ok), 11:13, 28/06/2015 [^] [ответить]    [к модератору]  
  • +/
    Танунафиг, это означает, что такой софт тащит с собой статически линкованные бибилиотеки со всеми проблемами обновления на которые вендор, как обычно, забьёт. Без инсталляций - тоже не выйдет, там много чего нужного делается - от инициализации данных до миграции со старых версий. Нормальный менеджмент ресурсов? Чем он будет отличаться от обычного выделения ресурсов виртуалке? Не, если это сравнивать с колхозным подходом "в одной ос на сервере куча задач" - то да, но нормальные люди в продакшне держат под каждую задачу свою виртуалку. Контейнеры - сами по себе довольно сомнительная идея, когда можно иметь полноценные VM  с достаточно небольшим оверхедом, но контейнер с отказом от существующих и распространённых средств менеджмента, на окамле - это бред.

    Ну а насчёт "подмять под себя" с требованием писать на окамле - забавно, да.

     
  • 7.16, Аноним (-), 05:04, 28/06/2015 [^] [ответить]     [к модератору]  
  • +/
    Если так - то еще хуже Ведь тогда слой API реализующих POSIX-совместимость нахо... весь текст скрыт [показать]
     
     
  • 8.19, anonymous (??), 09:35, 28/06/2015 [^] [ответить]    [к модератору]  
  • +/
    Сходите к ним на сайт почитайте. Но предлагаемые приложения event-based без выделения потоков.
     
  • 5.13, Аноним (-), 02:08, 28/06/2015 [^] [ответить]     [к модератору]  
  • +/
    Зато в коде на 200 кило почти наверняка есть баги Потому что это достаточно мно... весь текст скрыт [показать]
     
  • 1.5, Геймер (?), 16:03, 27/06/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +7 +/
    Вот она многозадачная DOS. Дождались!
     
  • 1.22, Аноним (-), 16:31, 29/06/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Все идет к винде вот и snappy тоже...
     
  • 1.24, tr3x (ok), 11:39, 30/06/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Поддержка других гипервизоров сделала бы эту штуку интересней
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor