Вернуться на главную страницу Algo.ru  
 

Оптимальные информационные системы

 

 

     

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

8 июля 1999
–> вернуться на System Integration (reviews)

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

Современный опыт показывает, что эффективность крупных информационных систем в большей степени определяется их эксплуатационными, а не функциональными характеристиками. Удовлетворение функциональным требованиям (соответствие, полнота, правильность) является только необходимым условием применимости системы.

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

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

Проблемы и их принципиальные решения

Типовые проблемы

На сегодня, можно выделить несколько проблем, типичных для крупных информационных систем:

1. недостаточные надежность и живучесть;

2. высокие эксплуатационные затраты;

3. неоперативность внедрения и развития;

4. недостаточные стабильность эксплуатации и защищенность инвестиций.

Все эти проблемы, прямо или косвенно, стоят денег и лежат в области эксплуатационных, а не функциональных характеристик ИС. Поэтому все они имеют общие и достаточно очевидные решения для большинства информационных систем.

Рассмотрим же эти решения — сначала принципиальные, а затем вытекающие из них технические.

Надежность и живучесть

Требования к системе в этой сфере просты: система должна функционировать без сбоев или с приемлемым их количеством (надежность), а основные функции должны выполняться даже при выходе из строя отдельных элементов системы. (Назовем это «живучестью»).

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

Что мы при этом выигрываем?

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

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

Такое решение вызывает, по крайней мере, три вопроса.

1. Как будет обеспечена информационная безопасность, если понятие закрепленного за пользователем компьютера размывается?

На этот вопрос можно ответить коротко — следует перейти от «закрытия» компьютера к аутентификации пользователя с помощью сертификата, воспринимаемого стандартным программным обеспечением на любом компьютере.

2. Как быть, если работа в условиях сбоя требует входа в систему с совершенно другой точки? или с ноутбука?

Ответ — система должна обеспечивать единообразный доступ по локальной и телекоммуникационной сети.

3. Как будет работать ИС без прикладных программ?

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

