Как рабочее место оторвалось от «железа»: история VDI через призму технологий, компаний и людей. Часть 1

Прямо сейчас миллионы людей работают за компьютером, которого физически не существует. Их рабочий стол — лишь изображение, передаваемое по сети из дата-центра за сотни километров. Для пользователя он выглядит как обычный Windows, но в действительности его приложения, данные и сама операционная система работают совсем в другом месте.
Так выглядит результат более чем шестидесятилетней эволюции одной инженерной идеи: постепенно отделить рабочее место человека от конкретного физического компьютера. На этом пути сменились мейнфреймы, персональные компьютеры, терминальные серверы, гипервизоры и облака, а за каждым новым этапом стояли конкретные инженеры, компании и технологические прорывы, которые меняли представление о том, где на самом деле должен находиться компьютер.
Если смотреть на эту историю из сегодняшнего дня, менялись технологии, но набор задач оставался удивительно стабильным: отделить рабочую среду от конкретного устройства, централизовать управление, сохранить пользователю привычную автономность и научиться масштабировать такую инфраструктуру.
Один на всех, и все на одного
В начале 1960-х компьютеры были слишком дорогие и громоздкие, чтобы их можно было поместить рядом с каждым пользователем. IBM 7094, одна из самых мощных машин своего времени, выпущенная в январе 1962 года, стоила около $3,5 млн — как несколько десятков частных домов в США. Купить компьютер для каждого инженера не мог ни университет, ни крупная корпорация. Поэтому вычислительные ресурсы не распределяли между людьми — проще и выгоднее было к одной машине по очереди подключать самих людей.
В 1961 году Фернандо Корбато и его коллеги из MIT продемонстрировали CTSS — Compatible Time-Sharing System. Первую версию запустили на модифицированном IBM 709, затем систему перенесли на 7090 и позже на 7094. Один мейнфрейм одновременно обслуживал десятки терминалов, выделяя каждому пользователю небольшие интервалы процессорного времени. Инженер сидел за телетайпом, вводил команды и почти сразу получал результат. В его восприятии компьютер работал только для него, но мейнфрейм параллельно переключался между задачами множества людей, создавая для каждого пользователя иллюзию собственной машины.

Фото: NASA, общественное достояние
Так возникла новая модель потребления вычислений. Пользователю больше не требовалось владеть компьютером или даже находиться рядом с ним. Ему был нужен только терминал с доступом к центральной системе. Физическая машина оставалась общей, но рабочая среда впервые начинала становиться персональной.
С нашей точки зрения, именно здесь появляется одна из главных идей, которая пройдет через всю дальнейшую историю виртуальных рабочих мест: пользователю на самом деле нужен не собственный компьютер как физический объект, а гарантированный доступ к своей рабочей среде. Все остальное — где выполняются вычисления, на каком оборудовании и как распределяются ресурсы — постепенно становится задачей инфраструктуры.
Спустя шесть десятилетий этот принцип остается в основе VDI: вычислительные ресурсы находятся в общей инфраструктуре, тогда как пользователь получает собственную рабочую среду и перестает зависеть от конкретного физического ПК. Рабочий стол может быть доступен с тонкого клиента, обычного компьютера или ноутбука, а сама пользовательская среда остается внутри централизованной инфраструктуры.
Насколько дефицитным ресурсом было машинное время, хорошо показывает история одного из IBM 7094 в MIT. Его работу делили на три восьмичасовые смены: одну использовал сам институт, вторую — другие университеты Новой Англии, третью — IBM. Во время своей смены компания, среди прочего, рассчитывала гандикапы для яхтенных гонок. Президент IBM Томас Уотсон-младший участвовал в соревнованиях на проливе Лонг-Айленд, а подсчет результатов требовал сложных вычислений.
Компьютер стоимостью $3,5 млн прерывал научные и инженерные задачи, чтобы посчитать результаты парусной гонки. Не из-за прихоти архитекторов системы, а потому, что свободной вычислительной мощности поблизости просто не существовало.
Именно экономика сделала централизацию неизбежной. Чем дороже был компьютер, тем больше пользователей приходилось подключать к нему одновременно. Поэтому к концу 1960-х тайм-шеринг превратился из университетского эксперимента в стандартную корпоративную модель. Банки, страховые компании и ритейлеры связывали удаленные терминалы с центральными машинами по телефонным линиям.
Рабочее место могло находиться в другом здании или другом городе, тогда как данные и вычисления оставались в одном центре. Сегодня такую архитектуру назвали бы централизованной доставкой рабочих сред.

