Тонкие Клиенты: Как Они Сделаны

Чуть раньше я писал про тонкие клиенты .

Мол, зачем они нужны, кому они нужны и какая от них польза.

А теперь немного грустная правда о том, что на самом деле представляет собой тонкий клиент. Сколько бы маркетологи ни вояли об особых свойствах ТС, это всего лишь компьютер.

Зачастую со штатным биосом, в котором можно взять и загрузить свою ОС.

В особо запущенных случаях придется собирать специальное ядро для этой ОС или играться с параметрами ядра, но обычно это просто компьютер.

В формате mini-itx или меньше.

Никаких фанатов.

Такие компьютеры до выхода Атома были экзотикой, с момента появления Атома они практически «компьютер как компьютер», только меньшего размера.

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

).

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

Для чего этот спектакль? Во-первых, для обработки сетевого трафика.

При реальном использовании TC в качестве платформы для удаленного рабочего стола RDP-трафик совсем не похож на обещанные 22-64 килобита.

Мерцающая реклама в веб-браузере, бегущее видео на YouTube, открытая презентация в Powerpoint или просто html-письмо в Outlook — и вот вам единицы, если не десятки мегабит пикового трафика.

И все это нужно обрабатывать.

И чем быстрее, тем меньше лагов у рабочего места.

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

Лично мой опыт работы с аппаратным обеспечением подсказывает мне, что многие «маленькие» платформы (в том числе Unichrome на VIA) страдают от производительности видео.

В-третьих, нужно обрабатывать RDP-запросы на работу с флешками (чтение/запись).

Я хочу все это делать на скорости десктопа.

Это значит, что скорость транспортного средства просто физически не может быть ниже определенного предела.

У VIA нижняя часть идет по C3 (~600 МГц), у Vortex86SX - чем выше, тем лучше (вихря, который не лагал бы, я еще не видел).

Нормальная, комфортная работа идет от гигагерца и выше.

Да, это реальность: машина с производительностью мощного сервера 90-х работает как «отзывчивый» тупой терминал.

Именно по этой причине на вооружении нет тонких клиентов.

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

Здесь скрыт тонкий обман.

Да, мы можем показать работу RDP без каких-либо тормозов на любом хламе.

В 16 цветах, 640х480 и в статических приложениях а-ля Блокнот/1С 7.7. А вот если поставить хотя бы 16 бит, 1280х1024, добавить передачу звука, воспроизведение (пусть и не во весь экран) анимации, обширные графические фрагменты, шифрование и передачу всего этого трафика, то станет понятно, что это вполне достойная работа.

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

Это означает, что он отвергает все, что кажется ему медленным.

Однако вернемся к тому, как они сделаны.

Для начала про ТК с локальной загрузкой.

Железо взято.

Желательно дешевле.

Но по формату.

Обычно это все же переходное отверстие или атом, хотя бывают и жеоды.

Нанимаются 1-2 программиста, часто на аутсорсе.

И задача «нужен тонкий клиент».

Нужно? Давай сделаем это.

В сборщике для CE есть шаблон тонкого клиента, и мы получаем такую типичную для всех картинку:

Тонкие клиенты: как они сделаны

Без русского языка так выглядят 99% тонких клиентов на CE. И заслуга в этом принадлежит не создателям TC, а Microsoft. Дальше два варианта: либо отдается клиенту «как есть», либо доделывается.

Как человек, принимавший активное участие в доводке этого, могу сказать, что исправлять надо не многое, но очень многое.

Мы периодически закупаем продукцию конкурентов и видим, что около половины из них не решили эти проблемы и до сих пор висят у них на хвосте.

О том, какие хвосты и что проверить, напишу чуть позже.

Для Linux все сложнее — «готового» конфигуратора нет. Так что даже если программист сможет совместить x-server с rdesktop, ему все равно придется что-то писать.

А потом начинаются танцы.

Кто-то пытается использовать fwm, кто-то Icewm, кто-то какой-то wm, с целью «не рисовать меню самому».

Кто-то прикрепляет к ncurses текстовые конфигураторы с одной работающей сессией.

В большинстве случаев, написав простой конфигуратор (поскольку он чаще всего пишется с нуля, то настроек 1-2-3-4), его отдают с надписью «готово».

И снова финиш.

Иногда люди берут на себя задачу написать мощную корпоративную систему.

на Java. Внутри тонкого клиента.

Страшный? Правильно, на такое на гигагерцовом С7 смотреть без слез невозможно.

Иногда это делается в виде веб-интерфейса с локальным браузером (в этом случае люди получают удаленное администрирование «бесплатно»).

В большинстве случаев основной головной болью Linux-версии является размер, русская раскладка и аппаратная поддержка (да, если вы считаете, что Linux хорошо работает с железом, попробуйте выставить разрешение экрана, переключить порт на KVM и загрузить TC - у вас получится не получили вообще ничего, чего хотели).

Под CE есть только одна головная боль - железо.

Драйверов для CE очень мало, и некоторые из них такого качества, что лучше не делать (например, я видел замечательный драйвер для USB-кардридера (считывателя смарт-карт), который запрашивал ПИН-код, рисуя запрос на поверх всех остальных окон.

Это было хорошо до тех пор, пока не появилось еще одно окно, которое хотело рисовать в том же месте, после чего на экране невозможно было ничего прочитать).

Но самое главное, тонкий клиент — это программный продукт. По сложности он, конечно, уступает, например, sql-серверу, но все равно требует инфраструктуры для разработки и отладки.

Сложность ТК намного выше, чем у принт-сервера или даже у роутера.

Именно непонимание того, что тонкий клиент — это сложное программное обеспечение, приводит к неверному направлению.

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

Худшие компании пытаются сделать это самостоятельно, а лучшие компании передают это на аутсорсинг.

Хочу отметить, что в этом списке не российская IT-мелочь, а вполне известные бренды, такие как HP, Fujitsu и Wyse. До сих пор не было производителя, который не пытался бы адаптировать существующие решения, аппаратное и программное обеспечение, а взял и сделал их с нуля.

Я думаю, тот, кто это сделает, получит весь рынок.

Потому что рынок объективно ждет дешевых, простых и надежных торговых центров.

Вместо этого им предлагают слегка модифицированный Linux, CE или WES на обычном железе, который можно купить, не приобретая ТК.

Да даже это проще, чем самостоятельная сборка.

Но разница в объёме работ между «этим» и «идеальным ТК» примерно такая же, как между сборкой компьютера из комплекта под своей «брендом» и изготовлением ноутбука.

Теги: #Системное администрирование #тонкие клиенты #терминальные системы

Вместе с данным постом часто просматривают: