Процесс разработки архитектур: цели и задачи, общая схема
Архитектура предприятия как планирование города
Большое количество авторов указывает на поразительную аналогию архитектурного процесса, связанного с использованием информационных технологий на достаточно крупном предприятии или в области государственного управления, и процесса архитектурного планирования города [6.7], [6.8],[6.9], [6.10]. Мы думаем, что эта метафора будет небезынтересна читателям так же, как и предыдущее сравнение двух подходов "сверху-вниз" и "снизу-вверх" при организации работ над архитектурой.
Независимо от того, отвечаете ли вы за проект архитектуры предприятия в целом, или за внедрение отдельной CRM-системы, или за проект консолидации серверов – многому можно научиться, анализируя то, как современные города приспосабливаются под потребности своих жителей и потребности бизнеса. (Альтернативный взгляд: мы, как жители, приспосабливаемся под возможности города так же, как иногда приходится приспосабливаться под устаревший интерфейс прикладных систем). Заметим, что эта аналогия не оканчивается прямыми сравнениями типа город – совокупность ИТ-систем предприятия, здания – прикладные системы, городская инфраструктура – ИТ-инфраструктура. Много аналогий прослеживается в процессах планирования и развития города и планирования и развития ИТ-архитектуры.
Следует отметить, что сами концепции проектирования, управления и технологии, используемые при планировании города в целом и эксплуатации его инфраструктуры, отличаются от тех, которые используются при разработке архитектуры отдельного здания или комплекса зданий. Аналогично, принципы проектирования и технологии, которые используются для создания архитектуры информационных технологий предприятия в целом, их интеграции и эксплуатации, отличаются от тех, которые используются для создания отдельно работающей прикладной системы. Успех или неудача проекта разработки Архитектуры предприятия зависит от понимания этих отличий.
Если вы пройдетесь по Москве или Санкт-Петербургу, то увидите удивительное разнообразие зданий, построенных в разные эпохи: древние монастыри и Кремль Москвы, классический стиль зданий, построенных после пожара в Москве 1812 года или дворцов в Санкт-Петербурге, ампир и, наконец, современные бизнес-центры, не говоря уже о скучных спальных районах застройки 60-80-х годов прошлого века. Очевидно, что хотя подавляющее большинство зданий было построено в течение последних ста лет, но, тем не менее, заложенная веками ранее инфраструктура – основные улицы и мосты, некоторые архитектурные доминанты – до сих пор определяют то, как развиваются два этих города. Москва, например, не потеряла своей радиальной структуры, точно так же как и Санкт-Петербург – свои прямые проспекты. Очевидно, что люди, которые занимались все эти годы городским управлением, старались сохранять и в какой-то степени развивать оставленное им наследство и добавлять новые необходимые элементы.
Аналогично, на предприятии можно встретить информационные системы, о которых пользователи думают, что они были инсталлированы еще в средние века. Однако часто они работают и решают достаточно важные для предприятия задачи. В то же время департаменты ИТ всегда находятся под прессом необходимости – на основе сложившейся инфраструктуры и с учетом имеющегося набора прикладных систем создавать новые системы и интегрировать их между собой. Это непрерывное развитие ИТ-систем предприятия делает практически невозможной замену всех старых систем полностью – точно так же, как никому не придет в голову заменить радиальную структуру Москвы на параллельные и перпендикулярные проспекты, хотя при этом, возможно, в городе было бы меньше транспортных пробок. Таким образом, задача всегда состоит в том, чтобы сочетать жизненные циклы различных компонент ИТ-архитектуры предприятия так, чтобы архитектура в целом решала свои основные задачи.
В любом крупном городе одновременно воплощается большое количество проектов: строительство жилых и офисных зданий, дорог, другой инфраструктуры. При этом невозможно централизованно контролировать абсолютно все в мельчайших деталях. Поэтому возникает необходимость в наличии некоторого общего или генерального плана, который задает общее направление развития города, приоритеты, основные зоны городской застройки, требования коммунальных служб, оставляя принятие решений по поводу многих деталей, включая внутреннее устройство микрорайонов или зданий, на более низкий уровень управления. Однако ключевые городские ресурсы и системы при этом все равно планируются централизованно: основные магистрали, электростанции и пр.
Точно также при разработке архитектуры предприятия и его информационных систем часть общих систем и ресурсов (например, центры обработки данных, сетевая инфраструктура и многое другое) практически всегда планируется и эксплуатируется централизованно, но часть прикладных систем создается в рамках отдельных департаментов и отделов.
Генеральный план развития города – это всегда политический процесс. При его разработке и реализации затрагиваются интересы большого количества людей и организаций. План может накладывать определенные ограничения на возможности отдельных жителей и предприятий. План должен быть основан на общем видении развития города: стремится ли город интенсивно расти и быть центром деловой активности или, наоборот, необходимо ограничить рост (другой вопрос, есть ли ресурсы и предпосылки для роста). Но, так или иначе, в результате сложного политического процесса мы, чаще всего, имеем более или менее разумную и функционирующую городскую среду.
Аналогичным образом процесс планирования архитектуры информационных систем предприятия, а также реализация этой архитектуры являются во многом политическим процессом: всегда есть различные мнения по поводу приоритета проектов или необходимости использования тех или иных технологий. И надо заметить, что процесс управления и контроля развития информационных технологий предприятия (то, что по-английски называется governance) остается менее развитой и зрелой дисциплиной, чем планирование города.
Кроме того, прикладные системы, используемые в типичной организации, как правило, стали результатом работы различных групп разработчиков, приобретались у различных поставщиков и в разное время. Очень часто при создании этих систем разработчики не имели практически никакого представления об архитектуре других систем предприятия. Системы неизбежно различаются по своей внутренней архитектуре, форматам используемых данных; и, тем не менее, многие эти системы должны в какой-то степени работать совместно.
Такая ситуация аналогична проблемам городского планирования или организации работ, связанных с городской инфраструктурой. Общегородской план устанавливает некоторые общие правила на расположение, устройство и внешний вид микрорайонов и зданий: стандарты (размеры труб, напряжение в электросети, ширина дорог), сертификация (участие в строительстве только специально авторизованных компаний или использование сертифицированных материалов), управление (правила получения разрешений и пр.). Кроме того, городской план включает принципы использования общих ресурсов и сервисов, к которым отдельные здания могут быть подключены: водоснабжение и электричество, канализация и сбор мусора, телефоны, Интернет и кабельное телевидение.
Точно также при реализации информационных систем предприятия требуются как меры регулирования архитектуры отдельных систем (используемые технологии, протоколы, стандарты и т.д.), так и правила создания и использования общих сервисов, таких как электронная почта.
Планирование и обеспечение жизнедеятельности города требует четкого разделения труда: уровень города в целом, уровень отдельных городских зон и местные эксплуатирующие организации. Аналогично задача проектирования архитектуры предприятия в целом отличается от проектирования архитектуры отдельных систем, и отдельный вопрос – это эксплуатация систем.
Какие уроки можно извлечь из этой аналогии архитектуры информационных систем предприятия и городского планирования?
Первое: необходимость в наличии на предприятии единой архитектуры ИТ. В противном случае, ваш "электронный город" будет похож на хаотичную застройку Бангкока, где супер-небоскребы соседствуют буквально с курятниками.
Второе: помните о том, что разнообразие систем и платформ – это неизбежность для предприятия, так что интеграции нельзя достичь выбором единой платформы и технологии. У вас будет много "зданий" разных цветов и архитектуры. Думайте об архитектуре интеграции, которая основана не на единстве платформ, а на принципах сервис-ориентированной архитектуры.
Третье: при разработке архитектуры предприятия необходимо сбалансированно сочетать централизованные и децентрализованные методы планирования и управления. Неразумно и невозможно контролировать расположение комнат в каждой квартире или стоимость кусочка мыла в магазинчике за углом. Вы должны использовать принципы ограниченной автономии, характерные для управления городом, и дать возможность владельцам бизнес-процессов оптимизировать свои информационные системы при наличии разумного количества общих для предприятия ограничений.
Четвертое: важность стабильной инфраструктуры. Инфраструктура ИТ должна обслуживать текущие потребности и в какой-то степени предвосхищать будущие потребности в системах.
Пятое: планирование "различных зон ИТ", так же как планирование различных городских зон. Мы уже говорили, что различные типы бизнес-процессов и приложений (транзакционные, аналитические и т.д.), требуют различных технологий. Поэтому один из возможных путей развития ИТ на предприятии – это идентификация таких "зон" и возможность их относительно независимого развития.
Шестой вывод заключается в максимальном использовании того, что есть. Любой город старается по максимуму использовать ресурсы существующей инфраструктуры, прежде чем запускать новые дорогостоящие проекты ее обновления. Точно также большое количество имеющихся на предприятии унаследованных систем – это, скорее, актив, чем пассив, и его можно и нужно эффективно использовать. Функционал этих систем можно, в частности, "открыть" для интеграции с новыми прикладными системами, используя адаптеры и технологии web-сервисов.
Наверное, этот список аналогий и уроков можно продолжать достаточно долго. Надеемся, что читатели самостоятельно найдут много параллелей, навеянных этой аналогией между планированием города и развитием информационных систем своего предприятия.