Рубрики Обзоры

IT-деспотизм или IT-демократия?

Опубликовал ITC.UA

Наше обсуждение начнется несколько неожиданно: с опровержения вроде бы очевидного утверждения в преамбуле к статье. Для этого давайте обратимся к цифрам — согласно данным, представленным в официальном руководстве к одной из лучших программных систем, обеспечивающих создание IT-инфраструктур, основанных на принципах централизованного управления, хранения и обработки информационных ресурсов — Citrix MetaFrame, "IT-деспотизмом" охвачено фактически целое государство — свыше 120 тыс. компаний с общим числом работников, использующих IT-ресурсы, более 50 млн. человек (Тим Ризер, Стив Каплан, Алан Вуд, "Citrix MetaFrame Access Suite для Windows Server 2003 — официальное руководство", 2003 г.). Даже если сравнить эту цифру (50 млн.) с количеством официально проданных лицензий самой массовой ОС Windows XP (более 200 млн.), назвать "узкой нишей" область применения централизованных систем трудно. И уж тем более трудно считать предмет обсуждения малозначительным.

Две модели

Высокоуровневые архитектуры масштабных IT-систем, по сути, можно причислить к одному из двух основных классов на основании достаточно очевидного критерия. Несмотря на очевидность, кратко и емко сформулировать это критериальное свойство на русском языке трудно, поэтому прибегнем к "длинной" формулировке: наблюдается ли в системе ярко выраженная локализация задач хранения и обработки информации- Если анализ IT-системы позволяет ответить на этот вопрос утвердительно, то систему можно отнести к классу централизованных (или, неформально, "IT-деспотичных"). Есть еще одно распространенное современное название для централизованных IT-систем — SBC (Server-Based Computing), к которому мы прибегать не будем в силу неоднозначности аббревиатуры (SBC — это и Single Board Computer, и много чего еще). Если же утвердительный ответ невозможен, IT-систему следует относить к классу децентрализованных (или, опять же используя неформальные метафоры, "IT-демократичных"). Например, распространенная клиент-серверная архитектура является ярким образцом децентрализованной системы. Чтобы сразу расставить точки над "i", внесем некоторые необходимые коррективы в столь условный механизм классификации и определимся с используемыми в дальнейшем терминами.

Приведенное критериальное свойство имеет сугубо качественный характер, что, на первый взгляд, вносит неопределенность. И все-таки, даже если представить гипотетически возможную полноценную IT-систему, основанную на intranet-технологии, в которой пользовательские компьютеры фактически выполняют одно-един-ственное приложение — броузер, можно смело утверждать, что такая система относится к классу централизованных. Ведь хранение и обработка информации в ней локализованы на intranet-сервере (или группе серверов). А уж степень "оснащенности" клиентских машин, их исполнение, характер их использования, системное ПО и прочие нюансы — в принципе, дело десятое. Эти соображения подталкивают к уточнению нескольких важных терминов, которые являются непременным атрибутом обсуждения централизованных IT-систем. Термины эти давно стали общеупотребительными и даже заезженными, отчего приобрели совершенно недопустимую многозначность. Если с понятием "сервера" в данном контексте все достаточно ясно — это та аппаратно-программно-территориальная единица ("единица" вовсе не означает, что "сервер" должен быть один) в IT-системе, для которой истинно критериальное свойство, то понятия "терминал" и "тонкий клиент" менее очевидны. Ситуация с этими понятиями усложняется и их "исторической удаленностью" друг от друга: термина-лы ведут свою историю с "мэйн-фреймовых" времен, а "тонкие клиенты" — явление сравнительно недавнее. Хотя если немного задуматься, то между ними можно найти разве что количественные отличия — даже самые "тупые" (dumb) алфавитно-цифровые терминалы (АЦТ), по сути, являются специализированными компьютерами, выполняющими строго ограниченное число задач, в перечне которых главные — взаимодействие с сервером и пользователем. Если не замечать разницы между разрядностью процессоров (у АЦТ обычно восьмибитовых), объемами памяти и прочими сугубо технологическими деталями, то и "тонкие клиенты" во всех своих ипостасях ничем, в сущности, от терминалов не отличаются. Это все те же специализированные компьютеры, выполняющие ограниченное число задач. Потому в дальнейшем, отдавая пальму первенства исторически более ранним терминалам, автор будет употреблять именно этот термин, уточняя его по мере необходимости.