Похожие системы создавались и по другую сторону железного занавеса. В новосибирском Академгородке Андрей Ершов с 1966 по 1972 год руководил разработкой АИСТ — «автоматической информационной станции». Это была программно-аппаратная система, поддерживавшая несколько режимов работы, от пакетной обработки до разделения времени. Ее первая версия, АИСТ-0, относилась к числу первых отечественных мультипроцессорных машин.
У этой модели, однако, был фундаментальный недостаток. Пользователь получал доступ к компьютеру, но не контроль над ним. Его задача конкурировала с десятками других, а приоритет определялся не личными потребностями, а правилами центральной системы.
Эту особенность хорошо иллюстрирует байка о последнем IBM 7094 в MIT. Рассказывают, что после его отключения в 1973 году в очереди обнаружили низкоприоритетный процесс, запущенный еще в 1967-м. За шесть лет он так и не получил процессорного времени: в системе постоянно находились задачи поважнее.
История слишком показательна, чтобы воспринимать ее буквально. Но она точно описывает главный компромисс эпохи: централизация дала доступ к ресурсам компьютера, но одновременно лишала пользователя автономности. Следующий этап развития должен был решить именно эту проблему: предоставить не просто сеанс на общей машине, а собственный изолированный компьютер, пусть пока еще и виртуальный.
Дальнейшее развитие технологий подтвердило, что одной централизации для полноценного рабочего места недостаточно. Пользователю требовалась собственная изолированная среда, а ИТ-службе — возможность управлять ею централизованно. По сути, вся следующая история виртуализации стала поиском баланса между этими двумя требованиями.
1972: виртуализация становится продуктом
Чтобы приблизить работу с мейнфреймом к владению собственным компьютером, персонального процессорного времени было недостаточно. Требовалось изолировать не только задачи, но и сами машины.
2 августа 1972 года IBM анонсировала VM/370 — операционную систему для мейнфреймов семейства System/370. В ней пользователю выделялся уже не просто временной интервал внутри общей среды, а полноценная виртуальная машина: программная копия компьютера со своей операционной системой, памятью, устройствами и настройками.

Физически все эти машины продолжали работать на одном мейнфрейме. Логически каждая существовала отдельно. Пользователь мог загружать собственную операционную систему, менять конфигурацию и даже допускать ошибки, не затрагивая соседей. Если тайм-шеринг только создавал ощущение, что компьютер принадлежит человеку, то виртуализация впервые предоставляла действительно обособленную вычислительную среду.
VM/370 возникла не внезапно. Она опиралась на экспериментальную систему CP-40, которую IBM разрабатывала в Кембриджском научном центре с середины 1960-х. CP-40 существовала в единственном экземпляре: под нее вручную доработали System/360 Model 40, добавив блок трансляции адресов, которого в серийной архитектуре не было. Система поддерживала четырнадцать виртуальных машин одновременно, каждая имела фиксированные 256 Кбайт виртуальной памяти. Последовавшая далее CP-67 стала переносом той же идеи на System/360 Model 67. Это была серийная модель с аппаратной поддержкой виртуальной памяти. К 1969 году CP-67 использовалась примерно на пятнадцати площадках. Этого оказалось достаточно, чтобы доказать: виртуализация представляет интерес не только для исследователей.
Компании National CSS и IDC построили на CP-67 коммерческий бизнес, продавая заказчикам доступ к вычислительным ресурсам. По сути, они предлагали инфраструктуру как услугу за несколько десятилетий до появления облачного рынка. Клиенту не требовалось покупать мейнфрейм и содержать собственный вычислительный центр. Он арендовал виртуальную машину и платил за доступ к мощности чужого оборудования.
Именно здесь виртуализация впервые показала свой основной экономический смысл. Она позволяла разделить дорогую физическую систему между множеством клиентов, сохранив для каждого ощущение отдельного компьютера. Владелец инфраструктуры повышал загрузку оборудования, а пользователь получал контроль без необходимости владеть самим железом.
CP-40 и CP-67 доказали работоспособность этой модели. VM/370 превратила эксперимент в серийный продукт, который можно было внедрять, сопровождать и продавать крупным организациям.
К 1981 году в мире работало уже более 2500 систем семейства VM. Внутри своей виртуальной машины пользователь обычно запускал CMS — Conversational Monitor System, легкую однопользовательскую среду для интерактивной работы. Формула стала принципиально иной: один человек, одна операционная среда, один изолированный компьютер. Только сам компьютер существовал не в отдельном корпусе, а внутри памяти общего мейнфрейма.
Эта архитектура распространялась и за пределами западного рынка. Советская серия ЕС ЭВМ, воспроизводившая основные архитектурные принципы IBM System/360 и System/370, получила собственную Систему виртуальных машин — СВМ. Первую версию, СВМ 1.1, выпустило в 1982 году восточногерманское предприятие «Роботрон» на основе пятого издания VM/370. Последующие версии развивал минский НИИЭВМ.

