В последние годы российская сфера технологий виртуализации претерпела значительные перемены: после ухода международных корпораций — прежде всего VMware, чьи продукты доминировали на более чем 80% рынка — у местных разработчиков возник шанс заполнить образовавшуюся нишу. Эту возможность попытались реализовать множество фирм, однако о большинстве из них сегодня напоминают лишь записи в реестре отечественного программного обеспечения Министерства цифрового развития.
Разработать систему виртуализации сравнительно просто — даже студент выпускных курсов способен на основе открытого кода собрать элементарный гипервизор с базовым функционалом. Однако создать адаптивную, масштабируемую, защищённую и контролируемую платформу для виртуализации — именно то, что нужно коммерческим предприятиям и крупным организациям, в том числе государственным — чрезвычайно трудно. Даже при использовании готовых открытых проектов вся ответственность за техническую поддержку, развитие и кастомизацию под требования клиентов остаётся на разработчике. Этим объясняется немногочисленность серьёзных участников данного сегмента.
В России ситуация имеет дополнительные особенности. После прекращения деятельности западных компаний и лишения их клиентов технической поддержки и обновлений остро встала проблема перехода на отечественные аналоги, которые должны максимально соответствовать по возможностям и стабильности привычным виртуальным средам, обладать качественным сервисом, иметь разумную стоимость, а в отдельных случаях — позволять развёртывать аттестованные системы. Это дополнительно сужает доступные варианты.
В результате количество компаний, способных полноценно заменить иностранные решения, весьма ограничено, и в текущем году одной из самых заметных среди них стала «Базис». Фирма выпустила важные обновления для ключевых продуктов своей экосистемы, продемонстрировала рынку ряд значимых проектов — включая сотрудничество с Газпромбанком и ВТБ — и по результатам анализа российского рынка виртуализации, проведённого агентством «ТМТ консалтинг», была признана лидером по рыночной доле.
Источник изображений: «Базис»
Что представляет собой экосистема «Базис»? Это независимая от импорта платформа, ключевые продукты которой охватывают традиционную виртуализацию — от элементарных инсталляций и виртуальных рабочих столов до масштабируемых географически распределённых облаков. Дополняют этот перечень специализированные инструменты для администрирования Kubernetes-кластеров, организации DevOps-процессов и создания систем резервного копирования. Комплекс усиливается средствами защиты виртуальных сред, сертифицированными ФСТЭК, механизмами переноса и дублирования информации, а также услугами по внедрению и техническому сопровождению. Далее мы рассмотрим ключевые характеристики, структуру и функционал экосистемы «Базис».
Basis Dynamix
Главным продуктом экосистемы выступает Basis Dynamix, доступный в трёх вариантах: Standard, Enterprise и Cloud Control. Каждая версия имеет модульную архитектуру и отличается комплектацией компонентов и функциональными опциями. Платформа строится на нескольких уровнях: управление, вычисления, хранение и сетевые возможности. Эти слои при необходимости могут масштабироваться автономно.
Базовым элементом всех редакций Dynamix служит vCore, а в сертифицированных версиях добавляется Virtual Security. vCore реализует возможности гипервизора первого типа вместе со всей необходимой средой для выполнения платформенных функций, которые будут описаны далее. В расширенных конфигурациях, помимо vCore, допустимо применение сертифицированных операционных систем. Программный модуль Virtual Security обеспечивает доверенную загрузку виртуальных машин, проверку целостности и изоляции, фиксацию и анализ событий безопасности, управление доступом на основе ролей, а также идентификацию и аутентификацию пользователей. Его основное назначение — построение защищённых инфраструктур.
Аппаратная часть системы разделена на:
- узлы управления, выполняющие задачи оркестрации и отслеживания состояния;
- вычислительные узлы, на которых функционируют гипервизоры, виртуальные машины, контейнеры и виртуальные маршрутизаторы;
- узлы хранения (программно-определяемые на платформе x86) либо внешние системы хранения данных/SAN (iSCSI/FC/NFS).
Все компоненты соединены коммутаторами в сеть данных и сеть управления. Последняя, в частности, включает IPMI/BMC-порты всех узлов. При наличии достаточных аппаратных мощностей можно построить отказоустойчивую конфигурацию с высокой доступностью. Кроме того, поддерживается создание географически распределённых облаков, объединяющих несколько удалённых площадок.
Среди ключевых усовершенствований в крупном обновлении, представившем четвёртую версию Basis Dynamix, выделяется ряд возможностей. Например, система теперь учитывает архитектуру NUMA, что критично для размещения виртуальных машин, поскольку доступ к памяти другого процессора может негативно сказаться на скорости работы. Другая ценная функция — CPU Pinning — даёт возможность закрепить ВМ за определёнными ядрами или процессорами, гарантируя, что все вычисления будут выполняться только на них без перераспределения на другие ресурсы. Виртуальные машины можно объединять в Affinity-группы, которые будут стремиться (или не стремиться) работать в пределах одного узла. Также появилось управление оверсабскрипшн для узлов и ресурсных групп. Добавлена поддержка больших страниц памяти Huge Pages (размером 2 МБ или 1 ГБ) и возможность проброса виртуальных функций (VF) сетевых адаптеров с технологией SR-IOV в виртуальные машины. Кроме того, доступен проброс PCIe-устройств, включая графические процессоры. Для каждой ВМ можно выделить отдельный виртуальный GPU.
Взаимодействие с физическими хранилищами осуществляется либо напрямую (через драйверы или API) с полным контролем над жизненным циклом LUN на системах хранения, либо через универсальный промежуточный слой. Внутри LUN создаются группы виртуальных дисков, которые могут быть загрузочными, использоваться для данных или содержать образы. Доступны функции резервного копирования дисков и создания снимков состояния ВМ. Сетевая инфраструктура включает виртуальные маршрутизаторы и балансировщики нагрузки, при этом сети разделяются на внешние (физические) и внутренние (для коммуникации внутри платформы). Также предусмотрены группы с плавающими IP-адресами, где один IP может быть назначен нескольким виртуальным машинам.
Все перечисленные компоненты — виртуальные машины, диски/образы, сети, балансировщики, vGPU, проброшенные PCI-устройства, VF и прочее — организуются в ресурсные группы. Для таких групп можно настраивать уровень оверсабскрипшн и квоты на общее число vCPU и IP-адресов, объём оперативной памяти и виртуальных томов, доступных для создания ВМ в группе, а также разрешать или блокировать доступ к определённым функциям гипервизора. Дополнительно можно запретить создание конкретных объектов внутри группы.
В ресурсных группах поддерживается формирование базовых служб — одной или нескольких групп полностью идентичных ВМ, развёртываемых, запускаемых и управляемых как единое целое. Это упрощает быстрое развёртывание или обновление наборов сервисов или приложений и может служить основой для платформенных решений, таких как PaaS. Платформа уже включает готовый шаблон для развёртывания кластеров Kubernetes, однако для этой задачи компания также предлагает отдельный продукт Digital Energy, который будет рассмотрен далее.
Любая группа ресурсов относится к определённому учётному профилю — высшему элементу в структуре платформы. Учётный профиль может объединять несколько ресурсных групп, для которых устанавливаются лимиты на создание объектов, активируются возможности гипервизора, задаются коэффициенты оверсабскрайбинга и выделяемые квоты. Здесь же регулируется доступ к виртуальным дискам и системным образам. С учётным профилем связываются пулы хранения данных, сетевые настройки и группы плавающих IP-адресов. К нему же прикрепляются пользователи и администраторы, создаваемые локально или импортируемые через LDAP и OpenID Connect (также поддерживается настройка единого входа SSO). Доступна двухэтапная проверка подлинности через TOTP и SMS-уведомления. Для пользователей, как правило, назначаются права доступа к объектам и REST API с помощью списков контроля доступа.
Поскольку речь зашла об API, стоит отметить, что их здесь представлено значительное количество. Это даёт возможность автоматизировать определённые действия или осуществлять более тонкое управление операциями, выстраивать рабочие цепочки для обслуживания платформы и т.п. Кроме того, предусмотрена интеграция с Terraform/OpenTofu/Ansible и в целом допустимо применение концепции IaC (Infrastructure as Code), построение CI/CD-инфраструктуры и другие сценарии. В версии Cloud Control максимальной комплектации, предназначенной для развёртывания полноценного облака (включая публичные решения) на основе нескольких центров обработки данных с широким спектром услуг IaaS/PaaS/SaaS и разнообразными сервисами, появляются функции самообслуживания (быстрое развёртывание готовых инфраструктурных решений, от виртуальных машин до виртуальных ЦОД), система биллинга, автоматизация бизнес-процессов, формирование аналитических отчётов и другие возможности.
Различия между версиями Dynamix Standard, Enterprise и Cloud Control заключаются главным образом в масштабируемости и наборе функций, а также в условиях лицензирования и возможности прохождения сертификации ФСТЭК. Редакция Standard предназначена для небольших организаций или обособленных подразделений. Она функционирует исключительно с vCore, не предусматривает управления Kubernetes и предлагает более простую версию панели управления vControl по сравнению с другими конфигурациями. Лицензирование Standard осуществляется исходя из числа двухсокетных серверных узлов.
Редакция Enterprise нацелена на крупные предприятия с частными корпоративными облачными средами, включая государственные структуры и объекты критической информационной инфраструктуры. Именно в этой версии реализован весь описанный выше основной функционал, а также предусмотрено более гибкое управление программно-аппаратным комплексом. Лицензирование происходит по общему объёму оперативной памяти, поскольку это единственный ресурс, для которого невозможно обеспечить оверсабскрайбинг без негативных последствий, и по физической ёмкости узлов хранения. Дополнительно оплачивается возможность нативной интеграции с совместимыми внешними системами хранения. Наконец, конфигурация Cloud Control лицензируется по количеству сокетов. Её можно рассматривать как развитие Enterprise-версии, особенно востребованное среди облачных провайдеров.
Разработчик может настроить корпоративную платформу согласно требованиям клиента и, по сути, применяет её как фундамент для двух дополнительных продуктов. Но об этом мы подробнее расскажем далее, а сейчас обратим внимание на две ключевые взаимодополняющие разработки: Virtual Security и Virtual Protect.
Basis Virtual Security
Basis Virtual Security — это инструмент для обеспечения безопасности виртуальных сред и облачных систем, обладающий сертификацией ФСТЭК и предназначенный для построения аттестованных комплексов. Фактически, продукт работает не только с решениями «Базис», но и с другими платформами виртуализации на основе KVM/QEMU. В настоящее время компания также разрабатывает специализированные версии Dynamix с Virtual Security — автономные виртуальные среды с определённым функционалом и набором защитных механизмов.
Защита здесь подразумевает в первую очередь управление изоляцией и доступом, верификацию целостности и регистрацию событий безопасности (с опцией выгрузки в сторонние системы), но не включает, к примеру, антивирусные средства или системы обнаружения атак, для которых необходимы отдельные продукты. Basis Virtual Security использует агенты, инсталлируемые напрямую на вычислительные узлы. Они непрерывно анализируют состояние аппаратного обеспечения, виртуальных машин и гипервизора, а также отслеживают все коммуникации на сетевом и канальном уровнях (для подтверждения подлинности соединений), взаимодействие ВМ с информацией, внешними ресурсами и друг с другом.
Для виртуальных машин производится расчёт и сверка контрольных сумм конфигурационных файлов, виртуального BIOS/UEFI и исполняемых файлов гостевой ОС, а также указанных файлов и каталогов внутри гостевой системы. Это выполняется как при создании и запуске ВМ, так и в процессе их функционирования и миграции. Также контролируется, какие программные компоненты разрешено запускать. Дополнительно, при использовании Virtual Security в сертифицированной операционной системе, доступна проверка цифровых подписей программных модулей (например, от производителей). Наконец, обеспечивается управление доступом к API защищаемых систем и к СУБД Postgres Pro.
Ещё одна возможность Basis Virtual Security — это администрирование пользователей, их идентификация и аутентификация, распределение прав доступа к объектам, операциям и настройкам, разделение виртуальной инфраструктуры на уровне пользователей и ВМ как логически (выбранные виртуальные машины), так и физически (определённые вычислительные узлы), а также создание резервных копий конфигурации виртуальной среды.
Для упрощения доступа реализована единая система входа с возможностями LDAP (включая федеративные подключения и Kerberos) и OpenID Connect. Кроме того, предусмотрена интеграция с Единой системой идентификации и аутентификации. Эти механизмы существенно облегчают управление большим числом пользователей, позволяя централизованно контролировать пароли и учетные записи (включая неактивные). Для усиления безопасности входа предусмотрена двухфакторная аутентификация через одноразовые пароли или токены.
Basis Virtual Protect
Платформа Basis Dynamix включает базовые инструменты защиты данных, такие как моментальные снимки виртуальных машин и резервное копирование виртуальных дисков, но их возможности ограничены. Хотя через API платформы можно создать собственную систему резервирования, практичнее использовать готовое решение. Продукт Virtual Protect от Basis как раз предназначен для регулярного создания резервных копий и восстановления Kubernetes-кластеров, виртуальных машин, отдельных дисков ВМ, а также файлов и каталогов внутри виртуальных машин на платформе Dynamix, включая управление жизненным циклом бэкапов. Решение может быть развернуто в виде Kubernetes-кластера, на физическом сервере или внутри виртуальной машины.
Для Kubernetes-кластеров поддерживается сохранение конфигурации кластера, полного состояния кластера, отдельных пространств имен, меток, ресурсов (включая тома PV с созданием снимков) или групп ресурсов. Сформированные резервные копии подвергаются сжатию и направляются в любое S3-совместимое хранилище. Помимо непосредственного резервирования, этот механизм позволяет перемещать или клонировать кластеры внутри облачной платформы, а также выполнять миграцию на другие платформы.
Для работы с виртуальными машинами на узлы гипервизора устанавливается специальный модуль ядра. В среде Dynamix перечень ВМ определяется автоматически. Для виртуальных машин доступен выбор дисков для копирования, при этом после формирования полной копии возможно добавочное резервирование. Копии сохраняются во внешнем NFS-хранилище или в собственном хранилище Dynamix. Как и в случае с кластерами, резервные копии ВМ могут использоваться для клонирования или переноса. Для резервирования отдельных файлов или каталогов внутри ВМ требуется установка специального агента.
Virtual Protect предоставляет возможность настраивать пользователей и их группы с применением ролевой системы прав. Данное решение интегрируется с учётными записями Dynamix. Кроме того, встроенный планировщик позволяет устанавливать график создания резервных копий, включая выбор дней недели и точного времени. Для выполнения таких операций, как резервирование блочных устройств виртуальных машин, восстановление данных из бэкапов или настройка расписания копирования, в Virtual Protect доступен программный интерфейс (API). Лицензирование продукта осуществляется исходя из объёма защищаемых данных, количества кластеров Kubernetes и виртуальных дисков.
Basis Digital Energy
Как уже отмечалось ранее, Basis Digital Energy служит примером того, что можно реализовать самостоятельно на базе платформы Dynamix Enterprise, однако гораздо удобнее получить полностью готовую среду Dev(Sec)Ops для непрерывной разработки и развёртывания (CI/CD), удобного администрирования кластеров Kubernetes и мониторинга — пиши код, собирай, тестируй, внедряй, масштабируй. По сути, это готовое решение можно охарактеризовать как PaaS для Kubernetes.
На практике Basis Digital Energy позволяет в несколько кликов развернуть кластер, включающий постоянно расширяемый набор взаимосвязанных приложений и инструментов, таких как GitLab, Jenkins, Istio, HashiCorp Vault, Nexus, Harbor, Monit и другие. Для большего удобства можно дополнительно развернуть корпоративный мессенджер, систему управления задачами, установить соответствующие плагины в среду разработки и т.д. При этом система автоматически отслеживает установку, обновление и функционирование всех компонентов и инструментов, заранее выявляя и предупреждая о возможных проблемах.
Главное достоинство Basis Digital Energy — это лёгкость взаимодействия со средой и освобождение от рутинных задач, не связанных напрямую с разработкой, а также оптимальное использование доступных аппаратных ресурсов. Решение совместимо с любым поставщиком Kubernetes-кластеров, однако наилучшая интеграция достигается именно с Dynamix Enterprise — именно в выбранных ресурсных группах привязанных аккаунтов происходит вся инфраструктурная «магия». Digital Energy позволяет регистрировать пользователей и группы с ролевой моделью доступа, а также задействовать функции Virtual Security для управления и защиты доступа и Virtual Protect для резервного копирования.
Basis Workplace
Basis Workplace — это ещё одна ключевая разработка в рамках экосистемы «Базис», предоставляющая полноценную VDI-платформу для безопасного доступа к виртуальным рабочим столам, терминальным серверам, отдельным программам или физическим компьютерам на Windows или Linux. Подключение осуществляется с клиентских устройств под управлением тех же ОС (в любых сочетаниях) через протоколы VNC, RDP и RX (Etersoft). Платформа поддерживает работу с графическими ускорителями (что важно для CAD/CAE), обмен файлами и буфером обмена с клиентом, кроссплатформенную печать, а также перенаправление USB-устройств (например, ключей или веб-камер), смарт-карт и токенов (ESMART Token ГОСТ, Рутокен ЭЦП 2.0, eToken, JaCarta) и аудиопотоков (ввод и вывод).
Basis Workplace обладает гибкими возможностями управления пользователями и группами, а также поддерживает интеграцию со сторонними LDAP-серверами (включая несколько доменов), такими как Active Directory, FreeIPA, OpenLDAP, ALD Pro и SambaDC. Платформа совместима с пулами ресурсов VMware, Openstack и «Р-Виртуализация», но наиболее тесная интеграция достигается с Basis Dynamix или vCore. Архитектурно решение включает бэкенд, диспетчер подключений, агент для гостевых систем и клиент. Первые два компонента допускают множественное развёртывание, обеспечивая горизонтальное масштабирование — разработчик заявляет о поддержке до 16 тысяч сеансов! Также доступна высокодоступная конфигурация на нескольких серверах и создание географически распределённой VDI-инфраструктуры.
Клиенты подключаются не напрямую к ресурсам, а через диспетчер подключений, что добавляет уровень безопасности и обеспечивает балансировку нагрузки. Для аутентификации можно применять логин и пароль, X.509-сертификат (на смарт-карте или токене) или их комбинацию, а также логин/пароль с одноразовым кодом. Реализован сквозной вход: аутентификация в Workplace по сертификату на смарт-карте с последующей авторизацией в гостевой ОС (только Linux) по паролю с той же карты. Управление паролем на смарт-карте в этом случае возможно непосредственно из Workplace. Кроме того, система регистрирует устройства доступа (ПК, ноутбуки, тонкие клиенты), для которых при первом подключении формируется уникальный HWID на основе идентификаторов оборудования. При замене компонентов, например накопителя, доступ с такого устройства блокируется.
Для паролей можно установить период годности, активировать обязательное изменение при первоначальной авторизации, определить допустимый набор символов, а также ограничить количество ошибочных попыток ввода до автоматической блокировки аккаунта. Пользователей разрешается объединять в категории для упрощенного управления разрешениями. Платформа также поддерживает создание локальных групп из внешних каталогов пользователей, не находящихся под прямым контролем администратора Workplace. Стоит отметить, что для администраторов предусмотрено несколько категорий с разными уровнями привилегий.
Виртуальные рабочие пространства создаются на основе предварительно настроенных пулов ресурсов vCore, VMware, Openstack и «Р-Виртуализация». Доступны три категории рабочих столов: персональные, сессионные и физические.
Персональные рабочие столы формируются из индивидуальных шаблонов виртуальных дисков с уникальной конфигурацией под специальные требования. Эти рабочие пространства закрепляются за определенными пользователями и сохраняют все изменения после завершения сеанса. Полуавтоматические пулы создаются из единого базового шаблона. Каждое рабочее место в таком пуле закрепляется за конкретным пользователем и сохраняет свое состояние при завершении работы.
Сессионные рабочие столы, также создаваемые из общего шаблона, доступны всем пользователям пула, при этом изменения могут сохраняться или сбрасываться в зависимости от конфигурации пула. Для сессионных пулов предусмотрена возможность создания рабочих мест на основе облегченных копий виртуального диска исходного шаблона. Также доступна функция горячего резервирования — заранее развернутые рабочие столы, готовые к подключению пользователей. Дополнительной опцией является закрепление статического IP-адреса внутренней виртуальной сети за пользователем, что может применяться для управления сетевым доступом к другим ресурсам.