Хабр, привет! Меня зовут Алексей Ватутин, я руководитель практики инфраструктуры рабочих мест в компании К2Тех.

Мы с командой давно изучаем рынок корпоративного ПО, но с тех пор, как российские разработчики пустились догонять и обгонять зарубежных, мониторить новинки стало вдвойне интереснее. На этот раз наше внимание привлекла разработка Orion soft, призванная заменить решения для терминального доступа от Citrix и Microsoft. Мы ее изучили, попробовали и делимся первыми впечатлениями под катом.

Битва двух ёкодзун, или терминальный доступ vs VDI

Для начала я хотел бы коротко пояснить про технологии удаленного доступа с предоставлением рабочих столов и/или приложений. Фактически сейчас есть два варианта:

  • Виртуальные рабочие места (Virtual Desktop Infrastructure, VDI)
    Каждому подключившемуся предоставляется в монопольное использование виртуальная машина с ОС и набором ПО. При определенных условиях возможно предоставление не только полного рабочего стола, но и отдельных приложений;

  • Терминальная служба (Terminal Service, TS)
    В отличие от VDI, в этом случае используется один экземпляр ОС, к которому пользователи выполняют множественные подключения (сеансы). В «правильных» реализациях терминальной службы возможно предоставление как полного рабочего стола, так и отдельных приложений.

Формально есть еще один вариант получения доступа к корпоративным сервисам — через VPN. Но этот вариант я всерьез не рассматриваю, так как с точки зрения ИБ никто не гарантирует «чистоту» личного ПК или ноутбука сотрудника. Задача, конечно, технически решаемая, но по стоимости может выйти недешево. Да и не всегда личный ноут в состоянии вытянуть рабочие задачи. Поэтому далее только про VDI и терминальные службы. 

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

  • Сотрудник может находиться где угодно, и доступные каналы связи не всегда (а чаще «всегда не») такие же, как в офисе;

  • Сотрудник подключается со своего оборудования. А это может быть и старый ПК, и новый, но маломощный ноутбук, и планшет, и телевизор, и холодильник… :)

  • Необходимо обеспечить сохранность корпоративных данных. В идеальном случае сделать так, чтобы они не покидали сеть компании.

И VDI, и терминальные службы способны решить задачу удаленного доступа с учетом перечисленных проблем, так в чем же разница? Ответ простой! 

В случае с VDI вам как минимум нужно предоставить пользователю, кроме ПО, еще и полноценный экземпляр ОС со всеми вытекающими накладными расходами: процессорное время, память, лицензия на ОС… В то время как архитектура терминальной службы предусматривает, что вы можете посадить на одну систему десятки пользователей. То есть экономия с точки зрения аппаратных ресурсов очевидна.

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

Подробнее о плюсах и минусах каждой технологии в таблице ниже

Терминальный доступ

VDI

Доступные ресурсы

Приложения и рабочий стол на общем терминальном сервере

Приложения и рабочий стол на выделенной виртуальной машине

Изоляция ресурсов

Конкуренция за ресурсы с соседними пользователями

Ограничение по ресурсам VDI, нет конкуренции с «соседями»

Минимальные требования на 1 пользователя

0,5 vCPU, 2 Гб ОЗУ

2 vCPU, 6 Гб ОЗУ

Требования к дискам

Низкие (можно использовать локальные диски серверов)

Высокие (высокопроизводительная СХД)

Общая стоимость владения

1,0x руб.

4,0x руб.

На этом месте, скорее всего, у вас возник вопрос: «Почему статья посвящена Termit?» 

Дело в том, что отечественных решений VDI разного уровня зрелости на рынке есть около десятка. Часть из них широко известна, часть встречается не часто, но все они существуют уже долгое время. С терминальными службами ситуация немного сложнее, их на рынке крайне мало. Конечно, многие слышали про Termidesk Terminal (aka STAL), однако с ним есть два момента:

  • Termidesk Terminal входит в функциональность решения Termidesk VDI. Поэтому заказчикам гораздо удобнее и выгоднее брать сразу 2 в 1 — VDI + Terminal. Отдельно Termidesk Terminal, без функционала VDI, конечно, можно приобрести, но такой вариант интересен совсем небольшим компаниям.

  • С момента релиза Termidesk Terminal уже прошло достаточно времени, многие на рынке уже с ним познакомились и вопросов по нему практически не поступает. 

