SharxDesk

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

Введение

Упрощенная схема функционирования ПО SharxDesk приведена на рисунке 4.

Рисунок 4. Упрощенная схема функционирования ПО SharxDesk

Основные характеристики ПО SharxDesk включают в себя:

  • простую установку и администрирование;

  • автоматическое развертывание виртуальных рабочих столов и управление доступом к удаленным рабочим столам;

  • виртуализация сеансов Windows-приложений для пользователей Windows/Linux-сред с помощью служб удаленных рабочих столов (RDS);

  • виртуализация Linux-приложений для сеансов для пользователей среды Windows/Linux с использованием X2Go;

  • возможность определять пользователей и группы пользователей из различных внешних источников (телефоны, планшеты, ПК, дифференциация от ОС источника);

  • аутентификация с использованием различных систем аутентификации, например, Active Directory, eDirectory, OpenLDAP, SAML, LDAP, CAS, Device Authentication System, внутренняя система аутентификации;

  • генерация отчетов о состоянии и использовании ПО SharxDesk;

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

  • безопасный доступ из сети Интернет (WAN) к виртуальным рабочим столам и приложениям с использованием SSL-туннеля;

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

Общее описание архитектуры

Архитектура ПО SharxDesk является модульной и гибко настраивается.

Основными элементами, формирующими архитектуру ПО SharxDesk являются:

1. Клиенты подключения. Устройства, используемые для доступа к виртуальным рабочим столам и приложениям, такие как тонкие клиенты, мобильные клиенты, планшеты, ноутбуки и ПК.

2. Серверы ПО SharxDesk. Все серверы представлены в формате виртуальных машин и работают на гипервизорах платформы SharxBase. ПО SharxDesk состоит из следующих компонентов:

2.1. Сервер базы данных (БД) для хранения всех данных, связанных с инфраструктурой (Может работать отдельно, либо быть совмещен с сервером подключений).

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

2.3. Прокси-сервер, который формирует SSL туннели и обеспечивает защищенный доступ из незащищенных сетей, например сети Интернет.

3. Службы аутентификации Active Directory, eDirectory, OpenLDAP, SAML, LDAP и т.п. Благодаря их интеграции с ПО SharxDesk можно гибко контролировать доступ пользователя к службам. Возможно использование одновременно нескольких аутентификаторов, что может быть использовано в средах с доступом клиентов разных заказчиков.

4. Поставщики услуг.

4.1. Гипервизор выполняет создание, включение и удаление виртуальных рабочих столов, которые управляются брокером. ПО SharxDesk использует платформу SharxBase как основной гипервизор. В случае наличия у заказчика гетерогенных или гибридных сред виртуализации возможно подключение сторонних гипервизоров (RHEV/Ovirt, Openstack, VMWare, HyperV, Nutanix, Xenserver).

4.2. Приложения RDS обеспечивают работу виртуализированных приложений Microsoft RDS, доступ к которым можно вывести на единую страницу доступа пользователей ПО SharxDesk.

5. Хранилища данных. На них будут размещаться серверы и удаленные виртуальные рабочие столы, приложения и другие службы платформы. ПО SharxDesk использует в качестве гипервизора решение SharxBase, которое имеет в своем составе встроенное распределенное хранилище данных (Distributed storage).

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

Пример дизайна архитектуры ПО SharxDesk приведен на рисунке 5.

Рисунок 5. Пример дизайна архитектуры ПО SharxDesk

Сетевая архитектура

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

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

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

Пример развертывания служб и приложений виртуального рабочего стола для доступа пользователей через Интернет (WAN) приведен на рисунке 7.

Рисунок 7. Пример развертывания служб и приложений виртуального рабочего стола для доступа пользователей через WAN (Интернет)

Для того, чтобы опубликовать ПО SharxDesk в Интернете и для того, чтобы его сервисы были доступны пользователям требуются два публичных IP-адреса (этот процесс возможен с помощью одного общедоступного IP-адреса путем изменения портов по умолчанию и установки внутреннего NAT).

Пример с использованием одного уникального публичного IP-адреса приведен на рисунке 8.

Рисунок 8. Пример развертывания служб и приложений виртуального рабочего стола для доступа пользователей через WAN с использованием одного публичного IP-адреса

Компоненты ПО SharxDesk

ПО SharxDesk состоит из 5 элементов, которые взаимодействуют друг с другом.

1. Сервер подключений (брокер) устанавливается как виртуальная машина (ВМ) и предоставляется в формате виртуального устройства.

2. Прокси сервер устанавливается как виртуальная машина и предоставляется в формате виртуального устройства.