Первый графический терминал стоимостью… более 100 тыс. долл. — IBM 2250

Итак, централизованная (или SBC) модель IT-системы. Давайте сразу обратим внимание на очевидное, для начала — на ее структуру. "Звездообразная" высокоуровневая топология с выделенным "местом" локализации всех информационных процессов (сервером) в центральном узле и множеством терминалов — в периферийных. Второе достаточно очевидное соображение касается требований к пропускной способности соединений между терминалами и сервером — вне зависимости от сложности решаемых пользователем задач для соединения терминал-сервер всегда есть четко определенное верхнее пороговое значение требуемой полосы пропускания, зависящее исключительно от параметров терминала. Это, можно сказать, фундаментальная характеристика всех без исключения централизованных систем. В децентрализованных (например, в клиент-серверных) системах требования к полосе пропускания соединения между клиентской машиной и сервером, напротив, определяются исключительно спецификой решаемых задач. Интересно отметить, что с повышением быстродействия клиентских машин в таких системах наблюдается эволюционное возрастание требований к полосе пропускания соединений — ведь увеличение производительности клиентов провоцирует перекладывание большей части задач на "клиентские плечи".

Если теперь попытаться объединить эти два очевидных соображения, то можно додуматься до вещи менее очевидной и в силу этого более важной. При росте масштабов централизованной IT-системы логично говорить о линейной зависимости между числом подключенных терминалов и необходимой суммарной пропускной способностью — потому как фактически каждый терминал требует фиксированной полосы пропускания соединения. Для децентрализованных систем подобная зависимость очевидно нелинейна, и это фактически все, что можно о ней сказать "вообще". Прогнозирование роста требований к пропускной способности сети при масштабировании децентрализованной IT-системы — задача отдельная, очень сложная и выходящая далеко за пределы журнальной статьи.

Такого краткого "сравнительного анализа" нам, в принципе, достаточно для дальнейшего обсуждения, поэтому на дополнительных особенностях децентрализованных IT-систем мы останавливаться не будем (в конце концов, не угасший еще бум популярности клиент-серверных архитектур породил такое количество материалов об их специфике, что повторять в который раз недавно пройденное не имеет никакого смысла).

Эволюция терминалов — от АЦТ к тонкому клиенту

Традиционный алфавитно-цифровой терминал — это специализированный микрокомпьютер, предоставляющий пользователю отображаемое экранное пространство (обычно — 24 строки по 80 символов в каждой) и воспринимающий "команды" — нажатия клавиш на клавиатуре. Современные графические терминалы (тонкие клиенты), по сути, являются вариацией данной идеи, единственное существенное отличие заключается в "порциях" графической информации, обновляемых терминалом на экране. Если для АЦТ такая "порция" — один символ (или "знакоместо"), то для графического терминала — это "разрешаемый прямоугольный участок" растрового дисплея. Размеры участка не фиксированы и могут, в принципе, даже превышать физическую разрешающую способность устройства отображения (по крайней мере, протоколы типа RFB такого не запрещают). Это фундаментальное отличие порождает ряд следствий — если АЦТ для обновления одного "знакоместа" требуется передача по соединению одного (или двух — для многобайтных кодировок символов) байта, то графический терминал несоизмеримо прожорливее. Но при использовании традиционных "настольных" программ максимальная потребность графического терминала — полная перерисовка экрана, означающая передачу по сетевому соединению фактически содержимого памяти видеоадаптера. Для снижения требований к максимальной полосе пропускания разработчиками ПО для построения централизованных систем предусмотрены различные способы компрессии данных.

Немного истории… и не только