Виртуализация тем самым сняла часть противоречия, заложенного в тайм-шеринге. Централизация больше не означала, что все пользователи должны работать в одной общей среде. Инфраструктура могла оставаться единой, тогда как рабочие пространства персонализировались.
Именно поэтому VM/370 можно считать прямым предком VDI. Базовый принцип сформировался уже тогда: каждому пользователю предоставляется собственная изолированная машина, работающая на общем оборудовании. Через тридцать лет изменятся только процессоры, интерфейсы и способы подключения. Вместо текстового терминала появится графический рабочий стол, а мейнфрейм уступит место серверной ферме. Но архитектурная идея останется прежней.
Здесь особенно важен не сам факт появления виртуальных машин, а принцип, который за ним стоял: общая физическая инфраструктура больше не означала общей рабочей среды. Каждый пользователь мог получить собственную изолированную машину, тогда как вычислительные ресурсы оставались централизованными. Именно этот баланс между персонализацией и централизацией мы и сегодня считаем одной из базовых идей VDI.
Современный VDI добавляет к этому принципу еще один слой — автоматизированное управление жизненным циклом таких машин. Администратору уже не требуется вручную создавать отдельную среду для каждого сотрудника.
Казалось бы, с VM/370 индустрия нашла идеальный компромисс между централизацией и автономностью. Однако в начале 1980-х рынок резко качнулся в противоположную сторону. Пользователи больше не хотели получать виртуальный компьютер внутри чужой системы. Целью стал настоящий компьютер, поставленный прямо на стол в кабинете.
Каждому — свое железо
12 августа 1981 года IBM представила Model 5150 — IBM Personal Computer. В базовой конфигурации он стоил $1565, оснащался процессором Intel 8088 с частотой 4,77 МГц и всего 16 Кбайт оперативной памяти. Вместо дисковода покупателю предлагался кассетный интерфейс. По меркам даже ближайших лет характеристики выглядели скромно. Но значение IBM PC определялось не производительностью.

Компьютер перестал быть централизованным ресурсом, доступ к которому нужно было делить с другими. Он стал личным устройством. Пользователь сам запускал программы, хранил данные, устанавливал периферию и распоряжался вычислительной мощностью. Не нужно было ждать свободного времени на мейнфрейме или подстраиваться под правила общей системы. Впервые автономность стала физической: собственный компьютер действительно стоял на столе.
Сама идея персональной машины возникла не вместе с IBM PC, однако именно IBM превратила ее в массовый корпоративный стандарт. Компания опубликовала техническую документацию, использовала доступные на рынке компоненты и фактически открыла архитектуру для копирования. В течение нескольких лет появились совместимые компьютеры Compaq, Dell и множества менее известных производителей. Формировалась экосистема, в которой программы и периферия могли работать на машинах разных брендов.
Открытая архитектура резко снизила стоимость входа. Компьютер превратился из редкого капитального актива в относительно доступный рабочий инструмент, количество которого можно было увеличивать вместе со штатом. Вместо того чтобы расширять один центральный вычислительный комплекс, компания покупала еще один ПК для нового сотрудника.
На первый взгляд это была окончательная победа децентрализации. Программы хранились на собственных дискетах, данные — на локальном носителе, настройки зависели от предпочтений конкретного человека. Пользователь больше не получал рабочую среду от центральной системы — он владел ею. Но персональная свобода имела обратную сторону. Чем дешевле становились сами компьютеры, тем больше их появлялось в компаниях, и тем сложнее становилось ими управлять.
К концу 1980-х сотни и тысячи автономных ПК превратились в сотни и тысячи отдельных объектов сопровождения. На каждом компьютере были свои программы, настройки, версии драйверов и локальные данные. Любой из них мог сломаться, заразиться вирусом или выпасть из корпоративного стандарта.
Жесткие диски, ставшие массовыми к середине десятилетия, позволяли хранить все больше информации непосредственно на рабочем месте. Одновременно данные оказывались привязаны к конкретному устройству. Если диск выходил из строя, а резервной копии не было, компания могла потерять результаты нескольких месяцев работы одного сотрудника. Если человек увольнялся или переходил в другой отдел, вместе с ним часто исчезало и понимание того, что именно хранилось на его компьютере.
Росли и риски безопасности. В 1986 году появился Brain — первый широко известный вирус для IBM PC, распространявшийся через дискеты. За ним последовали десятки других вредоносных программ. Сначала заражение переходило с компьютера на компьютер вместе с физическими носителями, затем — по локальным сетям. Автономность каждого рабочего места означала, что защита всей компании зависела от состояния каждой отдельной машины.

