Эволюция рабочего места пользователя: проблемы и решения
Задача данной статьи – анализ возможностей и проблем использования систем обработки данных на разных этапах их трансформации. Определяются варианты выбора способов доступа к программной среде для решения широкого спектра задач.
Краткий экскурс в историю
Благодаря изобретению в 1971 году микропроцессора стало возможным создание персональных компьютеров и на их базе автоматизированных рабочих мест. Количество ПК и рабочих мест росло, как и число их пользователей. С течением времени пришло понимание, что ПК нуждаются в обмене информацией между ними, так как пользователям нужно было иметь возможность обрабатывать не только свои данные, но и данные, созданные другими пользователями ПК.
Первоначально для этих целей использовались носители информации, прошедшие эволюцию от перфокарт, перфолент, магнитных лент (стриммеров), магнитных дисков (дискет) и оптических дисков – до современного флеш-накопителя. Однако лишь использование сетей передачи данных с временным (модемы) или постоянным (Ethernet, Fiber) подключением позволило обмениваться информацией в реальном времени (вид соединения и загрузка сетей передачи данных существенно влияют на оперативность доступа к данным на других ПК).
На практике это выглядит так: один пользователь на своем ПК создал какие-то данные (например, файл с числовыми данными) и передал их другому пользователю, который – в свою очередь уже на своем ПК – продолжил работу и создал графический отчет по полученным данным. Данная одноранговая архитектура основана на равноправии независимых участников.
Плюсы распределенных рабочих мест следующие:
-
Работа каждого пользователя в любой момент времени не зависит от работоспособности остальных пользователей и работоспособности их ПК (при условии, что данные для текущей задачи хранятся на локальном ПК).
-
Улучшается конфиденциальность информации и упрощается контроль доступа к ней, особенно на физическом уровне.
В то же время есть и минусы:
-
Для передачи большого количества информации между ПК требуется существенное количество времени, что приводит к снижению производительности работника. Информация дублируется на разных ПК, что приводит к: избыточности данных, трудности отслеживания актуальности имеющихся данных, трудности в отслеживании версий данных, когда каждый пользователь вносит свою часть работы без объединения с результатами работы других пользователей.
-
Рабочие места часто простаивают, тем самым их нагрузка далека от максимальной, что негативно влияет на показатели эффективности использования.
-
Высокие затраты на модернизацию и сопровождение каждой клиентской рабочей станции.
Один из примеров использования ПК в бухгалтерии – система обработки данных (СОД) «1С:Бухгалтерия» с локальной БД. Если требуется объединить или передать часть данных с другим таким же рабочим местом, то перед пользователем встает нерешаемая задача.
Эволюция рабочих мест
Для решения большинства этих проблем была разработана файл-серверная архитектура, в которой один или несколько (для отказоустойчивости и/или повышения производительности) компьютеров выполняют роль файлового сервера (хранилища файлов). В результате получились следующие преимущества:
-
Данные всегда уникальны, так как хранятся в одной рабочей версии (при правильном проектировании БД).
-
Доступность простых механизмов резервирования БД на уровне файловой системы.
-
Низкая стоимость перехода (модернизации) ПО для работы с удаленным хранилищем данных. В случае с «1C:Бухгалтерия 7.7» – просто замена пути к БД с локального (БД хранится на компьютере пользователя) на сетевой (БД переносится на файл-сервер).
-
Надежность доступа к БД зависит только от надежности сервера и не зависит от работоспособности остальных рабочих станций.
-
Появляется возможность дистанционно управлять доступом к файлам на сервере на уровне пользователей.
-
Появление функции восстановления системы с удаленным управлением (Disaster Recovery).
-
В то же время полученная система приобретает минусы:
-
Рост числа клиентских рабочих мест увеличивает объем трафика и нагрузку на сеть передачи данных.
-
Низкая надежность системы при использовании прямого доступа к файлам на сервере, требующая их блокировки на время работы пользователя, первым запросившего доступ к файлу.
-
Обработка данных и работа с БД осуществляются на клиентской стороне, скорость работы которых напрямую зависит от производительности аппаратной платформы клиентов.
Следующим этапом развития рабочих мест был переход от работы с файл-серверной архитектурой на клиент-серверную с использования языка запросов к БД (фактическим стандартом стал язык запросов SQL).
В результате СОД получили следующие преимущества:
-
Независимость от определенной реализации СУБД, так как язык запросов стандартизован и конкретная реализация СУБД не влияет на получаемый результат работы с ней.
-
Возможность использовать разные клиентские платформы, так как работа с серверной частью стандартизирована языком запросов.
-
Декларативность: клиентское ПО делает запрос на работу с данными и получает от сервера готовый результат.
-
Возможность переноса, резервирования и восстановления данных на уровне БД.
-
Возможность разных клиентов работать с одними и теми же данными одновременно – нет необходимости блокировок файлов на уровне файловой системы.
-
Возможность использования недорогих рабочих станций (вплоть до тонких клиентов) для экономии затрат на закупку и поддержку аппаратного обеспечения на стороне клиентов.
К существенным недостаткам можно отнести стоимость лицензий на серверные БД. На примере того же ПО «1С:Бухгалтерия 7.7» в этом случае используется клиентская часть, работающая посредством SQL-запросов с БД, например MS SQL Server.
Следующим этапом развития клиент-серверной технологии стал перенос на сервер самого клиентского ПО, доступ к которому с клиентского рабочего места осуществляется через виртуальный рабочий стол – Virtual Desktop Infrastructure (VDI). В результате сервер играет роль терминального сервера для запуска виртуальных машин. Клиенты в начале работы со своих терминалов подключаются к терминальному серверу, на котором для каждого пользователя запускается рабочая сессия виртуальной машины (либо клонируется преднастроенная в качестве шаблона). По сети от клиента серверу передается только информация от устройств ввода и от сервера к клиенту возвращается картинка удаленного виртуального рабочего стола для устройства отображения.
В результате применения этой технологии происходит централизация вычислительных ресурсов. То есть передача данных между клиентами и сервером происходит, как правило, на одном аппаратном комплексе и не использует сеть передачи данных между физическими клиентами.
Крупные игроки на рынке таких решений (например, Amazon с AWS или Alphabet с GCP) уже давно оперируют понятиями «ресурсы» и «покупка/аренда ресурсов», которые включают в себя и серверные процессоры, и память для их работы, и пространство для хранения пользовательских данных, и время администраторов для настройки и сопровождения СОД.
В результате получены следующие преимущества:
-
Увеличена скорость передачи данных между клиентским и серверным ПО, что существенно повысило скорость работы (даже в случае файл-серверной архитектуры используемого ПО) – теперь по сети не нужно пересылать обрабатываемые данные.
-
Увеличивается отказоустойчивость работы клиентского ПО: в случае нарушения канала связи между клиентским рабочим местом и сервером либо в случае аппаратных или программных сбоев на стороне клиентского рабочего места происходит лишь разрыв терминальной сессии (которая может быть настроена на безопасное стандартное автоматическое завершение на сервере). При повторном подключении пользователь попадает на предыдущую терминальную сессию со старым рабочим столом либо запускает новую сессию.
-
Нагрузка на сетевую инфраструктуру по большей части зависит только от количества терминальных клиентов и не зависит от объема обрабатываемой ими информации, что дает возможность планировать нагрузку сети.
-
Возможность повышения безопасности системы ввиду отсутствия обрабатываемых данных на клиентском рабочем месте (шпионское ПО конечному пользователю физически невозможно установить в терминальную сессию с клиентским ПО).
-
Из-за полного переноса процесса обработки данных на сервер гораздо проще анализировать и балансировать производительность системы и использовать купленную или арендованную мощность сервера с большей отдачей.
-
Возможность пользователям (как самой компании, так и еевендоров работать с соблюдением всех требований по безопасности в части доступа к данным и цифровой инфраструктуре компании.
-
Повышение доступности за счет возможности подключаться с разных клиентских аппаратных платформ (от привычных ПК до мобильных устройств) и из разных географических мест.
-
Повышение доступности виртуального рабочего стола за счет возможности его переноса с одного сервера на другой без перезапуска открытой сессии (Live Migration).
-
В случае обнаружения проблем с одной виртуальной машиной есть возможность закрыть текущий сеанс (либо передать его для анализа проблемы в службу поддержки) и создать новую виртуальную машину для продолжения работы.
-
Отпадают рутинные задачи по администрированию, обслуживанию, обновлению физических клиентских устройств.
-
Стоимость внедрения и поддержки развернутой VDI-инфраструктуры в долгосрочном периоде существенно ниже затрат на обслуживание удаленных филиалов до перехода на VDI (до централизации).
-
Усиление кибербезопасности и снижение рисков утечки конфиденциальных данных.
-
Возможность запуска специфического ПО, которое не имеет версии для операционной системы рабочей станции или legacy ПО.
-
Возможность аренды (а не покупки) инфраструктуры для тестирования и отказа от ее дальнейшего использования в случае, если результат не удовлетворяет поставленным требованиям.
В свою очередь, к недостаткам можно отнести:
-
Необходимость приобретения пользовательских лицензий на терминальные серверы и клиенты для каждого пользователя.
-
Увеличение сложности системы.
-
Возможно неконтролируемое разрастание парка виртуальных машин за счет необоснованного создания новых вместо использования существующих.
-
Необходимость переноса данных компании на инфраструктуру поставщика VDI-решений. Это может быть невозможно по требованиям безопасности как со стороны самой компании, так и государственных органов.
В настоящее время виртуальные рабочие места используются очень широко. Наиболее яркие примеры:
-
Компания Google использует виртуальные рабочие машины CloudTop с предустановленными Windows или Linux.
-
Компания Microsoft предлагает пользователям Azure Virtual Desktop (AVD) с ОС Windows.
-
Компания Oracle предлагает VirtualBox, который поддерживает множество гостевых операционных систем и аппаратных платформ.
-
Компания Citrix предлагает Citrix Virtual Apps and Desktops для организации гибких решений.
-
VMware Horizon View позволяет применять в качестве клиента веб-браузер или тонкий клиент с требуемым протоколом и использует Open Client — компонент с открытым исходным кодом.
-
Компания «1С-Битрикс» предлагает продукт «1C-Битрикс: Виртуальная машина» для решения широкого круга задач.
В современной реализации виртуальные машины с СУБД – это не просто сервер, а система серверов, являющаяся центром обработки данных (ЦОД).
При использовании VDI пользователю предоставляется постоянно работающий сервис (доступ на виртуальный стол), внутри которого развернуты и настроены все корпоративные сервисы и службы.
Места наиболее частого применения VDI:
-
Call-центры и банковские рабочие места обеспечивают требуемую безопасность данных при работе сотрудников. На них зачастую нет возможности запустить несогласованное ПО или даже подключить флеш-накопитель. Перед пользователем не стандартный ПК, а терминал со строго заданной функциональностью.
-
Дистанционная работа сотрудников, резко выросшая с началом пандемии и не потерявшая актуальности в настоящее время.
-
Мобильные работники имеют возможность доступа к сервисам компании с личных мобильных устройств (например, геодезисты или ремонтники оборудования городской инфраструктуры).
Перспективы дальнейшего развития
Дальнейшее развитие рабочих мест пользователя будет тесно связано с развитием ИИ-технологий. Нейросети уже используются для администрирования и автоматического выявления случаев нарушения безопасности и извещения об этом. ИИ также может самостоятельно предпринимать превентивные действия по предотвращению утечки данных.
ИИ уже сейчас частично заменяет пользователя при выполнении частых однотипных операций, например в службе поддержки для общения с пользователем. Это избавляет пользователя от необходимости поиска нужной информации в базе знаний компании и позволяет в диалоговом режиме задавать вопросы и получать ответы.
Кроме того, ИИ может эффективно анализировать и оценивать качество работы сотрудников, выявлять наиболее эффективные и, наоборот, проблемные рабочие сценарии.
Опубликовано 17.10.2023