Как уже говорилось ранее, историческое первенство принадлежит централизованным системам, что позволяет использовать удачную аналогию с: историей развития общества. ЭВМ времен "тотально централизованных вычислений", как и древние государства, слишком дорого обходились создателям и предоставляли очень мало ресурсов. В таких условиях централизованное управление — вынужденная необходимость. И, естественно, "централизация" не является застывшим, раз и навсегда определенным понятием — под ней сначала подразумевалось монопольное управление и эксплуатация ресурсов ЭВМ одним пользователем ("абсолютная монархия"), затем появилась пакетная обработка ("абсолютная монархия" с ускоренной процедурой коронации), затем — режим разделения времени ("конституционная монархия"). Именно с появлением поддержки режима разделения времени операционными системами и начался период расцвета централизованных IT-систем   мэйнфреймы IBM буквально стали править миром, а в перечень терминалов попали не только очень близкие к традиционным сегодня АЦТ (например, IBM 2260, отличающиеся от современных АЦТ разве что "вынесением" управляющего терминалом микрокомпьютера в отдельное очень дорогое устройство, рассчитанное на обслуживание группы терминалов), но и настоящие "монстры" вроде IBM 2250 (первый интерактивный графический терминал с манипулятором типа "световое перо" стоимостью более 100 тыс. долл.). По данным уважаемого источника CACM (Communications of the ACM), к 1971 г. в США находились в эксплуатации порядка 70 тыс. терминалов класса IBM 2260, 100 тыс. наследников заканчивающейся эпохи "абсолютной монархии" — телетайпов и около тысячи графических терминалов 2250.

Достойный представитель второй волны централизованных систем — X-терминал Envizex корпорации HP. Это "почти рабочая станция" на основе мощного для своего времени RISC-процессора i960

Но настоящего пика централизованные системы достигли в период расцвета ОС Unix и DEC VAX VMS. Именно из этих времен к нам пришли и неувядающие АЦТ, производящиеся по сей день и ставшие промышленным стандартом (например, VT-100), и ряд "долгоживущих" программ. Особый этап "Unix-VMS-централизации" обозначился после создания и становления графической платформенно-независимой среды X Window (о ней мы некогда подробно говорили в статье "X Window — восполняя пробелы", "Компьютерное Обозрение", № 5-7, 2002). Его "особость" заключается в том, что X Window, несмотря на некоторую идеологическую отдаленность от терминалов (хотя термин "X-терминал" и является де-факто стандартным, он не соответствует принятой в этой статье классификации, все-таки X Window — основа клиент-серверных, т. е. децентрализованных систем), позволила реализовать бюджетную модель "не совсем централизованных" систем. Рабочие X Window станции с "урезанной" функциональностью выпускались серийно достаточно долго — практически до того момента, когда характеристики ПК достигли более чем приемлемого уровня. Сегодня серийный специализированный X-терминал — огромная, почти антикварная редкость, его заменили обычные ПК, использующие чаще всего одну из легально бесплатных Unix-подобных ОС и X-сервер (и эта тема не осталась вне нашего внимания — "Тонкий компьютинг и… Втор-сырье", "Компьютерное Обозрение", № 9, 2000). Клас-сические централизованные системы на основе ОС Unix (или Unix-подобных ОС) по сегодняшний день не утратили актуальности и достаточно широко применяются как в некритичных к графическим возможностям областях — с использованием обычных АЦТ, так и при построении весьма развитых графических систем (например, анализа результатов научных экспериментов или управления реального времени). Однако, согласно принятой классификации, основанные на возможностях X Window системы относить к классу централизованных можно только условно (это первое обещанное уточнение классификации) в силу того, что X Window не характе-ризуется предельным значением требуемой полосы пропускания, зависящим только от параметров X-терминала. Как и во всех децентрализованных системах, для X Window полоса пропускания определяется особенностями приложений. Но Unix не являлась бы одной из самых гибких операционных систем в истории, если бы кроме классической X Window не было больше ничего. Во-первых, даже ситуация с X Window в какой-то мере исправляется при замене X-протокола неоклассическим протоколом RFB с помощью системы VNC ("Виртуальный сетевой компьютинг", "Компьютерное Обозрение", № 14, 2001). В этом случае на сервере достигается полная локализация процессов обработки информации, а требования к полосе пропускания соединения сервер-терминал действительно определяются только свойствами терминала. Во-вторых, современные Unix-системы поддерживают ряд сервисов, обеспечивающих целый букет разнообразных способов и приемов построения централизованных гетерогенных IT-систем — от специализированного middleware до аналогичных RFB неоклассических протоколов других платформ (ICA, RDP).