А что же Termit? Во-первых, это относительно новое решение для рынка. И пользуясь тем, что мы получили версию 2.0 в тест одними из первых, я не мог упустить момент и не написать обзор :)

А во-вторых, разработчик Orion soft говорит, что Termit — это первая российская система терминального доступа, рассчитанная на клиентов именно Enterprise-уровня. Ну как тут можно пройти мимо? Давайте посмотрим на него поближе!

Termit выходит на замену

До марта 2022 года роль проверенного стабильного решения терминального доступа выполнял Citrix, но компания остановила продажи в РФ, а за ней последовал и Microsoft . Пришлось в срочном порядке искать и внедрять альтернативы. Запрос на рынке высокий, решений мало. Это вынудило компании смотреть на более дорогостоящие VDI. В некоторых случаях вопрос стоит остро, поскольку защищенный удаленный доступ — это не просто требования специалистов из отдела по информационной безопасности, а основа стабильной работы для развивающейся компании.

Orion soft выпустил первую версию Termit еще в 2018 году, но на фоне именитых конкурентов вышла она незаметно. И вот осенью 2023-го был представлен новый релиз — Termit 2.0 — и получилось отечественное ПО, как мне показалось, с большим потенциалом. 

Тут присутствует большинство функций, к которым мы привыкли в западных решениях:

  • организация ферм из терминальных серверов;

  • подключение к рабочим столам и/или отдельным приложениям; 

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

  • автоматический выбор наименее загруженного сервера при подключении к ферме и т.д. 

То есть почти все, что может потребоваться пользователю условного 1С или офисного приложения. 

Однако есть и ограничения. На сегодняшний день Termit работает только с рабочими столами и приложениями на базе Linux, пока не поддерживается переподключение пользователя в сессию, нет SSO. Но разработчики обещают реализовать этот функционал в первом квартале 2024 года. Кроме того, в сессию пользователя пока что не пробрасывается фид с видеокамеры. Нет доступа к сетевым принтерам (и не факт, что он появится). В целом, такую функциональность реализовать несложно, но вот сделать ее по-настоящему безопасной — это уже тяжелая задачка. Учитывая, что здесь вся архитектура построена вокруг этой идеи.

Архитектура Termit

Termit состоит из трех основных компонентов:

  • Шлюз, через который идут подключения удаленных пользователей;

  • Брокер — отвечает за аутентификацию пользователя, организацию подключения к терминальному серверу, взаимодействие с инфраструктурой;

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

Кроме того, Termit интегрируется с внешней базой данных, где брокер хранит данные о конфигурации, подключениях, о текущей работе.

Данные 1С не передаются из ЦОД (не выходят за белую линию), пользователь получает только копию экрана
Данные 1С не передаются из ЦОД (не выходят за белую линию), пользователь получает только копию экрана

Система масштабируется и вертикально, и горизонтально. Единственным узким местом могут быть терминальные серверы, потому что их производительность во многом зависит от сценариев использования и количества пользователей. Если это что-то не ресурсоемкое, скажем, просто набор текстов офисных приложений, то пара-тройка серверов легко может запускать и поддерживать сотни сессий. Другое дело, когда нужно проигрывать видео.

За счет своей структуры Termit позволяет организовать схему локальной отказоустойчивости. Брокер можно кластеризовать, при этом все копии будут использовать общую БД. Отказоустойчивость СУБД реализуется встроенными средствами (зависят от используемой базы данных). Отказоустойчивость остальных компонентов обеспечивается за счет избыточности и настройки балансировки между компонентами. В будущем разработчик планирует реализовать схему, позволяющую строить геораспределенную структуру.

Системные требования и особенности установки

