За последние несколько лет российский рынок виртуализации серьезно изменился: после ухода зарубежных компаний — в первую очередь, VMware, чьи решения занимали более 80 % рынка — у отечественных разработчиков появилась возможность занять освободившееся пространство. Этим попытались воспользоваться десятки компаний, но о существовании большей их части напоминают только строчки в реестре отечественного ПО от Минцифры.
Сделать систему виртуализации относительно несложно, даже студенту старших курсов под силу создать на базе открытого ПО простенький гипервизор с минимальной обвязкой. Создать гибкую, масштабируемую, безопасную и управляемую платформу виртуализации — то есть именно то, что требуется бизнесу и крупным структурам, включая государственные — невероятно сложно. И даже если начинать всё не с нуля, а взять за основу какой-то открытый общедоступный проект, вся ответственность за сопровождение, развитие и доработку под нужды заказчиков всё равно ложится на разработчика. Именно поэтому крупных игроков на этом рынке не очень много.
В России же есть своя специфика. После ухода западных игроков и отлучения их клиентов от технической поддержки и обновлений остро стоит вопрос перехода на отечественные решения, которые должны по возможности не отставать по функциональности и надёжности от уже привычных виртуальных сред, иметь развитую поддержку и обходиться не в заоблачные суммы, а в ряде случаев ещё и давать возможность создавать аттестованные системы. Это ещё сильнее сокращает выбор.
В итоге тех, кто готов всерьез заместить на рынке иностранные решения, можно пересчитать по пальцам, и в этом году одним из наиболее активных игроков был «Базис». Компания выпустила значимые обновления флагманских продуктов своей экосистемы, представила рынку несколько примечательный кейсов — в частности, с Газпромбанком и ВТБ, — и по итогам исследования аналитического агентства «ТМТ консалтинг» российского рынка виртуализации была признана крупнейшим игроком по доле рынка.
Что же предлагает «Базис»? Импортонезависимую экосистему, флагманские решения которой обеспечивают классическую виртуализацию — от простых развёртываний и VDI до целых геораспределённых облаков, — а также ряд целевых решений для работы с Kubernetes-кластерами, построения DevOps-конвейера, резервного копирования. Перечисленное дополняют сертифицированные ФСТЭК средства защиты виртуальных сред, инструменты миграции и репликации данных, а также сервисы внедрения и поддержки. Об основных особенностях, архитектуре и возможностях экосистемы «Базиса» и пойдёт речь.
Basis Dynamix
Первым флагманским решением экосистемы компании является Basis Dynamix, который представлен в трёх конфигурациях: Standard, Enterprise и Cloud Control. Все они являются модульными и различаются набором компонентов и возможностей. Архитектура платформы включает несколько «слоёв»: управление, вычисления, хранение и сеть. Они при необходимости масштабируются независимо друг от друга.
Общим компонентом всех конфигураций Dynamix является vCore, а сертифицированных конфигураций — еще и Virtual Security. vCore предоставляет функции гипервизора I типа со всем необходимым окружением для реализации функций платформы, о которых будет сказано ниже. В старших конфигурациях помимо vCore допускается использование сертифицированной ОС. Программное решение Virtual Security отвечает за доверенную загрузку ВМ, контроль целостности и изоляции, регистрацию и аудит событий безопасности, управление доступом по ролевой модели, идентификацию и аутентификацию пользователей. Он нужен в первую очередь для создания защищённых решений.
Аппаратно же инфраструктура делится на:
- узлы управления, отвечающие за оркестрацию и мониторинг;
- вычислительные узлы, на которых запускаются гипервизоры, виртуальные машины и контейнеры, а также работают виртуальные маршрутизаторы;
- узлы хранения (программно-определяемые на мощностях x86) или внешние СХД/SAN (iSCSI/FC/NFS).
Все они объединены коммутаторами в сеть данных и в сеть управления. Последняя, например, включает и IPMI/BMC-порты всех узлов. При наличии достаточных аппаратных ресурсов нетрудно сформировать и отказоустойчивую HA-конфигурацию. Более того, возможно и формирование геораспределённых облаков, растянутых на несколько удалённых площадок.
Из важных нововведений в мажорном релизе, в рамках которого было представлено четвёртое поколение Basis Dynamix можно отметить несколько функций. Так, платформа теперь знает о NUMA-системах, что важно при размещении виртуальных машин, т.к. обращаться к памяти соседнего CPU может быть дорого с точки зрения производительности. Ещё одна полезная опция, CPU Pinning, позволяет привязать ВМ к ядрам или процессорам так, что вся нагрузка будет выполняться именно на них, не попадая и не перемещаясь на другие ядра или CPU. Из ВМ можно сформировать Affinity-группу, которая будет (или не будет) пытаться работать на одном узле. Есть и возможность управления переподпиской для узла и ресурсных групп. Также появилась опция поддержки больших страниц памяти Huge Pages (2 Мбайт или 1 Гбайт) и проброс в ВМ виртуальных функций (VF) для сетевых адаптеров с SR-IOV. Впрочем, есть и проброс PCIe-устройств, в том числе GPU. Можно выделить один vGPU на каждую ВМ.
С физическими хранилищами платформа общается либо нативно (через драйвер или API), полностью управляя всем жизненным циклом LUN’ов на СХД, либо через универсальную прослойку. Внутри LUN’ов формируются группы виртуальных дисков, а сами диски могут быть загрузочными, для хранения данных или образами. Есть функции резервного копирования дисков и моментальных снимков ВМ. Наконец, за сетевую функциональность отвечают виртуальные маршрутизаторы и балансировщики нагрузки, а сами сети делятся в первую очередь на внешние (физические) и внутренние (для взаимодействия внутри платформы). Также есть полезная сущность в виде группы с плавающим IP-адресом (нескольким ВМ может быть присвоен один IP).
Все вышеперечисленные объекты — ВМ, диски/образы, сети, балансировщики, vGPU, проброшенные PCI-устройства, VF и т.д. — формируются в так называемые ресурсные группы, для которых можно задать уровень переподписки и квоты по суммарному количеству vCPU и IP-адресов, объёму RAM и виртуальных томов, которые будут доступны для создания ВМ в рамках группы, а также дать или запретить доступ к некоторым функциями гипервизора. Кроме того, можно запретить создание выбранных объектов в рамках группы.
В рамках ресурсной группы возможно создание т.н. базовых служб, т.е. одной или нескольких групп полностью идентичных ВМ, развёртываемых, запускаемых и управляемых одновременно. Это удобно для быстрого развёртывания или обновления заданного комплекта сервисов или приложений и может стать основой, например, для PaaS. В составе платформы уже есть готовый шаблон для создания Kubernetes-кластеров, но вообще конкретно для этой задачи компания предлагает отдельное решение Digital Energy, о котором ниже.
Каждая ресурсная группа принадлежит к одному т.н. аккаунту, самому верхнему объекту в иерархии платформы. Аккаунт может включать несколько ресурсных групп, для которых также задаются ограничения на создание объектов, включаются функции гипервизора, определяются коэффициент переподписки и квоты. Но также здесь ограничивается и доступ к виртуальным дискам и образам. К аккаунту привязываются пулы хранения, сети и группы плавающих IP. И к нему же привязываются пользователи и администраторы, которые заводятся локально или же приходят по LDAP или OpenID Connect (SSO тоже можно организовать). Доступна двухфакторная аутентификация посредством TOTP и SMS. Для пользователей, как обычно, задаются права доступа к объектам и REST API посредством ACL.
И раз уже упомянули про 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 ориентирована на крупные организации с частными корпоративными облаками, в том числе для госслужб и КИИ. Именно в ней реализована вся описанная выше ключевая функциональность и есть более гибкое управление всем программно-аппаратным комплексом. Лицензируется она по суммарному объёму RAM, поскольку это единственный ресурс, для которого сделать переподписку без ущерба чему-либо не представляется возможным, и по «сырой» ёмкости узлов хранения. Также оплачивается возможность нативной работы с совместимыми внешними хранилищами. Наконец, конфигурация Cloud Control лицензируется по сокетам. Её в принципе можно рассматривать как расширение Enterprise-версии, актуальное для облачных провайдеров.
Разработчик готов адаптировать 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 — это управление пользователями, их идентификация и аутентификация, распределение прав доступа к объектам, действиям и параметрам, сегментирование виртуальной инфраструктуры на уровне пользователей и ВМ на логическом (выбранные ВМ) и физическом уровне (выбранные вычислительные узлы), а также резервное копирование конфигурации виртуальной инфраструктуры.
Для удобства работы доступен SSO с поддержкой LDAP (в том числе федеративных и с Kerberos) и OpenID Connect. Более того, доступна даже интеграция с ЕСИА. Всё это значительно упрощает работу с множеством пользователей и позволяет, например, наладить централизованное управление паролями и аккаунтами (в том числе и неактивными). Для дополнительной защиты входа есть двухфакторная аутентификация с использованием OTP или токенов.
Basis Virtual Protect
Basis Dynamix предоставляет базовые возможности по защите данных вроде мгновенных снимков ВМ или резервного копирования виртуальных дисков, но этого может быть недостаточно. Посредством API платформы можно гибко настроить собственную систему резервного копирования, но гораздо проще воспользоваться готовым решением. Basis Virtual Protect как раз и предназначено для регулярного резервного копирования и восстановления кластеров 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-кластерами и мониторинга — пиши, собирай, тестируй, внедряй, масштабируй. В общем, данное коробочное решение можно назвать K8s PaaS.
На практике же Basis Digital Energy позволяет в несколько кликов развернуть кластер, состоящий из постоянно пополняющегося списка провязанных между собой приложений и инструментов, среди которых есть GitLab, Jenkins, Istio, HashiCorp Vault, Nexus, Harbor, Monit и т.д. А для максимального удобства можно рядышком развернуть корпоративный чат, таск-трекер, установить плагины в IDE и т.п. При этом решение самостоятельно отслеживает установку, обновление и работу всех компонентов и инструментов и выявляет возможные проблемы, заранее предупреждая о них.
Основное преимущество Basis Digital Energy — это простота работы с окружением и отход от рутинных задач, не связанных напрямую с разработкой, а также возможность наиболее полно использовать имеющиеся аппаратные ресурсы. Решение в целом можно использовать с любым провайдером Kubernetes-кластеров, но конкретно с Dynamix Enterprise оно интегрировано лучше всего — как раз в выбранных ресурсных группах привязанных аккаунтов и происходит вся инфраструктурная «магия». Digital Energy позволяет завести пользователей и группы пользователей с ролевой моделью доступа, а также задействовать возможности Virtual Security для управления и защиты доступа и Virtual Protect для резервного копирования.
Basis Workplace
Basis Workplace — второе флагманское решение экосистемы «Базис», которое предлагает полноценную VDI-платформу, позволяющую безопасно подключаться к виртуальным рабочим столам, терминальным серверам, отдельным приложениям или физическим ПК под управлением Windows или Linux с клиентов под управлением опять-таки Windows или Linux (причём в любых комбинациях) по протоколам VNC, RDP и RX (Etersoft). При этом доступны поддержка GPU (актуально, например, для CAD/CAE), обмен файлами с клиентом и общий буфер обмена, кроссплатформенная печать, а также проброс USB (например, ключей или веб-камер), смарт-карт/токенов (ESMART Token ГОСТ, Рутокен ЭЦП 2.0, eToken, JaCarta) и аудио (и вход, и выход).
Basis Workplace предлагает довольно гибкую систему управления пользователями и их группами, но доступна и интеграция с внешними LDAP-серверами (в том числе со множеством доменов), включая Active Directory, FreeIPA, OpenLDAP, ALD Pri и SambaDC, а также работа с пулами ресурсов VMware, Openstack и «Р-Виртуализация». Но, конечно, наилучшая интеграция доступна именно с Basis Dynamix или vCore. Архитектурно платформа состоит из бэкенда, диспетчера подключений, агента для гостевых систем и клиента. Для первых двух компонентов возможно множественное развёртывание, что обеспечивает горизонтальное масштабирование платформы — разработчик говорит об обслуживании 16 тыс. подключений! Также доступно HA-развёртывание на нескольких хостах и даже формирование геораспределённой VDI-инфраструктуры.
Клиенты подключаются не напрямую к ресурсам, а через диспетчер подключений. Это одновременно и дополнительный уровень защиты, и балансировка нагрузки. Для аутентификации пользователей можно использовать логин-пароль и/или X.509-сертификат (на смарт-карте или токене) или их сочетание, а также логин/пароль + OTP. Доступен даже сквозной вход: аутентификация в Workplace по сертификату на смарт-карте с последующей авторизацией в гостевой ОС (только Linux) по паролю с той же смарт-карты. Причём управлять паролем на смарт-карте в этом случае можно непосредственно из Workplace. Кроме того, в систему заводятся и устройства доступа (ПК, ноутбук, тонкий клиент), для которых при первом подключении генерируется уникальный HWID на основе ID основного «железа». При попытке замены, например, накопителя Workplace просто не допустит устройство.
Для паролей пользователей можно указать срок действия, включить принудительную смену при первом входе, задать словарь (какие символы допустимы), а также количество попыток ввода неверного пароля до автоматической блокировки пользователя. Пользователей можно объединить в группы для удобства распределения прав. Кроме того, Workplace позволяет объединять в отдельные локальные группы пользователей из внешних каталогов, над которыми прямого контроля у администратора Workplace нет. Для администраторов, к слову, тоже предусмотрено несколько ролей с различными правами доступа.
Виртуальные рабочие столы формируются на базе заранее созданных пулов ресурсов (ресурсных групп) vCore, VMware, Openstack и «Р-Виртуализация». Есть три типа рабочих столов: персонализированные, сессионные и физические.
Персонализированные создаются на основе индивидуальных шаблонов (образов виртуальных дисков) с уникальной конфигурацией под конкретные задачи. Такие рабочие столы закрепляются за каждым пользователем, а при завершении их работы все внесённые изменения сохраняются. Полуавтоматический пул рабочих столов формируется из одного-единственного шаблона. Рабочие столы точно так же закрепляются за конкретными пользователями и сохраняют состояние при завершении работы.
К сессионным рабочим столам, тоже создаваемым из единого шаблона, будут иметь доступ все пользователи пула, а изменения рабочего стола при завершении работы могут как сохраняться, так и не сохраняться в зависимости от настроек самого пула. Для сессионного пула есть опция создания столов на базе легковесных копий виртуального диска исходного шаблона. Для такого пула также доступен горячий резерв, то есть заранее созданные рабочие столы, доступные для подключения пользователей. Ещё одна опция — закрепление за пользователем определённого IP внутренней виртуальной сети, что может быть полезно для управления доступом к другим ресурсам по сети.
Для пулов отдельно задаётся тайм-аут неактивности пользователя, после которого он будет отключён от рабочего стола, и тайм-аут выключения стола (для экономии ресурсов). Также можно ограничить доступ к определённым функциям (аудио, печать, буфер обмена и т.д.), причём по отдельности для подключений из внутренней корпоративной сети и извне. Рабочие столы можно переносить между пулами, а вот миграция между хостами делается уже силами платформы виртуализации. Есть и очевидные ограничения вроде невозможности переноса стола, привязанного к GPU, на хост без GPU.
Пулы терминальных серверов (Windows и Linux) имеют в целом примерно те же параметры и возможности, что и пулы рабочих столов. На терминальных серверах разворачиваются серверы приложений и публикуются необходимые приложения, которые также объединяются в пулы. К последним и подключаются конечные пользователи. Такой подход упрощает администрирование и позволяет повысить эффективность использования ресурсов, если набор приложений не очень большой и типовой для конкретной организации.
Наконец, пулы физических рабочих столов формируются из физических ПК или рабочих станций под управлением Windows, введённых в домен AD и снабжённых агентом Workplace. Для них доступны все те же опции и ограничения, что и для виртуальных рабочих столов. Это опять-таки повышает защиту и уровень контроля над инфраструктурой, упрощает мониторинг действий пользователей и аудит. Лицензируется Workplace по конкурентным терминальным сессиям и по рабочим столам (персональным или конкурентным) + понадобится лицензия на Dynamix Standard для развёртывания инфраструктуры.
Basis Workplace Security
Решение Basis Workplace Security нужно для дополнительной защиты доступа к рабочим столам, локальным и терминальным приложениям, виртуальным и физическим машинам и иным объектам защищаемой инфраструктуры путём формирования контуров безопасности. Решение состоит из двух компонентов: сервера безопасности, который целиком отслеживает и контролирует работу клиентских систем, и собственно клиентских терминалов. Терминал формируется путём установки защищённой ОС на базе Linux на устройство пользователя (с доверенной загрузкой) или же её запуска с Live-USB. При этом администратором удалённо контролируется целостность самого терминала и его ПО, сетевая активность и доступ к периферийным устройствам (например, съёмным накопителям и принтерам).
На терминале также можно организовать локальные, изолированные друг от друга контуры безопасности для запуска отдельных приложений или рабочих столов. Практически это реализуется формированием контейнеров и контролем за информационными потоками, в том числе сетевыми интерфейсами. Это позволяет, к примеру, организовать в рамках одного рабочего места и «нормальное» окружение с доступом в Интернет, работой с локальными файлами и т.д., и защищённый доступ к внутренним ресурсам организации так, чтобы перенести данные из них вовне было невозможно.
Терминалы напрямую или через VPN подключаются к серверу или кластеру серверов безопасности Basis Workplace Security. На серверах заводятся контуры безопасности и их группы, устройства пользователей, сами пользователи и их группы — любые два объекта данных типов можно связать друг с другом. Доступна интеграция с внешними LDAP-каталогами, а также двухфакторная аутентификация по сертификату на смарт-карте/токену и паролю. Для пользователей задаются правила формирования пароля и срок их жизни, длительность сессий и т.п. Сервер безопасности помимо собственно контроля доступа также ведёт детальную запись действий пользователей и событий безопасности. Лицензируется Workplace Security по конкурентным терминальным сессиям.
Basis Migration Assistant и Basis Guard
Basis Migration Assistant и Basis Guard разрабатываются внешними командами, но адаптированы и интегрированы с экосистемой Basis. Migration Assistant предназначен для автоматизированной миграции нагрузок или целой инфраструктуры между физическими и/или облачными платформами и системами виртуализации, в том числе зарубежными, без остановки работы. Guard, в свою очередь, предлагает асинхронную репликацию виртуальной инфраструктуры на резервную площадку, а также запуск нагрузок (ВМ) на ней в случае сбоя основной площадки.
Заключение
В экосистему «Базис» входит практически весь спектр инструментов, нужных для построения современной виртуальной инфраструктуры. К исключениям можно отнести, например, инструменты построения программно-определяемых сетей, редко встречающиеся на российском рынке, но они уже в работе, и выпуск бета-версии SDN от «Базиса» ожидается в этом году.
Вопрос компетентной технической поддержки заказчика на всех этапах — слабое место большинства российских вендоров. «Базис» решает этот вопрос с помощью подразделения Professional Services, оказывающего услуги консалтинга, помощь в миграции и развёртывании комплексных инфраструктур, сопровождение продуктов экосистемы и т.д. Как результат, у компании уже есть более 700 клиентов, и их количество постоянно растёт. Среди наиболее громких проектов — миграция в экосистему «Базис» Газпромбанка, Ростелекома и, главное, ГосТеха. На платформе компании уже развёрнуто более 120 ИС и ГИС, десятки тысяч виртуальных рабочих столов и сотни тысяч ВМ. Кроме того, на продуктах экосистемы «Базис» российские производители, такие как «Скала^р», создают программно-аппаратные комплексы (ПАК), оптимизированные под высокие нагрузки. Попробовать решения «Базиса» может любая компания — достаточно оставить заявку на тест-драйв — однако полностью оценить все возможности экосистемы сможет именно крупный бизнес.