АКТ 3 - Что архитектор использует в работе?

АКТ 3 - Что архитектор использует в работе?

Во втором акте я описал, какие задачи стоят перед архитектором и на что архитектор обращает внимание в своей работе. Теперь я расскажу о том, что архитектор использует в работе для решения этих задач.

АКТ 3 - Что архитектор использует в работе?

В кольцевых гонках давно закрепилось понятие – «Взгляд мотоциклиста». Суть этого понятия в том, что для успешного прохождения поворота, мотоциклист сначала поворачивает голову в сторону поворота, оценивает его крутизну, обозначает точку входа в поворот и переносит взгляд на выход из поворота. Если начать поворачивать голову только в момент достижения точки входа на несущемся с огромной скорости мотоцикле, в лучшем случая вам придётся с огромными усилиями корректировать движение, а в худшем – вы можете вылететь за пределы трассы.

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

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

АКТ 3 - Что архитектор использует в работе?

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

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

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

АКТ 3 - Что архитектор использует в работе?

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

Фреймворк, изначально разработанный в IBM и представлявший из себя очень простую модель, усилиями консультантов превратился в научный труд, поняв который, можно понять как устроена Вселенная. Полезные материалы по этой теме существуют, но это тема для отдельной статьи, которую я когда-нибудь опубликую.

АКТ 3 - Что архитектор использует в работе?

В основе всех современных фреймворков лежат классические инженерные теории: ТОГАФ придуман в США на базе практик США.
В рамках патриотизма приведу в качестве примера советскую инженерную теорию – ТРИЗ (теория решения изобретательских задач). Теория эта получила своё развитие в 60-х годах 20-го века, многие принципы и подходы актуальны и широко используются по сей день. Чтобы это доказать, приведу несколько примеров далее.

АКТ 3 - Что архитектор использует в работе?

Согласно ТРИЗ система может развиваться в одном из трех направлений.

АКТ 3 - Что архитектор использует в работе?

Линейное развитие системы – наращивание и повышение качества функций системы в целом.
В ИТ мире – это хорошо всем знакомый и яростно не любимый многими молодыми ИТ-шниками монолит.
В реальном мире пример линейно развивающейся системы – iPhone, на фотографии лишь небольшое количество функций, который выполняет современный смартфон. Согласитесь, вряд ли вы бы хотели таскать вместо одного устройства всё это разнообразие гаджетов?
Но и основной недостаток монолита тоже бросается в глаза: потеряв или разбив телефон, вы потеряете доступ к очень большому количеству функций

АКТ 3 - Что архитектор использует в работе?

Второе направление развитие системы – это переход в надстоящую систему в качестве модуля и прекращение самостоятельного развития. Далее система развивается уже как функция или группа функций надсистемы. Через какое-то время мы перестаём видеть её как отдельный элемент и видим лишь как функцию монолита.
Так, например, выглядит «подкапотка» макбука: в нём уже нет привычных процессоров, дисков и оперативки, которую можно легко заменить, вынув из соответствующего слота. Всё это представлено набором микросхем, распаянных на материнской плате (надсистеме).

АКТ 3 - Что архитектор использует в работе?

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

Слева можно наблюдать реализацию той же функции – метание стрел – реализованной в монолитной системе.

Лук в сборе
Лук в сборе

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

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

АКТ 3 - Что архитектор использует в работе?

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

Репозиторий представляет собой хранилище знаний, позволяющее решать сразу несколько задач:

  1. Структурно описывать состояние ИТ-ладшафта;
  2. Сгружать ненужную в моменте информацию из головы в систему и обращаться к ней по мере необходимости;
  3. Использовать современные средства поиска и анализа данных;
  4. Делится знаниями с коллегами и увеличивать объём аудитории (гораздо проще отправить ссылку на описание архитектуры в чат с десятками участников, чем рассказать, как устроена архитектура, 10 людям;
  5. Быстрее переключаться между проектами/направлениями бизнеса.

Подводя итог акта, основными инструментами работы Архитектора являются прогнозирование поведения системы, системный подход к проектированию, использование реальных практик, мышление инженера, архитектурный репозиторий.

44
Начать дискуссию