Ключевые критерии выбора модели тонкого клиента (часть 1)

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

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

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

При этом главное, что необходимо понимать изначально – как минимум в 8-ми случаях из 10-ти тонкий клиент и его работа как конечного устройства напрямую зависят от того, каким образом реализована виртуализация на серверах.

Отсюда и первый, пожалуй, самый важный критерий:

1.      Поддержка тонким клиентом протоколов удаленной работы

На сегодня, актуальными являются три основных протокола:

- RDP для работы с серверами виртуализации на основе Windows и VMware

- ICA для работы с серверами виртуализации на основе Citrix

- PCoIP для работы с серверами виртуализации на основе VMWare

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

 

От тонкого клиента при этом обязательно потребуется поддержка выбранного  протокола, причем искомая поддержка может быть:

- аппаратной (интегрированной на уровне микрокоманд в процессор или соответствующую микросхему оптимизации тонкого клиента),

- и/или программной (на уровне исполняемых служб и драйверов локальной ОС тонкого клиента).

Разумеется, аппаратная оптимизация дает существенные преимущества в скорости обработки протокола, что непосредственно сказывается на производительности тонкого клиента при работе с насыщенным графическим и/или мультимедиа контентом.

Более подробные сравнения по данному поводу будут приведены в дальнейших частях блога.

 

Второй весомый аспект, связанный с выбором протокола удаленной работы – это его текущая ревизия, возможности по обновлению до более новых версий в рамках заложенной в проект аппаратно-программной архитектуры, а также текущая, обоюдная поддержка соответствующих ревизий как на стороне сервера, так и на стороне тонкого клиента.

 

Например, в устаревшей версии RDP6.0 возможен исключительно односторонний проброс аудио: от сервера к тонкому клиенту, но НЕ наоборот. Соответственно, связка тонкий клиент – сервер, использующая в своей работе RDP6.0, принципиально непригодна для программ IP-телефонии наподобие Skype, т.к. обеспечить работу микрофона по RDP6.0 невозможно.

Как ни удивительно, но это все еще актуально на практике для тонких клиентов с Windows CE6.0 на борту и старых серверов на базе Windows Server 2003, т.к. ни те, ни другие заведомо НЕ поддерживают более новых ревизий RDP, но периодически встречаются в ряде проектов.

 

Более свежая ревизия RDP7.0 разительно отличается добавлением поддержки двунаправленных аудиопотоков, т.е. возможностями настройки в удаленных рабочих столах голосовых коммуникаций с использованием Skype и тому подобных программ IP-телефонии.

Поддержка RDP7.0 все еще характерна для некоторых нулевых клиентов, а также для ряда устаревших тонких клиентов на базе Linux.

 

Наиболее распространенная на сегодня версия RDP7.1 главным образом отличается появлением в своем составе такого нововведением как RemoteFX – по сути, расширенной надстройки над RDP, включающей в себя целый ряд технологий.

RemoteFX позволяет пользователю комфортно работать по протоколу RDP с видео высокой чёткости и прочей сложной графикой в любых форматах, включая Silverlight, Direct3D 9.0c и выше, трёхмерные модели и, конечно, Windows Aero.

Кроме того, RFX обеспечивает полную поддержку двусторонней, синхронной аудиопередачи и низкоуровневое подключение любых устройств USB к удалённой рабочей станции.

Более подробно о возможностях RemoteFX (RFX) будет рассказано в специально посвященном данному вопросу блоге / обзоре, пока же следует вычленить ключевые аспекты, связанные с данным новшеством:

- появление RFX во многом обеспечивает для RDP функционал, практически равный по возможностям протоколу Citrix / ICA (аналогом в мире ICA является стек технологий Citrix HDX в Citrix XenApp и XenDesktop соответственно)

- RFX неизбежно предъявляет более жесткие требования к серверам виртуализации

- глубина интеграции RFX напрямую зависима от выбранной схемы организации удаленной работы (полный функционал RFX включая графику доступен только при работе в среде VDI со специально настроенными виртуальными машинами; при работе же в терминальных сессиях функционал RFX заведомо ограничен рамками, мало связанными с графикой как таковой, распространяясь в основном на проброс USB устройств и поддержку работы с принтерами)

RDP7.1/wRFX характерен для тонких клиентов на основе последних версий Linux и, разумеется, доступен по умолчанию для тонких клиентов с Windows Embedded.

  Наконец, самая последняя версия - RDP8.0 в первую очередь выделяется своим «интеллектуальным» подходом к организации удаленных подключений в зависимости от:

- объективно доступных каналов связи (подключение по RDP8.0 подразумевает обязательный анализ реальной пропускной способности и задержек в существующем канале связи с динамической подстройкой работы протокола под существующий канал)

- видов передаваемого контента (в рамках RDP8.0 параллельно применяются специализированные выделенные кодеки для сжатия различных типов передаваемого контента, будь то текст, статическая картинка, видеоряд и т.п. в рамках одного и того же удаленного рабочего стола)

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

По состоянию на сегодня, RDP8.0 доступен исключительно на тонких клиентах с Windows Embedded 8 («из коробки») и Windows Embedded 7 (после применения соответствующего патча)

Во второй части данного блога, посвященной следующему ключевому критерию подбора тонких клиентов - выбору локальной операционной системы / прошивки тонкого клиента будет рассмотрена итоговая сводная таблица по различным ревизиям RDP-протокола с привязкой оных не только к тонким клиентам, но и к ОС на соответствующих серверах, а также подробным перечнем отличий в функционале. (подробно останавливаться на аналогичных нюансах для ICA и PCoIP в рамках данной статьи мы не будем ввиду их все еще очень малой распространенности в украинских проектах клиентской виртуализации).

В начало