После первой статьи про стандарты разработки и зарождение Open vAIR остался резонный вопрос: «А что там под капотом?». Отвечаем.

Эта платформа виртуализации создана для тех, кто хочет развернуть систему быстро, понять архитектуру без боли и не зависеть от чёрных ящиков с лицензией.

Внутри — модульный backend, изоляция через RabbitMQ, REST API и документация, которая обновляется вместе с кодом, а не спустя квартал.

В этой статье разберём, чем Open vAIR отличается от тяжёлых решений, что умеет прямо сейчас, какие модули в приоритете — и в каких сценариях он уже «заходит в прод».

Зачем вообще Open vAIR и кому нужен

Если вам нужно быстро поднять пару виртуалок — без плясок с лицензиями и шаманства с конфигами — Open vAIR делает это просто. Если вы настраиваете инфраструктуру и хотите управлять ею, а не разгребать последствия решений десятилетней давности — вам тоже сюда.

Разработчик, девопс, системный инженер, энтузиаст — роли разные, задача одна: не зависеть от чёрных ящиков и иметь контроль над тем, что происходит под капотом.

Это платформа виртуализации, которая:

●     позволяет создавать и управлять виртуальными машинами, сетями и дисками;
●     построена на модульной архитектуре, которую можно понять (и не сойти с ума), даже если вы не читали о DDD.
●     открыта полностью — смотрите код, лезьте руками, пишите — и всё без NDA и корпоративных барьеров.

А теперь — главное. Open vAIR не пытается быть «ещё одним Proxmox'ом». Сравнивать его с VirtualBox или VMware — это как сравнивать отладочную плату с промышленным сервером. Формально — и то и другое запускает виртуалки. Фактически — разный масштаб, гибкость и контроль.

Open vAIR — это не UI поверх KVM. Это архитектурно модульная платформа, которую:

●     можно разобрать, собрать и подогнать под себя;
●     можно дописывать без боли и рефакторить без проклятий;
●     разрабатывают живые люди, с которыми можно поговорить.

Да, Proxmox сегодня даёт больше «из коробки». Но он требует отдельный сервер: ставится как полноценная операционная система и забирает устройство под себя. Open vAIR — это не дистрибутив, а софт, который разворачивается поверх уже существующего Linux — как VMware, только без лицензий и с открытым кодом. Такая модель проще вписывается в инфраструктуру: не нужно выделять железо, чтобы просто попробовать.

Развернули, настроили — и работает вместе с вашей инфраструктурой, а не вместо неё. А если чего-то не хватает — можно дописать. Потому что архитектура это позволяет. И потому что разработчики — не в другой галактике.

Установка и базовые возможности

Open vAIR не требует культа DevOps и пары недель на «подружить всё со всем». Развернуть его можно буквально за обеденный перерыв — если не отвлекаться на мемы.

Что нужно:

  • Ubuntu 20.04 или 22.04;

  • от 16 ГБ оперативной памяти;

  • хотя бы 250 ГБ на диске (влезет и на 100, но удовольствия будет меньше).

Что вы получаете:

  • шесть команд в терминале;

  • четыре минуты установки;

  • работающую систему с веб-интерфейсом и API.

Под капотом — FastAPI, PostgreSQL, RabbitMQ, QEMU, KVM, libvirt, Vue, OpenVSwitch, Restic. Всё это разворачивается как единый monolith, но архитектурно Open vAIR — модульная система: каждый компонент сам за себя, без жёсткой связки и с чёткими границами ответственности.

Сейчас Open vAIR ставится целиком: выбора модулей пока нет, но будет. То, что идёт «по умолчанию», уже покрывает большинство типовых задач:

  • создание и управление виртуальными машинами;

  • настройка сетей (мосты, VLAN, порт-группы);

  • подключение физических дисков, NFS, iSCSI и Fibre Channel;

  • работа с партициями;

  • загрузка ISO- и VFD-образов, создание виртуальных дисков;

  • базовое резервное копирование через Restic;

  • журналирование событий.

А ещё есть Telegram-бот, который отслеживает активность в GitHub-репозитории: изменения в issue, pull request'ах и комментариях. Это отдельный инструмент, не часть Open vAIR, но он помогает держать команду и контрибьюторов в курсе.

А в будущем планируется добавить уведомления уже о событиях самой системы — например действиях внутри Open vAIR: создании BM, ошибках, статусов бекапов и т.п. Пока этого нет, но архитектура позволяет.

Из коробки это не демо и не заготовка — это инструмент. Хотите экспериментировать — пожалуйста. Хотите настроить инфраструктуру — тоже можно. Всё ставится одним скриптом, работает сразу, ломается — с предупреждением.

Архитектура: модули, RPC и как не запутаться

В Open vAIR модульность — это не витрина, а основа. Каждый компонент сам за себя: диски, сеть, образы, ВМ — изоляция соблюдается, архитектура не разваливается.

