В последнее время стали появляться системы “легковесной” виртуализации на базе Hypervisor.framework. Это началось далеко не в последние месяцы, однако Docker beta на базе гипервизора hvyve стал “локомотивом” движения. xhyve построен с использованием Hypervisor.framework, появившегося в 2014-м году с выходом OS X 10.10 Yosemite.

The following frameworks are new in OS X v10.10:

  • Hypervisor (Hypervisor.framework). The Hypervisor framework allows virtualization vendors to build virtualization solutions on top of OS X without needing to deploy third-party kernel extensions (KEXTs). Included is a lightweight hypervisor that enables virtualization of the host CPUs.

В конце прошлого года вышла система Veertu, и она тоже построена на Hypervisor.Framework. Важная особенность — программа доступна в Mac App Store, пару лет назад я не верил, что система виртуализации может появиться в MAS. В бесплатной версии можно списывать образы из интернет, а для установки из ISO и импорта существующих VM требуется сделать in-app purchase на $39.99. Я пока не использовал эту систему, потому что для меня важно наличие Vagrant provider, а его до сих пор нет и пока не предвидится.

Конечно же, мне более ценна проверенная и откатанная система от Parallels (пользуюсь подпиской на версию Pro Edition).

Поэтому у меня возник закономерный вопрос, что думает Parallels о технологии Hypervisor.framework. Ольга Русакова из PR team Parallels всегда отвечает оперативно и очень профессионально, подключая специалистов компании, за что ей огромное спасибо.

Привожу комментарий Андрея Наенко, Core Team Leader в Parallels.

Hypervisor.framework примечателен тем, что это первый полноценный виртуализационный API. Windows и ядро Linux уже давно имеют свои собственные встроенные виртуализационные средства, однако они не предназначены для использования сторонними решениями.

Hypervisor.framework изначально задуман как универсальный API, который может использовать кто угодно. Он резко снижает порог вхождения для новых игроков на рынке виртуализации для OS X. Благодаря ему разные продукты могут лучше уживаться в одной системе, т.к. управление ресурсами (прежде всего, памятью) осуществляется централизованно, ядром OS X. Кроме того, традиционные виртуализаторы принципиально несовместимы с Mac App Store, т.к. используют модули ядра (kernel extensions). Hypervisor.framework даёт им пропуск в магазин приложений OS X.

Недостатки Hypervisor.framework являются обратной стороной достоинств. Поскольку это публичный API, то реализация обязана быть устойчива к попыткам злонамеренного использования. Проверки аргументов API и переходы из ядра в приложение и обратно делают его медленнее. Обычно эти накладные расходы незаметны, но на некоторых специфических нагрузках это может быть узким местом. У Hypervisor.framework есть и функциональные ограничения. Например, вложенную виртуализацию или мониторинг энергопотребления с его помощью реализовать невозможно — там попросту нет нужных API. Впрочем, это нужно очень небольшому проценту пользователей.

Будет интересно увидеть развитие технологии. Думаю, у неё есть хорошие перспективы. Опять-таки Docker.