May 4th, 2016

404

из комментов на хабре

Xen как серверный гипервизор — мёртв. Остаётся как карманная игрушка цитрикса и всякая экзотика, типа виртуальных десктопов, сотовых телефонов и т.д. Плюс легаси инсталляции. Плюс amazon, который его активно in-house пилит (гипервизор в опенсорсе, userspace — in house).

Поясняю:
Xen родился как развитие идеи binary rewriting. Вместо того, чтобы патчить ОС «на ходу» для перехвата привилегированных инструкций, мы «патчим» её (ОС) при компиляции, за счёт чего имеем огромное ускорение. Это PV-режим работы гипервизора. Он рвал все существующие системы виртуализации на тот момент в клочки.

Потом интел выкатила VT и VT-D, и binary rewriting стал ненужен. Xen сделал морду кирпичом и выкатил HVM-режим, но тут уже начались всякие нюансики в реализации, и он начал гоняться с KVM/VMWare за процентики. Кто-то больше, кто-то меньше. В этот момент он потерял главное рыночное преимущество.

Дальше начались игры «следующего порядка»:

Xen: тяжёлый отвратительный userspace в dom0. xenstore с утечками памяти, залипающие домены, реверсные блочные устройства, шелловые скрипты как часть тулстека по инициализации гостевых устройств. Гигантская куча разрозненных кусков кода, пытающихся подружить разные части линукса с инородной странной сущностью за пределами ОС.
KVM: Виртуалка — это userspace процесс. Легко и просто.
Xen: абстракные computer science исследования — mirage (микроос на окамл для запуска приложений в pv-окружении), stub domains для изоляции «обратной части драйверов», микрочекпоинты (remus), etc.
KVM: то, что нужно индустрии прямо тут и сейчас.

Xen — чужеродная среда с кучей проблем (nvidia не поддерживает линукс и xen, grub+uefi+xen не работают вместе, etc), kvm — родное, нативное в ядре, qemu — всего лишь userspace приложение без каких-либо выкрутасов.

На выходе — на последнем ops-summit на openstack summit 2016-1, на сессии, посвящённой mitaka, в зале не было НИ ОДНОГО человека, кто бы использовал xen как гипервизор. Есть rackspace, который держит клиентские legacy-виртуалки на xenserver'е — но за кулисами их ребята страшно ругались на него, и используют они его не как «систему управления виртуальными машинами», а как прослойку между гипервизором и openstack'ом. Никаких пулов, никаких адских xapi на мастере, отжирающих 300% CPU и тупящих непонятно на чём.

xen всегда имел проблемы с opensource'ом. Адекватной системы сборки не было, и если сам гипервизор был прост и понятен, но его userspace — ужасен и местами имел дыры в проприетарные системы (цитрикса). Самому цитриксу оно особо не нужно и его интересуют маржинальные продукты (читай, виртуализация десктопов), а серверный рынок — только как часть портфолио и только в контексте энтерпайза.