3. База данных устанавливается как виртуальная машина и предоставляется в формате виртуального устройства (может быть совмещен с сервером SharxDesk).

4. Агент устанавливается на виртуальной машине в качестве службы, которая обеспечивает постоянную связь с брокером, сообщает ему о состоянии ВМ.

5. Плагин устанавливается на клиентском устройстве для подключения к службам удаленных рабочих столов (со всеми протоколами соединений, кроме HTML5).

Функции и технические требования каждого компонента описаны ниже.

Сервер подключений ПО SharxDesk (брокер)

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

Виртуальное устройство должно обладать следующими характеристиками:

  • Виртуальный жесткий диск: 5 ГБ
  • Память: 1 ГБ;
  • CPU: 2 vCPU;
  • Сеть: 1 vNIC.

Для работы сервера необходимо иметь:

  • 1 IP-адрес;
  • IP-адрес DNS;
  • Сетевую маску;
  • IP-адрес шлюза;
  • Доменное имя;
  • IP-адрес базы данных;
  • Порт базы данных и имя экземпляра;
  • Имя пользователя и пароль к БД;
  • Код активации.

Прокси сервер ПО SharxDesk

Программное обеспечение, которое устанавливает защищенные подключения к сервисам через WAN. Оно также предоставляет доступ к сервисам по протоколу HTML5.

Прокси сервер SharxDesk позволяет подключать любое устройство/браузер/клиент к сервисам через туннель SSH без предварительной установки какого-либо программного обеспечения. Более того, он позволяет RDP доступ к сервисам через HTML5.

Виртуальное устройство должно обладать следующими характеристиками:

  • Жесткий диск: 10 Гб;
  • Память: 1 Гб;
  • CPU: 2 vCPU;
  • Сеть: 1 vNIC.

Для работы прокси необходимо иметь:

  • 1 IP-адрес;
  • IP-адрес DNS;
  • Сетевую маску;
  • IP-адрес шлюза;
  • Доменное имя;
  • IP-адрес сервера ПО SharxDesk.

База данных ПО SharxDesk

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

Виртуальное устройство должно обладать следующими характеристиками:

  • Жесткий диск: 8 ГБ;
  • Память: 1 ГБ;
  • CPU: 1 vCPU;
  • Сеть: 1 vNIC.

Для работы прокси необходимо иметь:

  • 1 IP-адрес;
  • IP-адрес DNS;
  • Сетевую маску;
  • IP-адрес шлюза;
  • Доменное имя;
  • Имя экземпляра БД;
  • Пользователь с правами на экземпляр БД.

База данных ПО SharxDesk может быть совмещена с сервером подключений (брокером).

Агент ПО SharxDesk

Это программное обеспечение выполняет функции связи и интерфейса для передачи данных (статус виртуального рабочего стола, имя машины и т.п.) и команд между брокером и сервисами виртуальных рабочих столов, управляемых ПО SharxDesk. Оно устанавливается на виртуальной машине как сервис, который будет использоваться в качестве шаблона (Gold образ) для создания групп рабочих столов на основе связанных клонов (Linked Clones).

Для создания виртуальных рабочих столов поддерживаются следующие операционные системы:

  • Windows 10
  • Windows 8.1
  • Windows 8
  • Windows 7
  • Windows 2008
  • Windows 2012
  • Windows 2016
  • Linux (Debian, Ubuntu, CentOS, Fedora, OpenSUSE и т. Д.)
  • (Linked Clones).

Для виртуализации приложений ОС Windows поддерживаются следующие операционные системы:

  • Windows 2008 R2;
  • Windows 2012 R2.

Для виртуализации приложений ОС Linux поддерживаются следующие операционные системы:

  • Ubuntu 16/Debian 9.

Для работы прокси необходимо иметь:

  • Net Framework 3.5 SP1 (для виртуальных машин Windows);

  • Python 2.7 (для виртуальных машин Linux);

  • IP-адрес сервера ПО SharxDesk;

  • Мастер-ключ ПО SharxDesk (находится в панели администрирования SharxDesk, раздел конфигурация/безопасность).

Плагин ПО SharxDesk

Это программное обеспечение позволяет подключиться к протоколу соединения для запуска сервисов виртуальных рабочих столов. Он устанавливается на клиентское устройство для подключения к сервисам.

Поддерживаемые операционные системы:

  • Windows 10;
  • Windows 8.1;
  • Windows 8;
  • Windows 7;
  • Windows 2016;
  • Windows 2012 R2;
  • Windows 2008 R2;
  • Linux (Debian, Ubuntu, CentOS, Fedora, OpenSUSE и т.п.).