Централизация информации дает также ряд дополнительных преимуществ. Вот два из них:

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

    Еще одним элементом системы, о котором часто и совершенно напрасно забывают, является разработчик. Работоспособность системы не должна зависеть от ее поддержки разработчиками. О том, как это можно обеспечить — чуть позже.

    Эксплуатационные затраты

    Почему эксплуатационные затраты большинства крупных информационных систем непомерно высоки?

    Ответ на данный вопрос прост — это дефект, закладываемый при разработке. И корень зла здесь все в том же — в упоре на функциональность и выделении ресурсов на обеспечение эксплуатационных характеристик по остаточному принципу.

    Существует всем знакомое, но тем не менее крайне странное явление. Это информационные системы на Clipper'е, Paradox'е и других средствах быстрой разработки и макетирования. Понятно, что «денег сегодня» такие системы требуют мало. Но даже самые простые расчеты показывают, что «денег всего» на них уходит очень много.

    Опубликовано громадное количество материалов на тему совокупной стоимости владения компьютером или их совокупностью, т. е. информационной системой (Total Cost of Ownership, TCO).

    Статистика знает, что начальные затраты (на оборудование, программное обеспечение, обучение персонала) составляют 20–30%, а эксплуатационные затраты (на администрирование, сопровождение, техническое обслуживание, модернизацию, оплачиваемые потери рабочего времени, повышение квалификации персонала) — 70–80% от совокупной стоимости владения информационной системой.

    Это известно всем, однако пока мало кто делает правильные шаги для сокращения этой стоимости. По всей видимости, причина в том, что не очень то понятно, какие же это шаги? Вернее, понятно в общих чертах, — это применение новых технологий, позволяющих резко снизить эксплуатационные затраты. А более конкретно? Более конкретно — шаги эти очень просты. Основным средством снижения эксплуатационных затрат является уменьшение числа мест, в которых эти затраты производятся.

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

    Например:

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

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

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

    Возможность оперативного развития

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

    Хорошим примером здесь являются банки. Известны проблемы банков, которым недостатки автоматизированных банковских систем не позволяют оперативно осваивать новые виды финансовых услуг. Время «легких денег» прошло. Банки вынуждены искать новые формы привлечения средств и эффективного размещения активов. Найти их не проблема — есть мировой финансовый опыт, пока опережающий российский. Но финансовая политика должна быть подкреплена возможностями автоматизированной банковской системы. Как правило, нужная возможность отсутствует, поскольку новые формы работы сложнее и изощреннее старых. Значит, ее необходимо создать.

    Вопрос. Какие банки поделят новый рынок?

    Те, которые создадут новую возможность быстрее других. Отсюда вывод: возможность оперативного развития информационной системы, с одной стороны, и «живые деньги», с другой стороны, — это, если не одно и то же, то очень близкие вещи.

    Какие же принципиальные решения позволяют улучшить характеристику оперативности развития?

    Ответ: общеизвестная компонентная технология, основу которой составляют:

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

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

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

    Отсюда — дополнительное преимущество. Компонентная технология позволяет привлекать к разработке и развитию прикладной части ИС независимые команды. Это могут быть лучшие команды, специализирующиеся каждая в своей части предметной области. Это может быть отдел IT заказчика. Это может быть несколько команд, соревнующихся за лучшую или быстрейшую реализацию одного функционального блока.

    Все преимущества компонентной технологии не перечислишь. Но вот еще два очень важных:

  • лучшие возможности масштабирования системы (пример — перенос «тяжелых» ресурсоемких компонентов на выделенные серверы без перестройки системы);
  • безболезненная модернизация (пример — замена версии компонента только в одной точке и «на ходу»).

    Таким образом, компонентная технология улучшает сразу четыре эксплуатационные характеристики ИС:

  • оперативность развития;
  • надежность (имеется в виду надежность в звене «разработчик», повышающаяся за счет возможностей резервирования этого звена);
  • защищенность инвестиций, о которой речь ниже;
  • масштабируемость.

    Стабильность эксплуатации и защищенность инвестиций

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

    Эти характеристики взаимосвязаны и обусловлены зависимостью владельца системы:

  • от изменения конъюнктуры на рынке информационных технологий;
  • от разработчика информационной системы;
  • от собственного персонала, эксплуатирующего систему.

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

    Какие же меры можно предпринять для защиты от этого?

    Для защиты от изменений конъюнктуры на рынке информационных технологий следует использовать только аппаратное и программное обеспечение крупных производителей, финансовое положение которых стабильно (таких, как Compaq, Cisco и Microsoft). Отметим, что использование обеспечения не просто крупного, а одного крупного поставщика (каждого — в своей области) дает дополнительное преимущество — повышение производительности и эффективности системы за счет заложенных интеграционных качеств. Отличный пример тому — Microsoft BackOffice.

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

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

    Основные технические решения

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

    Итак, основу концепции эффективной информационной системы, разработанной специалистами компании КРОК, составляют четыре принципа. Вот три первых:

  • централизация не только хранения, но и обработки информации;
  • компонентная технология;
  • максимально стандартный, широко распространенный интерфейс пользователя;

    Что-то хорошо знакомое, не правда ли?

    Да это же технологии Интернет!

    Добавим сюда четвертый принцип:

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

    Задавшись вопросом, кто же является самым крупным производителем программного обеспечения, мы придем к вполне закономерному ответу. Как ни любят у нас ругать компанию Microsoft, это все-таки она.

    В итоге мы получаем следующую схему: интернет-технологии на базе решений Microsoft.

    Когда КРОК выработал свою концепцию и создал первую систему на ее основе, ей даже не нашлось определенного названия. Теперь оно появилось. Это Windows DNA — Distributed interNet Applications Architecture.

    Архитектура DNA поддерживает все, о чем мы говорили, и кое-что сверх того. Ее технические подробности общедоступны.

    Накопленный опыт

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

    Преимущества новой архитектуры оказались настолько многогранными и привлекательными, что специалистами компании было принято решение о её использовании в большинстве текущих проектов в качестве базы для разработки заказных информационных систем корпоративного уровня. Ведутся работы по наполнению базовой системы прикладной функциональностью общего назначения. Эти работы выполняются путем реинжиниринга апробированных решений КРОК и его партнеров в соответствующих областях. Готовятся крупные проекты на базе данной архитектуры в медицине и других областях.

    Заключение

    Итак, мы рассмотрели вопрос улучшения эксплуатационных характеристик информационных систем и выделили при этом следующие типовые проблемы:

    1. недостаточные надежность и живучесть;

    2. высокие эксплуатационные затраты;

    3. неоперативность внедрения и развития;

    4. недостаточные стабильность эксплуатации и защищенность инвестиций.

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

    1. Централизация информации (как данных, так и программ), которая не только полезна сама по себе, но и имеет полезные следствия:

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

    2. Компонентная технология.

    3. Использование аппаратного и программного обеспечения только от крупных производителей.

    4. Максимально стандартный, широко распространенный интерфейс пользователя.

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

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


  • –> вернуться на канал System Integration (reviews)