Хотите выделиться? Покрасьте волосы, например в красный цвет или возьмите за основу проект Вавилонской башни и перестройте на зависть конкурентам ИТ-инфраструктуру своего предприятия. Только не удивляйтесь, что после этого вам придется дополнительно принять на работу системного инженера, потом программиста, и еще одного, а затем уже и не одного. Постепенно ваш банк, страховая компания или завод превратится в средней руки программистскую компанию, штат сотрудников которой из сотен программистов не будет создавать ничего нового, а станет заниматься лишь созданием подпорок и укреплением фундамента вашей архитектурной конструкции.
Скорее всего, вы знакомы с хорошими программами. Задумавшись, почему та или иная программа хороша, вы, вероятно, согласитесь: разработчик полностью понимал, что именно он хотел сделать, и прежде всего создавал красивую форму. Но некоторые из тех, кто могут придумать форму, не в силах ее реализовать, и наоборот. Беда в том, что в отрасли, особенно в больших промышленных империях, почти не уделяется внимания архитектуре. Взять хотя бы легендарную OS/360. Отдельные ее части запрограммированы чрезвычайно хорошо, и при подробном рассмотрении видно, что в них использованы все идеи и методы, которые тогда и сейчас считались лучшими практиками. Однако по мере развития этой операционной системы она стала бесформенной кучей программ. Причина — в том, что у нее не было архитектора, головой отвечающего за цельность проекта. Проектирование OS/360 поручили нескольким группам инженеров, каждой из которых приходилось изобретать собственную архитектуру для своей части работы. И когда эти части соединили вместе, они не превратились в единое целое.
Изначально понятие «архитектура» связывали только со зданиями и сооружениями, но со временем отнесли его и к ИТ-области. Строительство и зданий, и информационной инфраструктуры представляет собой сложный, трудоемкий и часто непредсказуемый процесс. То и другое необходимо поддерживать и грамотно эксплуатировать. То и другое подвержено амортизации, правда, ИТ развиваются намного быстрее. Стихийное развитие без следования четкой архитектуре позволяет подстраиваться под изменения окружающего мира, но грозит авралами и ошибками. Именно это в свое время произошло с Вавилонской башней. В свою очередь, излишняя планомерность развития часто приводит к отрыву от реальности, а соответственно, к плачевному результату. Когда во главу угла ставится процесс, мы получаем безликие пятиэтажки. Как всегда, истина находится посередине: для успеха программного проекта необходимо планомерное развитие, позволяющее гибко реагировать на внешние изменения.
Об основах архитектурах вспоминают, когда собираются наполнить старое здание новым содержимым либо когда возникают проблемы с имеющейся ИТ-конструкцией. При этом на руках нет ни описаний фасадов (ИТ-сервисов), ни планов этажей (корпоративных ИТ-стандартов), ни проектов перекрытий (интеграционных решений), да и самого архитектора (поставщика или разработчика унаследованного ИТ-решения) давно нет в помине. Всем известно, что существуют архитектурные стили, но о единстве стиля ИТ-инфраструктуры компании почему-то не задумываются, поэтому и получают слабо связанные программные компоненты, не позволяющие добиваться эффективной работы. И, потратив на построение ИТ-хибары огромные средства, начинают прибегать к обману, который становится составной частью уже не только политики, но и ИТ-архитектуры. Инвесторам и клиентам предлагается внешне стройный ИТ-фасад, представляющий не более чем заставку, которую изнутри подпирают сотни программистов.
Градостроительная архитектура прошла долгий путь развития и осмысления, в том числе опыта эксплуатации Вавилонской башни. И стала хорошо оформленной теорией, которую ИТ-архитекторы пока изучили не полностью. Взять хотя бы национальные особенности имеющих много общего архитектур, но обладающих и индивидуальными местными чертами. Например, в Норвегии дома красят в веселые красные тона доступной по цене краской на основе рыбьего жира. То, что там хорошо смотрится, возможно, будет неплохо выглядеть и в российской средней полосе, но уже за совсем другие деньги.
Гармоничная архитектурная конструкция — это сила, красота, оптимальность. Вспомним хотя бы памятники деревянного зодчества — построены без единого гвоздя, с применением простейших инструментов, а стоят до сих пор. Совершенная программная архитектура способствует долголетию системы вне зависимости от используемых платформы и технологий. А продвинутая технология без продвинутого мышления ведет не к развитию, а к гибели.
Ну что же, в стремлении к гармонии прочитайте этот номер журнала, посвященный программным архитектурам.