Взаимодействие между модулями идёт через RPC-паттерн поверх RabbitMQ:

  • rpc_call — когда нужно дождаться ответа (например, создание диска);

  • rpc_cast — когда надо просто отдать команду и идти дальше.

Для тех, кто не хочет погружаться в пучину RabbitMQ, есть прокси-классы. Вызываете метод — и всё. Очереди централизованные, названия прописаны в одном месте — шансов наломать дров минимум.

Если один модуль упал — остальным не страшно. Это не монолит, где один NullPointerException валит весь сервис. Это конструкция из независимых блоков — если один дал трещину, остальные держатся.

Кодовая база выстроена по слоям:

  • entrypoint — ручки API, которые принимают запросы извне;

  • сервис — логика работы;

  • домен — модель и правила;

  • данные — репозитории и unit of work.

Это не просто ради «чистоты». Такой подход реально помогает не запутаться и не перепутать слой бизнес-логики с доступом к базе. Модули независимы. Хочется дописать свой — берёте шаблон, настраиваете очередь, и всё встаёт в архитектуру как родное.

Разработка и отладка — как обычно: дебаггер, логи, ревью глазами. Пока без магии, но без боли. Интеграционные тесты появляются. Документация живёт через Sphinx и Swagger — пример нашли, скопировали, адаптировали.

Над чем работаем:

  • нет шаблонов и клонирования ВМ — в планах на квартал;

  • всё ставится сразу, выбор модулей невозможен — тоже поправим;

  • REST API иногда чересчур щедр — но уже стабилен.

Зато всё лежит по тарелкам. Даже если попался старый или «грязный» кусок — он не размазан по всей системе. Разобраться можно. Переделать — тоже. Главное — не бояться зайти и поправить. Open vAIR этому не мешает. Наоборот, поощряет.

Что уже работает и что в разработке

Open vAIR — не концепт и не демка. Пока это MVP — но не бумажный. Уже используется в продуктах и внутри инфраструктуры компании. Да, не всё идеально — но это честный рабочий инструмент, который живёт, развивается и приносит пользу. Ниже — статус: что готово, что в приоритете, и что можно улучшить.

Уже работает:

  • виртуальные машины: запуск, удаление, настройка;

  • виртуальные сети: мосты, интерфейсы, VLAN через порт-группы;

  • управление физическими дисками и партициями;

  • подключение внешних хранилищ, включая NFS;

  • блочные устройства: iSCSI, Fibre Channel — как отдельный модуль;

  • загрузка ISO-образов, создание виртуальных дисков;

  • бэкап на базе Restic (с обвязкой);

  • журналирование;

  • API и веб-интерфейс доступны сразу после установки.

Порог входа — минимальный: Ubuntu, немного памяти и диск, дальше — один скрипт.

В работе:

  • клонирование виртуалок с сохранением состояния (да, полноценное);

  • шаблоны: чтобы не проходить инсталлятор десять раз подряд;

  • переработка сетевого модуля — чтобы ламеру было труднее случайно сломать сеть одной галкой не в том месте;

  • подготовка к снапшотам;

  • REST API — зачистка, чтобы возвращать только нужное, а не «всё подряд»;

  • выбор модулей при установке (сейчас ставится всё сразу).

Что просят со стороны:

  • полноценный RBAC (ограничения доступа по ролям);

  • более чистый и каноничный REST;

  • сценарии для CI/CD (экшены, автотесты);

  • live migration для KVM;

  • документацию — проще, полнее, с примерами.

Что хотим улучшить в ближайших версиях:

  • нет шаблонов и клонирования — приходится «тыкать» каждый раз вручную;

  • инсталляция «всё сразу» — неудобно, если нужен только кусок;

  • API местами неаккуратен — возвращает лишнее или требует уточнения;

  • автоматизированных тестов пока нет — спасают ревью глазами, линтеры (ruff и mypy) и ручное тестирование;

  • RabbitMQ и PostgreSQL ведут себя хорошо… пока не начинаешь собирать кластер.

Самое важное — всё это можно обсудить с разработчиками напрямую. От вопроса до ответа — минуты, а не часы. Без тикетов, без канцелярщины. Архитектура позволяет влетать и вносить правки. А сам Open vAIR развивается не ради квартального отчёта, а потому что им каждый день кто-то пользуется. Если что-то не так — это становится понятно очень быстро.

Интеграции и автоматизация: API, CI/CD и встраивание в прод

Open vAIR можно встроить в вашу инфраструктуру без перекраивания старого добра. Он не требует отдельной ОС или волшебных скриптов на Perl. Просто ставится, подключается и начинает работать.

Что умеет уже сейчас:

  • Подключать внешние хранилища — хоть локальные диски, хоть NFS-шары.

  • Интегрироваться с Sentry для логирования (если развернёте локально).
    Работать через REST API — да, не до запятой каноничный, но все ключевые сценарии закрывает: создание/удаление ВМ, управление сетями, дисками, образами.

  • Документация на API есть — генерится вместе с кодом, обновляется по мере изменений.