Семейство графических терминалов Sun Ray: согласно концепции построения централизованных IT-систем Sun, с этих терминалов пользователи могут получать одновременный доступ к Unix- и Windows-приложениям

Очередной виток развития централизованных систем фактически начался с момента появления "терминальных" версий 32-битной ОС Microsoft Windows и продуктов компании Citrix для этой платформы. Трансформация Windows в пригодную для создания централизованных IT-систем ОС оказалась очень привлекательной благодаря огромному количеству качественного прикладного ПО, разработанного для нее. На сегодняшний день централизованные Unix-системы (будь то на основе коммерческих или свободно распространяемых версий Unix-совместимых ОС) вполне мирно сосуществуют со своими Windows-аналогами и в некоторых случаях отлично их дополняют — благо проблемы гетерогенности для этих платформ давно и успешно решены.

Экономика централизации

Технические вопросы и нюансы при принятой в статье степени детализации совершенно не важны. Для нас более важны экономические аспекты, оцениваемые "в большом" — не "точные" цифры, и даже не пресловутый анализ TCO (общая стоимость владения, Total Cost of Ownership) — слишком велик диапазон возможных вариаций как исполнения централизованных систем, так и условий их создания, развертывания и эксплуатации. При таком разбросе ни о какой "точности" говорить не приходится. Поэтому мы в наших рассуждениях прибегнем к качественному анализу, пусть не претендующему на полноту, но дающему, по крайней мере, достаточную информацию для самостоятельной оценки какой-либо реальной ситуации.

Современный графический терминал HP T5300 для централизованных систем на основе серверной ОС Windows (или комбинации Windows и Citrix Metaframe). В машинах такого класса традиционно используются хорошо отработанные аппаратно-программные средства, поддерживаемые платформами Windows CE или Windows XP Embedded

Начнем мы, пожалуй, с самого неприятного — с соотношения стоимостей развертывания централизованной и децентрализованной IT-систем. Обещать, что это соотношение, выраженное в цифрах, во всех случаях будет меньше единицы, может только неисправимый оптимист. Естественно, существует и исключение из правила, но если внимательно вчитаться в формулировку, назвать его "исключением" непросто: грамотно спроектированная централизованная IT-система на этапе развертывания может оказаться существенно дешевле, чем подчиненная той же цели безграмотно слепленная децентрализованная. И здесь все зависит в первую очередь от умения постановщиков высокоуровневых задач точно, без технократических излишеств и ура-оптимизма определить как информационные потребности, так и реальные возможности выбранных технологических решений. Например, для многих организаций, специализирующихся в оптовой и розничной торговле, может оказаться более чем подходящей централизованная IT-система на основе классического сочетания Unix-сервера и АЦТ. Это позволит уменьшить стоимость оборудования и системного ПО до рекордно низкой отметки (особенно если в качестве серверной ОС выбирается одна из свободно распространяемых Unix-совместимых систем). Но есть маленькое "но" — наличие на момент создания проекта пригодного к эксплуатации прикладного ПО и организаций, его поддерживающих, т. е. как способных обеспечить быстрый ввод в эксплуатацию, так и имеющих возможность достаточно быстро обучить персонал. В тех случаях, когда такое удачное совпадение имеет место, проекты безусловно удаются и оказываются очень эффективными (примеры, подтверждающие справедливость данного утверждения, можно найти в материалах этого номера журнала). Если же специфика применения системы настоятельно требует использования ПО традиционного, "настольного" класса или в процессе проектирования выясняется, что пригодного прикладного Unix-ПО для решаемых задач просто нет, следует крайне щепетильно рассмотреть все варианты с приобретением уже готового ПО для платформы Windows — вполне вероятно, что самые дорогие, но существующие сегодня, проверенные программы окажутся куда более разумным выбором, чем ожидаемые в будущем заказные разработки. Впрочем, все это прописная истина, которую другими словами можно сформулировать так: искать соответствия между возможностями ПО и информационными потребностями нужно помня, что любая уже существующая программа лучше, чем еще несуществующая, потому что ожидание — это не только риск, это еще и время, а время — это деньги.

