пятница, 14 марта 2014 г.

Архитектурные игры



Моё самое удивительное открытие в роли архитектора: создание архитектуры системы - это такая игра. Вроде известной головоломки, в которой нужно собрать слово «Вечность» из ледышек неправильной формы. Заказчик выдвигает требования к системе. И почти для каждого требования уже придуман свой кубик: отказоустойчивости добиваются дублированием критичных компонентов, данные хранятся в промышленных СУБД, а пользователи общаются с системой через браузер и т.п. В воображении архитектора возникает нежный и хрупкий образ идеальной системы.

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

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

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

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

1 комментарий:

  1. Странно, полугодовой давности пост, а вдруг попался на глаза и зацепил.
    Про архитектора и его работу,- всё верно. Хотелось бы отметить ещё один момент: самый страшный враг архитектора,- это заказчик, меняющий или добавляющий требования "на лету".

    ОтветитьУдалить

Эволюционная разработка программных систем

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