Та же проблема возникала с обновлениями. Чтобы установить новую версию программы на трехстах рабочих местах, специалистам нередко приходилось физически обойти триста столов. Инфраструктура масштабировалась почти линейно: больше сотрудников означало больше компьютеров, больше операций и больше администраторов.
Персональный компьютер решил проблему зависимости пользователя от центральной системы, но создал для бизнеса другую зависимость — от множества плохо контролируемых конечных устройств. Чем свободнее становился отдельный сотрудник, тем меньше контроля оставалось у ИТ-службы над программами, данными и конфигурациями.
По нашим наблюдениям, это противоречие никуда не исчезло и сегодня. С ростом количества рабочих мест в компании растет и разнообразие сценариев их использования, а также растет цена управления каждым из них как отдельным устройством. Этот конфликт в конечном счете и сформировал один из главных практических аргументов в пользу VDI.
Задача заключается не в том, чтобы отнять у пользователя персональную рабочую среду, а в том, чтобы снова сделать ее управляемой из единого центра: просто в современной реализации администратор управляет не каждым ноутбуком по отдельности, а пулами рабочих мест, правилами доступа и ресурсами инфраструктуры.
Поэтому маятник снова начал двигаться в сторону централизации. Только теперь рынок уже не хотел возвращаться к текстовым терминалам и мейнфреймам. Пользователям требовался привычный персональный интерфейс Windows, а компаниям — возможность снова управлять вычислениями из единого центра.
Citrix, Microsoft и первая попытка вернуться
В 1989 году бывший разработчик IBM Эд Якобуччи основал Citrix. Его идея выглядела как попытка соединить две уже состоявшиеся парадигмы: управляемость мейнфрейма и удобство персонального компьютера.
Обычный сервер должен был превратиться в многопользовательскую систему, на которой одновременно работают несколько человек. Приложения и данные оставались в вычислительном центре, но пользователь видел привычный интерфейс и взаимодействовал с ним так, словно программа была запущена на его собственном ПК.

Это был не полный отказ от персонального компьютера, а переосмысление его роли. Конечное устройство больше не обязано было выполнять всю работу. Оно могло лишь отображать результат вычислений, происходящих на сервере, и передавать туда команды пользователя.
Первый продукт компании, Citrix Multiuser, строился на лицензированном исходном коде OS/2. Несколько пользователей могли одновременно подключаться к одному серверу и работать в отдельных сессиях. Для передачи интерфейса Citrix разработала протокол ICA — Independent Computing Architecture. В одну сторону по сети уходили нажатия клавиш и движения мыши, в другую — изменения изображения на экране.
Такой подход менял саму экономику рабочего места. Вместо того чтобы устанавливать приложение на каждый компьютер, компания могла развернуть его один раз на сервере. Данные больше не обязательно хранились на локальном диске. Обновление центральной системы сразу становилось доступно всем пользователям, а требования к конечному устройству снижались.
Однако первый выход Citrix на рынок едва не стал последним. Почти сразу после выпуска Multiuser Microsoft объявила о смене стратегического курса: вместо совместного развития OS/2 компания сосредоточится на Windows. Продукт Citrix оказался привязан к платформе, перспективы которой внезапно стали неопределенными.
Для небольшой компании это был почти фатальный удар. Citrix создала технологию централизованной доставки приложений, но выбрала операционную систему, от которой ключевой партнер собирался отказаться. Компания выжила благодаря инвестициям Intel и самой Microsoft, однако ей пришлось заново строить продукт уже вокруг Windows NT.
В начале 1990-х Citrix получила лицензию на исходный код Windows NT. В 1995, вышла WinFrame — модифицированная версия Windows NT 3.51, поддерживавшая одновременную работу до 15 пользователей. Приложения исполнялись на сервере, а по сети передавался их интерфейс. Для пользователя это выглядело почти как обычная Windows: он видел рабочий стол, запускал программы, вводил текст и перемещал окна. Но все вычисления происходили в центре, где администраторы могли контролировать программы, конфигурации и доступ к данным.