Главным образом Termit рассчитан под российские версии операционных систем на базе Linux.

  • Брокер: РедОС 7.3.2, Астра 1.7.4, Дебиан 9 и выше. 4 vCPU, 8GB RAM

  • База данных: Postgres 11. 4 vCPU, 8 GB RAM

  • Терминальный сервер: РедОС 7.3.2, Астра 1.7.4, Дебиан 9 и выше. 4 vCPU + 0.5 vCPU на сессию, 8 GB + 2 GB на сессию.

  • Шлюз удаленного доступа: РедОС 7.3.2, Астра 1.7.4, Дебиан 9 и выше. 4 vCPU, 8 GB RAM

Сейчас в качестве клиентских ОС поддерживаются: Windows (10 и 11), MacOS, Astra Linux, РедОС. 

Процедура развертывания системы простая и быстрая. У меня она заняла 20 минут, не считая подготовки компонентов (база данных, терминальных серверов). На саму инсталляцию требуется минимальное количество времени, остальное — настройка.

Задачу может выполнить любой технически подготовленный человек. Правда, если мы говорим про большую компанию, где нужно предварительно разработать архитектуру, работать с вопросом отказоустойчивости, геораспределенностью, интегрироваться с дополнительными инфраструктурными сервисами и т.д., то порог входа выше. Но тут можно обратиться за помощью в службу поддержки или, например, к нам в К2Тех :)

Особенности работы

Когда настройка завершена, остается достаточно простая процедура подключения. В идеале сотруднику нужно пройти обучение на пару минут в стиле: как «представиться», как найти и запустить нужное приложение. Пользователи подключаются к терминальным серверам с помощью специального клиентского приложения и работают как обычно, через привычный графический интерфейс.

Виртуальная машина с клиентом Termit на Windows 10
Виртуальная машина с клиентом Termit на Windows 10

При подключении встроенный балансировщик автоматически распределяет пользователей между терминальными серверами на основании данных о текущей загрузке каждого сервера. Далее создается собственный сеанс для каждого пользователя, в котором он получает доступ либо к отдельным приложениям, либо к полному рабочему столу. 

Запущенный Termit. Доступен выбор из пары наших тестовых приложений
Запущенный Termit. Доступен выбор из пары наших тестовых приложений

Единственная сложность в том, что пока опубликованное приложение нельзя разместить в виде ярлыка на рабочем столе. Обязательно нужно запускать клиент Termit «руками», указывать имя точки подключения (в первый раз) и там уже выбирать нужное приложение из списка. Простые и привычные ярлыки разработчик обещает добавить в следующем году.

Лицензии

У продукта есть подписка и бессрочные лицензии:

  • Подписка есть на месяц или на год;

  • Лицензии могут быть именными (т.е. на всех пользователей, которые в теории могут пользоваться сервисом) либо конкурентными (т.е. на единовременные подключения, например, если у вас 100 сотрудников, но одновременно работает только половина — хватит 50 лицензий).  

Подводим итоги

Новая версия Termit — глобально переработанное решение, которое из коробки позволяет реализовать почти все необходимое для удаленного доступа. 

Видно, что разработка велась с учетом нынешних реалий и актуальных потребностей российских компаний: здесь есть доставка рабочих столов и приложений Linux, объединение серверов в фермы, автоматическая балансировка подключений в рамках фермы, реализация локальной отказоустойчивости брокера, интеграция с LDAP. Это не что-то уникальное для мирового рынка, но для российского бизнеса доступ к этой функциональности очень важен.  

Тем более, что сейчас, устав от непредсказуемых рисков, многие российские заказчики стали переходить на отечественное ПО. Поэтому их теперь интересуют решения не из экосистемы Microsoft, а то, что будет работать с отечественными дистрибутивами Linux — Астра, РЕД и им подобными.

У Orion soft большие планы по развитию продукта. Как было сказано ранее, в начале следующего года разработчики обещают новый релиз, в котором будет много интересного: переподключение пользователей в сессию, доставка приложений и рабочего стола с терминальных серверов Windows без сервиса RDS, появится SSO. Также на 2024 год запланированы перемещаемые профили, проброс в сессию смарт-карт, режим Helpdesk (подключение администратора внутрь сессии пользователя), клиент HTML5 и многое другое.

