Первый выпуск Xen Orchestra, web-интерфейса для управления системой виртуализации
После четырёх лет с момента основания представлен первый выпуск проекта Xen Orchestra, в рамках которого развивается web-интерфейс для администрирования системы виртуализации на базе XCP (Xen Cloud Platform) или XenServer. Первый выпуск Xen Orchestra рассматривается как ознакомительный, сфокусированный в основном на формирование грамотной внутренней архитектуры, которая затем станет обрастать расширенной функциональностью.
Проект позиционируется как многоплатформенная и свободная альтернатива проприетарному продукту XenCenter, которых до сих пор был единственной реализацией интерфейса для XCP, за исключением проекта OpenXenManager, который уже давно заброшен и не пригоден для использования. В отличие от CloudStack, Xen Orchestra не нацелен на создание интерфейса для управления облачными системами и предоставляет только GUI для выполнения ежедневных типовых задач администраторов систем на базе гипервизора Xen, таких как управление виртуальными машинами и серверами XCP, в том числе миграция окружений между пулами и управление репозиториями хранения. Кроме административных функций Xen Orchestra предоставляет интересные средства для визуализации состояния инфраструктуры виртуализации, позволяющие на одном экране оценить работоспособность всех компонентов.
Код Xen Orchestra распространяется под лицензией AGPL v3 и состоит из серверной (PHP) части, непосредственно взаимодействующей с XCP, и web-клиента (PHP, Bootstrap, Backbone.js, Processing.js, HTML 5, CSS 3, JavaScript) с реализацией интерфейса пользователя. Отделение серверного компонента Xen Orchestra от непосредственного web-интерфейса, позволяет организовать управление через единый GUI для группы серверов, используемых в инфраструктуре виртуализации. При этом серверная часть XO-Server выступает в роли прокси, беря на себя взаимодействие с клиентами и решая проблемы с масштабируемостью. Например, так как XO-Server изначально знает какие данные переданы каждому клиенту он кэширует обращения к XCP и передаёт клиенту только изменившиеся данные (ранее, каждый клиент обращался напрямую к каждому XCP, что создавало большую паразитную нагрузку и лишние соединения). Кроме того, на плечи XO-Server вынесена логика разграничения доступа и управления пулами виртуальных машин, что позволило заметно упростить код web-интерфейса.