WinFrame возвращала бизнесу то, что было утрачено в эпоху массовых ПК: единую точку управления. При этом пользователю не приходилось отказываться от привычной графической среды. В этом состоял главный компромисс терминальной модели: централизовать исполнение приложений, сохранив внешнее ощущение персонального рабочего места.
На этом этапе начинает складываться архитектура, черты которой легко узнать и в современных решениях: отдельно существуют вычислительная инфраструктура, механизм назначения рабочих мест, клиент подключения и средства удаленного доступа.
С нашей точки зрения, именно этот выбор направления оказался определяющим. Пользователь уже не был готов отказаться от привычной персональной среды ради удобства ИТ-службы, поэтому дальнейшая централизация могла происходить только при условии, что для самого сотрудника она станет практически незаметной. В дальнейшем развитие рынка подтвердило жизнеспособность именно такой модели.
На выставке Comdex 1995 года компания Wyse показала Winterm — один из первых тонких клиентов, рассчитанных на работу с Windows. Это была небольшая машина без жесткого диска и других сложных механических компонентов. Она практически ничего не хранила и не вычисляла локально: подключалась к серверу и отображала удаленную сессию. Winterm получил награду Best of Comdex.

Казалось, рынок нашел наследника старого терминала. Только вместо текстовых команд пользователь получал Windows, а вместо дорогого мейнфрейма компания могла использовать серверы стандартной архитектуры.
Однако успех WinFrame создал для Citrix новую угрозу. Microsoft увидела, что многопользовательская Windows востребована корпоративными заказчиками, и решила встроить эту возможность непосредственно в собственную операционную систему. Для Citrix открытая конкуренция с владельцем платформы была практически безнадежной: Microsoft контролировала Windows, ее исходный код и каналы распространения.
Якобуччи выбрал не борьбу, а партнерство. Citrix предоставила Microsoft технологию Multi-Win для Windows NT 4.0 Terminal Server Edition, выпущенной в 1998 году. Microsoft заплатила компании $75 млн и заключила дополнительное лицензионное соглашение с выплатами, которые оценивались еще примерно в $100 млн.
Взамен Citrix сохранила доступ к исходному коду Windows и сосредоточилась на разработке MetaFrame — надстройки над Terminal Server. Microsoft предоставляла базовую многопользовательскую платформу и массовый рынок, а Citrix добавляла собственный протокол ICA, средства управления, балансировки нагрузки и доставки приложений.
Так сложилась модель, определившая рынок почти на десятилетие. Microsoft отвечала за операционную систему и масштаб распространения. Citrix — за качество удаленной работы и корпоративную эксплуатацию.
Индустрия фактически вернулась к архитектуре 1960-х: множество пользователей снова подключались к одному центральному компьютеру. Но теперь на экране был не телетайп, а графический интерфейс Windows, а в роли мейнфрейма выступал относительно доступный сервер.
Строго говоря, многопользовательский доступ к централизованным приложениям к этому моменту не был новой идеей. Еще с конца 1960-х IBM развивала CICS — систему, позволявшую сотням и тысячам пользователей одновременно работать с приложениями на мейнфрейме. IBM 3033 середины 1970-х с 16 Мбайт памяти обслуживал под управлением CICS до 17 500 терминалов.
Новизна терминальной модели 1990-х была в другом. CICS работала с приложениями, написанными специально под мейнфрейм и символьный терминал: экранные формы, поля ввода, передача данных блоками. К 1990-м сотрудникам нужен был тот софт, который стоял у них на ПК под Windows. Перенести такой софт на мейнфрейм было нельзя, пришлось бы переписывать его целиком. Citrix разворачивала на сервере привычную графическую среду Windows с окнами, мышью и существующими приложениями.
Задача заключалась уже не в том, чтобы обеспечить многопользовательский доступ как таковой, а в том, чтобы централизовать вычисления, сохранив для сотрудника привычное персональное рабочее место.
При этом фундаментальная проблема оставалась нерешенной. Пользователи получили отдельные сессии, но продолжали делить одну операционную систему. Централизация вернула управляемость, однако настоящей изоляции между рабочими местами все еще не было.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.