CI/CD пока минимален: GitHub Actions используется только для зеркалирования. В планах — автозаливки и автотесты перед мержем. Но и сейчас можно встроить Open vAIR в свой пайплайн через REST API. Это надёжный обходной путь, пока нет готовых плагинов под Jenkins или другие системы.

Производительность, отказоустойчивость и безопасность

Производительность

Open vAIR не гонится за миллисекундами на слайде — он просто работает. Виртуалки поднимаются за секунды, образы заливаются быстро, API на FastAPI с асинхронкой и RabbitMQ отрабатывает без ощутимых задержек. Специальных метрик вроде «3.24 секунды до запуска ВМ» мы не собирали — просто потому, что в этом пока не было необходимости. Если появится спрос — появятся и цифры.

Отказоустойчивость

Каждый модуль Open vAIR работает независимо. Упал лог — сеть и ВМ продолжают жить. Проблемы с сетью? Диски не в курсе. Изоляция компонентов даёт предсказуемость: вы точно знаете, что и где отвалилось, и чините только это, а не всё подряд.

Live migration (перенос запущенных ВМ между хостами) пока не реализована. Возможность предусмотрена — и в KVM, и в архитектуре Open vAIR. Мы над этим работаем, но точные сроки пока не называем. Снапшоты уже в разработке, когда будут готовы — обязательно расскажем про них.

Безопасность

Open vAIR не стремится прямо сейчас закрыть все требования к информационной безопасности, но базовый уровень уже есть.

Что уже работает:

  • Авторизация через JWT-токены с гибкой настройкой срока действия.

  • SSL-сертификат генерируется при установке — самоподписанный, но рабочий.

  • Логирование включено по умолчанию.

Что ещё в процессе:

  • Ограничения доступа по ролям (RBAC) — запланированы, но не в приоритете на ближайшие релизы.

  • Работа с зонами безопасности, шифрованием и аудитами — на стадии концептов.

Если вы хотите использовать Open vAIR в инфраструктуре с высокими требованиями к безопасности — пока потребуется дополнительная настройка и осторожность. Мы будем рады любым предложениям и контрибьютерам — проект открыт.

Контрибьюторы и кому это точно зайдёт

Проект живой. Не на словах, а по коммитам. Задачи прилетают, баги чинятся, модули допиливаются. В Telegram-ветке — обсуждения, ишью, даже pull request'ы от студентов. Один такой залетел, сам разобрался в архитектуре, сам закрыл таску. Даже не знал, что это называется DDD (и неважно). Потому что архитектура позволяет — не отпугивает, а втягивает.

Кому с нами будет интересно

Не обязательно сеньор из клауд-команды. Если вы умеете пользоваться git и не боитесь заглянуть в чужой код — вы нам подходите. Можно быть студентом, джуном или архитектором на пенсии. Главное — интерес. Остальное можно обсудить: приходите в Telegram или отправьте pull request. Разберёмся вместе.

Где Open vAIR уже заходит:

  • в разработке — для поднятия тестовых окружений и интеграции с сервисами;

  • инфраструктуре — когда нужно управлять виртуалками без оверинжиниринга и скрытых ограничений;

  • в стартапах и R&D — когда важны контроль, гибкость и возможность доработки без бюрократии;

  • в вузах — чтобы показывать архитектуру на живом коде, а не на слайдах.

Где пока не стоит использовать:

  • если у вас прод с миллионами пользователей и SLA с восьмизначными цифрами;

  • если нужен кластер прямо сейчас, а не в следующем квартале;

  • если нельзя жить без RBAC и аудита.

Open vAIR пока не про Enterprise с формализованной безопасностью и трёхуровневыми зонами ответственности. Это рабочий инструмент — для тех, кому нужно быстрое и гибкое решение, которое можно развернуть, пощупать, и — если потребуется — доработать под себя.

Когда мы дорастём до большого и взрослого Enterprise-решения, список выше, скорее всего, станет рекомендациями по использованию. А пока — идём по пути OS-сообщества: делаем то, что действительно нужно, и развиваем то, что просит практика. Если у вас есть схожие боли — посмотрите, может, закроет. Хочется поспорить, добавить, поревьюить или спросить — спускайтесь в комменты. Мы их читаем и даже отвечаем ;-)

Традиционно, полезные ссылки:

Комментарии (3)


  1. dyadyaSerezha
    11.06.2025 05:10

    Удивительно. Пошёл читать первую статью, прочитал главы 3-4 и не понял, что же такое Open vAIR? Там про это ни слова. Вот умеют же люди! Пробовать его даже как-то страшно.


    1. sundmoon
      11.06.2025 05:10

      1) софт для линя, точнее для коробочной убунты.

      2) с функциями энтерпрайз виртуализации, но бесплатный.

      3) с доступной поддержкой.


      1. dyadyaSerezha
        11.06.2025 05:10

        Ну так может, в статье это написать? В первой, в самом начале.