А из далеко идущих планов — в 2025-м по заверениям вендора нас ждут интеграция с платформами виртуализации, расширенный мониторинг и собственный протокол доставки. Обновления собираются проводить раз в квартал. Если отсутствующие функции для вашего предприятия критичны и у вас пока получается работать на зарубежном ПО, значит, с переходом стоит повременить.

Как итог, Termit меня приятно удивил. Да, это пока не Citrix, но потенциал решения виден, настрой у разработчика боевой, поэтому с нетерпением будем ждать выхода новых версий.

Кому подойдет Termit 2.0

На мой взгляд, Termit стоит рассмотреть средним и крупным компаниям, сотрудники которых работают удаленно. На сегодняшний день решение подойдет тем, кто использует Linux или планирует переходить на него. А с Q1 2024, как мы увидели в роадмапе, — еще и тем, у кого Windows.

Основные сценарии использования:

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

  • Удаленная работа с корпоративными сервисами — данные обрабатываются в ЦОД и не покидают корпоративную сеть;

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

Кому НЕ подойдет Termit 2.0

Совсем маленькие компании, условно на 5-10 человек, редко ощущают потребности в терминальных решениях. По той простой причине, что количество рабочих мест у них очень ограничено и до каждого можно дойти ногами и поставить необходимый набор приложений. Впрочем, пользователи бывают разные. И в некоторых довольно небольших организациях встречаются высокие требования в области безопасности. Потому что компания, например, обрабатывает чужие данные. Соответственно, пользователям надо предоставлять сегментированный доступ к этим самым данным. А если возникает вопрос о предоставлении удаленного доступа — терминальные решения являются самыми недорогими и универсальными.

Новые вершины технологий ждут тебя в Telegram-канале К2Тех

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


  1. AlexKMK
    30.11.2023 07:10

    Это мунлайт под капотом?

    Что с nvenc и hevc? Что с полноценной поддержкой windows clipboard (включая OLE)?

    Какой транспорт? WebRTC? Что с DTLS?


    1. Alexey_Vatutin Автор
      30.11.2023 07:10
      +2

      Ядро Termit построено на смеси из Java, Sprint Boot, Hibernate, TypeScript и ReactJS. В качестве протокола используется x2go, в качестве транспорта — SSH. Решение не рассчитано на облачный гейминг, поэтому это не moonlight и поддержки nvenc и hevc нет.

      Сейчас публикуются Linux-приложения и рабочие столы, поэтому поддержки OLE нет, копируется только текст.


      1. AlexKMK
        30.11.2023 07:10

        Hevc, udp и nvenc это не про облачный гейминг, а про комфорт использования ???? да, бухгалтерам он тоже важен. Они ведь тоже люди.

        RDP поверх TCP или поверх UDP две большие разницы, как и Nomachine. Они мне позволяют эффективно работать и разрабатывать исключительно на терминалах уже 8 лет. Даже через 3G.


  1. TheHangedKing
    30.11.2023 07:10

    Нет доступа к сетевым принтерам (и не факт, что он появится).

    Да, это пока не Citrix

    Сетевые принтеры у меня работали как часы даже не на Citrix, а на простом Windows Server. У Citrix в те времена были другие киллер-фичи: нормальная работа проброшенных через rdp с клиентских машин принтеров, например. Сейчас Citrix обещает публикацию MacOS-приложений (например) для Win-клиентов, и наоборот. На фоне всего этого сравнение Термита с Citrix выглядит не вполне оправданным.

    доставка приложений и рабочего стола с терминальных серверов Windows без сервиса RDS

    Вы написали свою серверную часть для Винды?


    1. Alexey_Vatutin Автор
      30.11.2023 07:10

      Спасибо за комментарии! Вендор говорит, что протокол для Windows точно будет RDP в последующих релизах Termit

      По поводу RDS, я здесь имел в виду, что в решении не используются сервисы удаленного рабочего стола MS (брокер и так далее). Windows выступает просто как sessions host