Привет, Хабр! На связи команда виртуализации Astra Cloud.
Обновление Astra Cloud Platform будет уже скоро (спойлер: в мае). Мы готовимся к этому основательно, но уже сейчас нам есть, чем поделиться. В частности, в составе платформы серьезно апгрейдился ключевой компонент виртуализации — ПК СВ «Брест».
Если вы администрируете системы виртуализации — этот материал для вас. Будет много про удобство, про мастера, про бэкенд и про то, как мы учитывали пожелания администраторов, когда меняли интерфейс. Готовы?)

Больше, чем просто виртуализация
Немного исторической справки. ПК СВ «Брест» в 2024 году получил сертификат ФСТЭК России как программное обеспечение виртуализации. Это по‑прежнему защищенная виртуализация, которая интегрирована со средствами защиты информации, встроенными в Astra Linux Special Edition (механизмами взаимодействия с МРД и МКЦ).
Но любой хороший продукт должен эволюционировать. Поэтому сегодня ПК СВ «Брест» — это основа платформы Astra Cloud, в состав которой также входят:
контроллер домена;
система резервного копирования;
портал самообслуживания;
мониторинг.
В предстоящем релизе к списку добавятся:
IAM (управление идентификацией и доступом);
SDN (программно-определяемая сеть);
возможность подключения SDS TROK, о котором мы писали ранее;
контейнеризация «Боцман».
Таким образом, у нас получается полноценная облачная платформа, которая закрывает широкий круг задач.
Но у любого продукта есть лицо — интерфейс, через который администраторы и пользователи взаимодействуют с ресурсами. И если раньше ПК СВ «Брест» использовался преимущественно как классическая система виртуализации, то с выходом на уровень облачной платформы требования к интерфейсу кардинально изменились. В составе Astra Cloud системе виртуализации предстояло стать не просто удобным инструментом для администратора, а масштабируемой, интерактивной и интуитивной средой, готовой к интеграции с другими компонентами. Именно это подтолкнуло нас к полной переработке интерфейса.
Предпосылки к смене имиджа
Управление виртуальной средой (узлами, хранилищами, виртуальными машинами, сетями, дисками) процесс сложный. С одной стороны, интерфейс должен отражать логику работы системы «под капотом» (qemu/kvm — наша база), с другой — быть интуитивно понятным, чтобы администратор мог быстро и без ошибок выполнять задачи, от которых зависит работа многих пользователей.
Необходимость в разработке нового интерфейса возникла не только из‑за желания добавить функционал, но и из‑за технологических ограничений прежнего стека. Мы получали много запросов на интерактивность и динамические элементы. В старой парадигме их можно было реализовать, но это создало бы проблемы при дальнейшем переходе в облако.
Торжественно клянемся, что мы заботимся о пользователях
Нельзя просто так взять и переработать дизайн. Чтобы создать удобный интерфейс и не потерять доверие, мы привлекли UX/UI-исследователей из «Группы Астра», а также коллег из департамента внедрения и сопровождения — тех отважных сотрудников, кто принимает на себя все запросы от пользователей и знает их пожелания, скопившиеся за несколько лет активного использования в самых нагруженных условиях.
Вместе мы определили наиболее частые сценарии при работе с нашей системой:
работа с шаблонами виртуальных машин и самими ВМ;
создание хранилищ и сетей;
наблюдение за состояниями и подключение к ВМ;
работа с логами.
Также, учли еще один важный фактор — соотношение «опытных» и «неопытных» администраторов. Статистика показала, что среди них есть те, кто уже работал с OpenStack и VMware, и те, кто пришел из более простых интерфейсов (Proxmox, oVirt).
Хорошо, что мы так сделали и не прогадали: запрос на упрощенный интерфейс для специалистов с начальным опытом оказался востребованным. Именно так возникла идея реализовать мастера (визарды) для типичных сценариев.
Плюс, мы провели онлайн-опрос по визуальному восприятию интерфейса различных систем виртуализации. В нем участвовало 116 респондентов, которым показывали три варианта оформления главной страницы и страницы со списком виртуальных машин.

