Начало. Часть 1. Часть 2. Часть 3. Часть 4. Date: 2010-11-08 12:17:49+03 Рабочие материалы на проведение исследования по выработке и апробации подхода к созданию перспективных Программно-Технических Комплексов министерств и ведомств Российской Федерации. Власов Григорий (При методической помощи Владимира Орлова, консультациях и
правках Александра Костырко, правках Кристины Кучеровой). 1 Задачи, стоящие перед министерствами и ведомствами РФ.1.1 Текущее состояние автоматизации деятельности министерств и ведомств РФ после внедрения распределённых Программно-Технических Комплексов В организациях создан ряд Программно-Технических Комплексов (далее ПТК) и проводится их развёртывание на распределённых системах. Экземпляры ПТК разворачиваются на основе региональных вычислительных центров, и предназначены для обслуживания пользователей региона, хранения и обрабатывания данных региона. Правительство РФ ставит перед организациями новые задачи, выполнение которых приводит к повышению нагрузки на существующие ПТК, и к необходимости изменения существующих ПТК. Каждый ПТК разворачивается на отдельном наборе серверов архитектуры «Intel». В дополнение к основному экземпляру ПТК, в каждом регионе планируется к разворачиванию резервный экземпляр, с целью: • повышения доступности методом переключения выполняемых задач на резервный экземпляр в случаях сбоя основного; • повышения производительности переносом части задач, выполнением которых можно пожертвовать в случаях сбоя основного экземпляра ПТК, на резервный экземпляр ПТК. В связи с периодическим изменением регионального деления Российской Федерации, ПТК, построенные на основе регионального разделения, предусматривают процедуры объединения и разделения регионов. ПТК предусматривают средства интеграции между регионами, федеральным центром. В организациях практикуется аутсорсинг разработки ПО, но эксплуатацией ПТК чаще занимается своими силами. 1.2 Проблемы, выявленные в ходе внедрения ПТК.В ходе внедрения ПТК на основе распределённых систем с разделением по региональным вычислительным центрам выявлены следующие проблемы. • Возрастание совокупных расходов на приобретение ПТК. В связи высокими требованиями к производительности ПТК, большим количеством одновремённо работающих пользователей и обрабатываемых данных, а также в связи с планируемым возрастанием нагрузки на ПТК, требуется размещение ПО на достаточно мощных серверах, что, в совокупности с лицензированием ПО по ядрам процессоров, ведёт к возрастанию суммарной стоимости приобретения экземпляров ПТК. Стоимость приобретения возрастает также с необходимостью резервирования части программно-аппаратных средств для повышения доступности. В то же время, существует явно выраженные пики нагрузки отдельных региональных серверов, в связи с неравномерностью рабочей нагрузки по времени — в ночное время ПТК или не выполняют нагрузки, или выполняют работы по обеспечению функционирования. Таким образом, при недостатке вычислительных мощностей в часы пик, сервера остаются недогруженными в остальное время. • Возрастание расходов на внедрение экземпляров ПТК во множестве региональных вычислительных центров, связанных с работами на развёртывание экземпляров ПТК, их конфигурацию, обучение персонала эксплуатирующих подразделений. • Возрастание расходов на обслуживание множества распределённых экземпляров ПТК, связанных с проведением модернизации программного обеспечения, с выполнением работ по обеспечению работоспособности, администрированием ПТК. Ситуацию ухудшает отсутствие достаточного количества подготовленного персонала в региональных подразделениях, где, в связи с разворачиванием ПТК, требуется выполнение работ по обслуживанию, трудности с наймом и обучением персонала, что тоже ведёт к возрастанию расходов на обслуживание. • Возрастание риска отказа в обслуживании ПТК какого-либо региона в связи с возможным ненадлежащим и/или нерегулярным администрированием, на что влияет также отсутствие достаточно подготовленного административного персонала, и связанными с этим расходами на устранения такого риска. • Возрастание расходов на мониторинг множества распределённых ПТК, каждый из которых требует постоянного отслеживания состояния с целью раннего выявления возникших или потенциальных проблем. 1.3 Задачи, стоящие перед организациями, в связи с развёртыванием ПТК.Основной задачей является всестороннее повышение эффективности, как отношение эффекта от внедрения ПТК к затратам на его достижение, при обеспечении достаточного уровня безопасности систем и данных, в том числе согласно Закону о персональных данных. 1.3.1 Увеличение эффекта от внедрения ПТК Состоящее из повышения: • производительности, как количества выполняемой работы в промежуток времени; • управляемости, как способности по переводу ПТК из одного состояния в другое; • отказоустойчивости, как способности системы сохранять нормальное функционирование при отказе системы целиком или частично, и доступности, как способности производить обслуживание пользователей; • возможности к масштабированию, как характеристики изменения производительности при кратном увеличении нагрузки по количеству одновремённо обслуживаемых пользователей и обрабатываемых данных. 1.3.2 Снижение затрат на владение ПТК. Состоящих из затрат на: • приобретение, состоящее из приобретения аппаратного обеспечения, программного обеспечения, стоимости разработки ПТК; • внедрение, включающее разворачивание, настройку, ввод в эксплуатацию ПТК, обучение административного персонала обслуживанию ПТК; • обслуживание, включающее постоянный мониторинг состояния, выполнения регламентных работ, предотвращение и устранение неисправностей и сбоев; за период времени жизненного цикла ПТК. 2 Исследование проблемы.2.1 Краткий анализ развития автоматизированных вычислительных систем.В целом, ситуация, сложившаяся в организации, типична для развития ИТ в российских условиях. Вычислительные системы прошли путь от централизованных комплексов на основе компьютеров mainframe до использования распределённых серверов unix через этап полной децентрализации на основе персональных компьютеров. Смена этих этапов была обусловлена уровнем развития технологий, инфраструктурных составляющих, и стоящих перед ИТ задач. На текущий момент автоматизация бизнес-процессов выполнена чаще всего на основе систем, принадлежащих отдельным департаментам, или отдельным региональным структурам, которые занимаются их эксплуатацией в интересах своего подразделения. Такие вопросы, как разграничение доступа пользователей, обеспечения доступности систем, решались на уровне отдельных регионов/департаментов. Многие факторы, в том числе и централизация управления подразделениями, законодательство, и прочее, приводят к необходимости создания дополнительных систем, с целью управления обеспечивающими системами, таких, как корпоративные директории, управление идентификаторами пользователей, и прочее, и их интеграцией с основными бизнес-системами. 2.1.1 Изменение ситуации с сетевой инфраструктурой. Слабо развитая сетевая инфраструктура, отсутствие каналов связи, плохое качество и высокая стоимость доступных каналов связи, были одними из факторов, способствовавшими повсеместному созданию корпоративных систем по распределённому принципу, в условиях массово проводившейся автоматизации. В таких условиях, распределённые системы позволяют приблизить обрабатываемые данные к пользователям, устранить зависимость от каналов связи. Такой подход облегчался большой насыщенностью ИТ сферы достаточно хорошо подготовленными специалистами, доступными во всех регионах. Но по мере развития распределённых систем начали проявляться и их характерные особенности, повышающие затраты на их сопровождение. К уже перечисленным проблемам (см. п. ) можно добавить затраты на интеграцию распределённых систем. Наличие никак не взаимосвязанных систем, конечно же, решают часть задач по автоматизации, но дальнейшее развитие качества услуг, поставляемых распределёнными системами, уже невозможно без их интеграции. Уровни и развитость интеграции распределённых систем в целом следуют за возможностями каналов связи. 2.1.2 Изменение ситуации с ИТ специалистами. Недостаток, низкое качество, и высокая стоимость каналов связи отчасти компенсировались наличием специалистов соответствующей квалификации в регионах, что тоже способствовало построению корпоративных систем по распределённому принципу. Но с годами ситуация изменилась. По данным IDC в РФ спрос на ИТ специалистов превышает предложение почти на 10%. В регионах ситуация ещё хуже, ИТ специалистов нужной квалификации практически нет. Если же компания обучит специалиста, то с очень высокой степенью вероятности он покинет компанию, и ситуация с нехваткой специалистов этому способствует. Большинство существующих специалистов стараются приобретать знания и навыки в наиболее быстро развивающихся, новых областях ИТ, упуская из виду такую относительно консервативную область ИТ, как транзакционная обработка данных, и не обладающих достаточными знаниями и опытом в фундаментальных вопросах использования баз данных. В результате появляются ПТК, работающие с базами данных не самым эффективным образом, что увеличивает требования к аппаратному обеспечению, соответственно, увеличивается стоимость лицензий на программное обеспечение, и, как следствие, увеличивается совокупная стоимость приобретения ПТК. Опережающий рост вычислительных мощностей по сравнению с количеством обрабатываемых данных и обслуживаемых пользователей в последние десятилетия привёл к появлению и закреплению небрежного стиля программирования в целом, и доступа к данным в РСУБД в частности, так как ошибки программирования и связанные с этим накладные расходы используемые вычислительные ресурсы многократно перекрывались ростом доступных вычислительных мощностей. В результате этого фактора, а также в связи с появлением множества средств автоматизации программирования, в том числе и средств генерации запросов на доступ к данным, появились системы, использующие не оптимальные запросы на доступ к данным, планы выполнения которых никогда не изучались. Это привело к резкому сокращению к нынешнему времени количества специалистов, знающих особенности работы с конкретными РСУБД в деталях, умеющими изучать планы доступа запросов, и оптимизировать производительность систем, использующих РСУБД, а стоимость этих специалистов возросла. Такая ситуация могла бы сохранятся длительное время в условиях роста доступных вычислительных мощностей и постоянства обрабатываемых данных и обслуживаемых пользователей. Но развитие автоматизации различных областей человеческой деятельности, охват новых, ранее не автоматизированных областей, возрастающий срок эксплуатации существующих систем, приводят к лавинообразному росту количества обрабатываемых данных и обслуживаемых пользователей. В это же время происходит изменение лицензионной политики основных поставщиков ПО в том числе СУБД, и прекращение роста вычислительных мощностей. Основная лицензионная политика на текущий момент учитывает количество ядер процессоров для определения количества лицензий на ПО. В результате этого накладные расходы, являющиеся результатом ошибок программирования, получили денежное выражение, иногда очень значительное. В целом ситуация с нехваткой квалифицированных специалистов становится фактором, сдерживающим развитие автоматизации. 2.1.3 Сопоставление динамики изменения затрат на ИТ специалистов и на сетевую инфраструктуру. Тенденции изменения затрат компаний на сетевую инфраструктуру в сравнении с затратами на ИТ специалистов можно выразить следующим графиком ,
Figure 1: Сравнение затрат на специалистов и на каналы связи. из которого наглядно видно, что сложившаяся ИТ инфраструктура, построенная по распределённому принципу, не является экономически оправданной в нынешней ситуации. На текущий момент уже есть ИТ компании, расходующие на специалистов от 60% до 70% своих затрат, и разрыв между затратами компаний на ИТ специалистов и на сетевую инфраструктуру будет только возрастать. Если на какой-то момент для какой-либо компании, совокупные затраты за определённый промежуток времени на административный ИТ персонал, превысят совокупные затраты на каналы связи в региональные отделения за тот же промежуток времени, это может означать, что этой компании есть смысл пересмотреть архитектуру своей ИТ инфраструктуры. Если же это превышение составит величину, сопоставимую с затратами на изменение архитектуры ИТ инфраструктуры, то есть экономическая целесообразность изменить распределённую инфраструктуру. Тенденции, отражённые на графике, согласуются с данными IDC за 2008 год, согласно которым, за период с 1996 года по 2008 год затраты организаций на новые сервера оставались практически на одном и том же уровне, затраты на персонал за тот же промежуток времени выросли как минимум в четыре раза. Необходимость пересмотра архитектурного подхода к построению ИТ инфраструктур очевидна. 2.2 Характеристика ПТК.2.2.1 Краткое описание системы. Система представляет собой OLTP приложение трёхзвенной архитектуры, предназначенное учитывать и обрабатывать поступающие в систему платежи, и состоит из трёх основных частей: • OLTP подсистема, которая выполняет множество одновременных запросов на изменение относительно небольших порций данных, запись, или даже часть записи, случайным образом; • подсистема заранее запрограммированных отчётов, которая состоит из запросов на чтение данных в больших количествах, совокупности записей; • подсистема пакетной обработки данных, которая последовательно вносит в базу множество однотипных записей. OLTP подсистема производит не менее 2380000 операций за рабочий день по всем совокупным отделениям организации. В это же время формируется не менее 1680000 отчётов ABC, при этом с системой работает одновременно большое количество пользователей, достигающее 200000 человек. При этом время отклика подсистемы OLTP должно составлять не более 10 секунд. Система построена по распределённому принципу, на основе региональных вычислительных центров обработки данных, обслуживающих различные Программно-Технические Комплексы в интересах разных департаментов своего региона. Каждый региональный вычислительный центр имеет свой собственный экземпляр ПТК. Такая распределённая система позволяет изолировать региональные экземпляры ПТК друг от друга, что с одной стороны снижает требования к обеспечению разграничения пользователей на доступ к данным, с другой стороны позволяет локализовать возможные проблемы одним регионом. В то же время распределённые системы не в полной мере используют доступные вычислительные мощности, их нагрузки характеризуются явно выраженными пиковыми моментами. Если производительность региональной системы подбирается исходя из возможности справиться с пиковой нагрузкой, то система будет недогруженной в остальные моменты, что снижает эффективность системы. В текущее время для управления ПТК предусматривается наличие административного персонала в каждом региональном вычислительном центре, что приводит к большому количеству требуемого административного персонала по сравнению с выполняемой обслуживаемыми системами работой, так как небольшая региональная система нуждается в примерно таком же обслуживании как и такая же по функционалу, но более крупная система. Распределённые ПТК интегрированы друг с другом и с другими системами, что увеличивает сложность системы в связи с большим количеством объектов для интеграции, и тоже снижает эффективность системы. 2.2.2 Обеспечение безопасности, отказоустойчивости, и доступности существующих систем. Эксплуатация распределённых ИТ систем создаёт ложное чувство безопасности, вызванное тем, что вероятность выхода из строя всех регионально-распределённых узлов одновременно, или утрата (хищение) данных всех регионально-распределённых узлов одновременно, очень невелика, даже несмотря на то, что узлы таких географически распределённых систем располагаются, как правило, на серверах открытой архитектуры, с не очень высоким временем наработки на отказ. Тем не менее, выход из строя одного регионального узла приведёт к отказу в обслуживании пользователей целого региона, и прямо или косвенно может воздействовать на нормальное функционирование систем федерального уровня или других регионов. Утрата данных отдельной региональной системы вполне может быть недопустимым явлением для конкретной организации, влекущим тяжкие последствия. Хищение же данных отдельной региональной системы в отдельных случаях могут попадать под действие Федерального Закона ФЗ-152 «О персональных данных», что может повлечь административную, или даже уголовную ответственность. В связи с существующими рисками возможных отказов в обслуживании или хищений данных, организации, как правило, предпринимают дополнительные меры по предотвращению таких явлений. Это включает в себя и резервирование дополнительных средств в региональных вычислительных центрах, и соблюдение разработанных регламентов обслуживания ПТК, направленных на предотвращение сбоев и на скорейшее восстановление после сбоев, и мероприятия, направленные против несанкционированного доступа и разграничение доступа к системам и данным. Эти меры сами по себе приводят к возрастанию расходов на системы, а средства обеспечения этих мероприятий также требуют мониторинга, администрирования, защиты, что ещё больше увеличивает затраты. А множество возможных мест сбоя или утраты данных приводят к возрастанию рисков, и возрастанию затрат на предотвращение наступления недопустимых событий. 2.2.3 Классификация системы. По функциональному назначению и характеристикам работы ПТК могут быть отнесены к классу автоматизированных финансовых учётных систем, с высокими требованиями к количеству обслуживаемых пользователей, количеству выполняемых транзакций, и времени отклика. При рассматривании вопроса укрупнения вычислительных систем на основе ПТК могут быть применены архитектурные подходы, применявшиеся для построения и развития финансовых учётных систем сопоставимого масштаба, по которым в ИТ индустрии накоплен огромный опыт, и способы повышения эффективности которых можно использовать. 3 Варианты решения проблемы.3.1 Возможные методы достижение снижения затрат.Для снижения затрат на обслуживание крупных систем могут применяться два подхода: • внедрение систем централизованного управления распределённой инфраструктурой; • укрупнение составных частей распределённой системы. Оба подхода позволяют сократить количество административного персонала и повысить качество управления системой. Оба подхода требуют наличия достаточно качественной сетевой инфраструктуры. Впрочем, интеграция однотипных систем между собой и с другими системами также требует наличия качественной сетевой инфраструктуры, которая является одной из фундаментальных составляющих автоматизированной обработки данных. 3.1.1 Централизованное управление распределёнными системами. Внедрение системы централизованного управления распределённой системой позволяет упростить работу администраторов по постоянному мониторингу и обслуживанию распределённых систем, повысить эффективность их работы, что приводит к снижению количества требуемого административного персонала и способствует снижению затрат. Но такое внедрение само по себе затратное мероприятие, к тому же, сами элементы мониторинга и управления потребляют вычислительные мощности, а также требуют мониторинга, управления, обеспечения отказоустойчивости. При этом эффект от снижения затрат на административном персонале может быть нивелирован или даже перекрыт затратами на приобретение, внедрение, и обслуживание системы централизованного мониторинга и управления, а инфраструктурный ландшафт резко усложняется. При этом подходе остаются затраты на интеграцию однотипных распределённых систем между собой и с другими системами, не устраняется довольно невысокая утилизация вычислительных ресурсов региональных систем, остаётся высокая избыточность ресурсов для обеспечения доступности и отказоустойчивости. Ситуация с возможностью масштабирования систем и с их доступностью не меняется при внедрении централизованного управления распределёнными системами. В целом, применение централизованного управления множеством распределённых систем не может сравнится по эффективности с укрупнением вычислительных центров. 3.1.2 Укрупнение составных частей распределённой системы. Укрупнение систем и вычислительных центров также может способствует сокращению затрат на административный персонал, и может осуществляться разными способами, • размещением распределённых региональных систем в меньшем количестве более крупных вычислительных центров (консолидация); • уменьшением количества одинаковых по функционалу систем за счёт их соединения в одну более крупную систему (централизация). В обоих этих случаях возможно достижение значительной экономии вычислительных ресурсов за счёт их более полной утилизации, по сравнению с совокупностью распределённых систем, особенно при несовпадении пиков нагрузки в разных регионах по времени. Эффект экономии на управлении в случаях консолидации и централизации может оказаться разным. Консолидация систем. При консолидации региональных систем в более крупные вычислительные центры: • количество систем остаётся прежним; • за счёт совместного их расположения однотипные административные работы потребуют меньшего количества персонала; • улучшается утилизация вычислительных ресурсов и снижается избыточность ресурсов для обеспечения высокой доступности данных; • почти не меняются подходы к обеспечению разграничения доступа к системам, так как системы могут быть по-прежнему изолированы друг от друга, в большей или меньшей степени. • затраты на интеграцию однотипных систем между собой и между другими системами останутся прежними. • в связи с размещением систем совместно на на меньшем количестве серверов резко возрастают требования к программно-аппаратной платформы в части обеспечения возможности масштабирования, отказоустойчивости и доступности данных. Централизация систем. При централизации однотипных систем в одну более крупную:
Figure 2: Сравнение затрат при разных архитектурных подходах к построению систем. • резко сокращается количество административных работ в связи с сокращением количества систем (см. Рис. 2); • резко повышается управляемость системы, в связи с сокращением управляемых сущностей до одной каждого вида; • достигается более высокая степень утилизации вычислительных ресурсов по сравнению с другими подходами; • отсутствуют затраты на интеграцию однотипных систем между собой, резко сокращаются затраты на интеграцию с другими системами за счёт резкого снижения интегрируемых систем. • несмотря на некоторое снижение вычислительной нагрузки за счёт устранения накладных расходов всех уровней (на интеграцию, на мониторинг), по сравнению с остальными методами, требования к программно-аппаратной платформе в части обеспечения возможности масштабирования, отказоустойчивости и доступности остаются на таком же высоком уровне, как и в случае консолидации систем; • в связи с наличием централизованных данных, и работой всех пользователей с единой копией данных в единой системе, резко упрощаются бизнес-процессы по работе с данными, повышается оперативность обработки данных, упрощаются все циклы анализа данных, начиная со сбора данных в аналитическую систему (хранилище), что может составлять значительное конкурентное преимущество; • требуется проработка вопросов по разграничению данных разных регионов, так как данные всех регионов будут находиться в одной системе; • требуется изменение подхода к обеспечению высокой доступности данных, так как если в случае отдельной региональной существовало допустимое «окно возможной недоступности» системы, то при обслуживании одной централизованной системой всех регионов такое «окно недоступности» может отсутствовать или быть значительно меньше. Повышенные требования к обеспечению информационной безопасности и доступности данных должны играть значительную роль при выборе платформы для централизованной системы. 3.2 Предпочтительный подход к снижению затрат.С учётом особенностей разных подходов к снижению затрат, наиболее перспективным для достижения максимальной эффективности является подход централизации множества однотипных систем в одну, как предоставляющий максимальный эффект от изменения архитектуры, позволяющийся добиться максимально эффективного использования всех доступных аппаратных ресурсов, и состоящий из меньшего количества компонент, что приводит к упрощению архитектуры состемы, уменьшению затрат на её сопровождение и развитие, с учётом обязательных требований на разграничение доступа к данным, на обеспечения доступности данных, и выбором программно-аппаратной платформы, позволяющей реализовать все эти требования, и обеспечить необходимую масштабируемость системы, с учётом пиковых нагрузок и перспектив роста. |