А вот теперь стоит вернуться к фундаментальной особенности централизованных систем — линейной зависимости требований к полосе пропускания соединений при росте масштабов. Экономический аспект этого свойства достаточно очевиден — централизованные системы, по-видимому, очень хорошо подходят для построения масштабных распределенных IT-структур. Судите сами: широкополосные "дальнобойные" соединения далеко не дешевы на этапе эксплуатации. Соответственно их надо использовать максимально эффективно. Так, крупная ERP-система (Enterprise Resource Planning) в клиент-серверной архитектуре для каждого удаленного пользователя в среднем требует полосы пропускания, большей 128 KB. При росте их числа расходы на содержание только сетевых соединений могут достигать астрономических величин. В централизованных IT-системах требование к полосе пропускания ниже на порядок — но это только один аспект экономии.

Удаленные "терминальные офисы" не нуждаются в собственной вычислительной мощности и, соответственно, в неизбежно необходимом для обслуживания такой мощности персонале. Это второй аспект.

Любые сетевые соединения могут преподносить сюрпризы, как бы ни были надежны сетевые протоколы, серверы и операционные системы. Стоимость такого сюрприза определяется ценностью информации, передающейся от удаленного сервера через соединение. В "терминальном офисе" ее ценность фактически равна: нулю — любой сетевой сбой может привести разве что к временной порче картинки на экране монитора или к пропуску нажатия кнопки мыши (естественно, на системы управления, работающие в реальном времени, данное правило не распространяется). пусть этот третий аспект далеко не всегда очевиден, но в ряде случаев его целесообразно учитывать.

Четвертый аспект исключительно важен: централизованное управление лицензиями ПО практически всегда означает существенную экономию средств на этапе эксплуатации. Часто с ростом масштаба децентрализованных IT-систем проблема управления лицензиями пользовательского и системного ПО становится источником колоссальных эксплуатационных расходов — специализированная литература изобилует примерами таких "непредвиденных сложностей".

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

Не панацея…

Достоинств у централизованных IT-систем немало. Но это не означает, что они пригодны "для всех и для каждого". И здесь пора немного поговорить об их "еще одном" фундаментальном свойстве (на самом деле оно является всего лишь следствием из уже неоднократно упоминавшейся "сетевой" особенности). Ничто не бывает идеальным и ничего не бывает "за бесплатно", и более чем скромные фиксированные требования к полосе пропускания соединения между терминалом и сервером не исключение. Расплатой за такую приятную особенность становится максимальное время реакции — время, необходимое всей системе в целом на полное обновление экрана терминала, которое, увы, немалое (конкретных цифр даже не будем называть, потому что они зависят от массы технических нюансов — начиная от типа протокола и заканчивая характеристиками графической подсистемы). Гораздо важнее то, что оно фактически исключает возможность комфортной работы пользователей с нуждающимися в частых обновлениях большой экранной области программами. В обширный класс таких программ входят системы автоматизации проектирования, графические и издательские пакеты и т. п. При анализе пригодности централизованной архитектуры IT-системы для решения задач управления реального времени об этой особенности также не следует забывать. Но, как показывает практика, даже в масштабных централизованных проектах доля пользователей, для которых такая специфика значима, относительно невелика. В подобных случаях целесообразно прибегать к построению гибридных архитектур, объединяющих достоинства централизованных и децентрализованных систем. Благо любой рабочей станции или ПК можно придать "терминальные свойства" путем установки соответствующего ПО.

Контент сайту призначений для осіб віком від 21 року. Переглядаючи матеріали, ви підтверджуєте свою відповідність віковим обмеженням.

Cуб'єкт у сфері онлайн-медіа; ідентифікатор медіа - R40-06029.