Результат: лучшим оказался вариант, который уже использовался в предыдущей версии (он набрал 62% голосов). Это показало, что сложившийся удачный дизайн не нужно кардинально менять. Поэтому мы решили направить усилия на доработку отдельных элементов и повышение интерактивности.
Закончились ли наши исследования на этом? Конечно же нет) В данном случае подушнить было очень нужно.
Мы провели качественное исследование систем виртуализации, по результатам чего сформировали сценарии для пользователей с разным опытом, выявляли плюсы и минусы работы в каждой.
Инсайты:
Принципиально новые подходы к дизайну сложной системы негативно воспринимаются профессионалами (и, наоборот, лучше новичками). Поэтому яркие цвета, анимация переходов, «плоские» элементы без подсветок для варианта дизайна в стиле FireEdge (OpenNebula 6.6) — все это было отклонено и оказалось сомнительным.
При выборе нового дизайна стоит опираться на ценности, которые пользователи ассоциируют с VMware: «неувядающая классика», логичность структуры, групповые операции.
Вновь подтвердилась идея переключения между упрощенным и полным режимом интерфейса — то, что мы реализовали в виде мастеров.
Таким образом, у пользователей уже сформировались привычные сценарии эксплуатации нашей системы. Мы поняли, что требуется переработка с использованием успешных элементов и целых модулей, при этом — необходимо перенести весь интерфейс на новый стек и учесть возможность добавления функционала в будущем.
Переработка интерфейса
Команда продуктового дизайна взяла все выводы из исследования в дело. Им удалось освежить и облегчить интерфейс, сохранив узнаваемость привычных блоков.
Отдельное внимание уделили шрифтовой работе, группировке элементов и наложению фильтров. Это то, что используется не каждый день, но сильно влияет на восприятие, когда количество ресурсов исчисляется сотнями.
Мастер, который визард, в одном окне
Давайте здесь все-таки выровним контекст. Что бы без «окей, гугл, что такое визард».
Так вот. Мастер (или wizard, кому как нравится) — это способ упростить взаимодействие с системой. Главное найти баланс между функциональностью и скрытием деталей для неопытных пользователей в его реализации.
Создание виртуальной машины — самый типичный сценарий в нашей системе виртуализации, который только имеется, но, вдобавок, и самый насыщенный параметрами. Что тут можно было сделать для удобства? Необходимые и часто используемые атрибуты мы вынесли в основной раздел, вместо всплывающих подсказок добавили понятный текст.

В мастере мы реализовали подход «одного окна». Теперь весь процесс разбит на четыре шага, при этом функции, зависящие от других сущностей, можно задать без переключения в другие разделы. Например, если образ для ВМ еще не загружен в хранилище — его можно загрузить прямо во всплывающем окне.

Такой же подход используется для подключения сетевых адаптеров и виртуальных сетей — новые сети и диапазоны IPv4/IPv6 адресов можно задавать по ходу дела. А еще мы сняли ограничение на использование шаблона. Если он не требуется, то можно создавать экземпляр ВМ напрямую.
Мастер многофункционален. Было бы странно оставить его только с одним набором повелеваний. Визард также реализован и для более сложных сценариев, когда требуется отдельное создание шаблона ВМ, виртуальных сетей и т.д.


Что изменилось под капотом или немного технины
Главным вызовом при реализации нового интерфейса стало создание нового backend-слоя с полноценным REST API и возможностью частичной реализации логики оркестратора.
Для взаимодействия с базой данных и ядром системы мы внедрили паттерн CQRS (Command Query Responsibility Segregation), что позволило добавить интерактивность и динамичность. Например, статусы жизненного цикла виртуальных машин теперь обновляются автоматически без перезагрузки страницы, даже при высокой нагрузке.

По сути, этот слой стал хорошей заготовкой для middleware, способной разрешать контекст облачной платформы. Но это потом, на следующем этапе погружения наших компонентов в состав IaaS.
Круто, что новая архитектура и стек открывают нам двери в новый мир возможностей развития и добавления ряда функций:
интерактивность при создании хранилищ, сетей, настройке CPU/RAM;
динамическое отображение статуса загрузки образов, резервного копирования и восстановления;
безопасность и ограничения доступа — адаптация интерфейса под различные сценарии использования и возможности контроля доступа, которые предоставляет Astra Linux.
Это только часть большой работы. В следующих статьях цикла расскажем о том, как мы автоматизировали резервное копирование виртуальных машин, чтобы администратору больше не приходилось запускать бэкапы вручную и держать все в голове. Система сама делает это по расписанию — надежно и без лишних усилий.
А пока делитесь впечатлениями. Комментарии открыты для вопросов и обсуждений.
MEGA_Nexus
Нет. У вас на первом скриншоте Astra Cloud в колонках ЦПУ, Память, Диск везде указано 500 Мб/сек. Хотя единицы измерения Мб/сек применимы только к Сеть.
Нагрузка на все эти ресурсы указана 15%, что очевидно не является правдой.
Вместо Название кластера у вас написано не его имя, а заглушка "название кластера". С название хоста аналогичная проблема.
По факту получается, что весь скриншот нарисован дизайнером, а не взят из реального продукта.
На втором и остальных скриншотах видны уже все меню и таких проблем там нет.
В остальном же, чтобы понять, насколько удобный или неудобный интерфейс у вас получился, нужно самому его начать использовать. Мне, например, после опыта работы с VMware vSphere, нужно какое-то время, чтобы разобраться в вашем продукте и понять, где и в каких меню у вас всё расположено.
Светлый интерфейс для меня норм, но кто-то может захотеть тёмную тему, так что этот вопрос лучше доработать сейчас, когда разработка этого меню ещё не закончилась.
astra_cloud Автор
Спасибо, что заметили. Скриншот, о про который вы спрашиваете, — это дизайн дашборда с наполнением тестовыми данными. Мы хотели показать, как мы пришли к реализации нового интерфейса на этом примере, чтобы было понятно наглядно (как может выглядеть удобство дашборда при первом приближении, то есть после создания дизайна).
Остальные скриншоты ниже взяты уже с реальными нагрузками боевой инфраструктуры.
Будем рады, если начнете активно использовать наше решение)
astra_cloud Автор
Мы удалили изображение, чтобы не вводить других читателей в заблуждение. Еще раз спасибо, что заметили.