Рубрика: Software architecture

Архитектор Предприятия AS IS и TO BE

Если я ничего не напутал, то дело обстояло так. В ходе конференции “Agile Architecture”, проведенной в июле этого года The Open Group в Денвере(Колорадо), состоялся воркшоп по дизайн-мышлению (design thinking) на котором и была придумана приведенная ниже история вымышленных персонажей Лоретты, Арчи1 и Арчи2. Участвовавший в воркшопе Теренс Блевинс (Terence Blevins) — Director of The Open Group Governing Board записал её и опубликовал в блоге THE FUTURE ENTERPRISE ARCHITECT, а Шервин Микер(Sherwin Meeker), тоже участник The Open Group и главный консультант по управлению в IBM – немного отредактировал.

Меня зацепил предложенный формат обсуждения роли архитектора предприятия, но сам текст оставил ощущение некоторой недосказанности. Не полагаясь на свой английский, я попросил перевести эту статью. Чувство недосказанности, однако, полностью не улетучилось. Перечитав исходный текст еще раз, я вдруг вспомнил сессии по разработке ценностного предложения и используемый в них value proposition canvas. В одном из будущих потоков курса по ИТ-архитектуре я рассчитываю провести подобную сессию, надеясь, что наша историю получится ничуть не хуже, чем у коллег (В какой-то мере я уже воспользовался этой идеей в курсе Практики архитектуры предприятия, нарисовав портреты потенциальных слушателей курса).

Чтоб выполненный по моей просьбе перевод не пропал зря выкладываю его в первом комментарии ниже. Вдруг кому-нибудь пригодится (Конечно, в нем многое следовало бы подправить, но у меня на это сейчас абсолютно нет времени. Тем более, я рассчитываю, что слушатели моего курса, создадут как-нибудь не менее интересную историю)

Развилки архитектурных решений

Небольшое послесловие к вебинару «Поток архитектурных решений», запись которого вы можете посмотреть здесь: https://youtu.be/9vtf33NIJrE Метафора проектирования в форме процесса последовательного принятия решений нравится многим моим собеседникам. Кого-то прельщает возможность формализации архитектурной деятельности, другие видят в этом потенциал для автоматического создания архитектурных описаний в ходе разработки (см. Архитектура как код), третьи, вероятно, вспоминают институтские занятия про теорию игр и деревья решений. Приверженцы agile видят в архитектурных решениях реализацию идеи architecture owner, собирающего жемчужины решений, родившихся у самоорганизованных команд. Латентные любители «водопада» — подтверждение инженерного подхода к проектированию ИТ-решений.

Я сам, скорее всего, принадлежу именно к третьей категории, в глубине души мечтая о том, чтоб процесс проектирования был не сильно сложнее, чем разработка стратегии игры из 6 главы замечательной книжки Чарльза Уэзерелла “Этюды для программистов”, доставшейся мне в качестве курсовой на каком-то из младших курсов. Именно поэтому мне хочется предостеречь читателей этой заметки от подкупающего своей простотой взгляда на проектирование, как на преодоление развилок в графе. Продолжить чтение «Развилки архитектурных решений»

Распределенные системы. Паттерны проектирования

Решил продублировать в блог набор реплик из Telegram-канала Архитектура ИС и порекомендовать к прочтению книжку Распределенные системы. Паттерны проектирования (Издательство Питер, 2019, в оригинале: Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services, March, 2018).  Это тот редкий случай, когда для чтения перевода не нужно иметь под рукой англоязычный оригинал. Книжка, безусловно, про паттерны, но не только про паттерны. Так, например, один из вопросов, на которые она дает ответ — как быть с повторно-используемыми (reusable) компонентами в микросервисной архитектуре Продолжить чтение «Распределенные системы. Паттерны проектирования»

Не рисуйте такие слайды!

YouTube решил порекомендовать мне сегодня посмотреть ролик High level architecture design

Ролик популярный, на момент описываемых событий он собрал более 50 тысяч просмотров. Чем же он так приглянулся зрителям? Кроме того, что автор Rob Pettit имеет великолепное резюме и достаточное количество научных работ, на мой взгляд, эта презентация содержит всё то, за что люди не любят слушать ИТ-архитекторов и ненавидят смотреть их слайды. Сразу отмечу, что содержание рассказа мне не понравилось, но цепляться сегодня я буду за форму. Итак, поехали Продолжить чтение «Не рисуйте такие слайды!»

Архитектура как код

Следующая большая вещь (next big thing) в ИТ-архитектуре, безусловно, заключается во встраивании создания и тестирования архитектурных артефактов (описаний, моделей и пр.) в CI/CD pipeline. Идея эта не особо оригинальная. В интернет можно найти множество материалов с заголовком непрерывная архитектура (Continuous Architecture) или Architecture as a Code но в большинстве из них речь идет о чем-то другом (см., например: https://pgppgp.wordpress.com/).  Пожалуй, только у Саймона Брауна звучит эта тема (см. Software architecture as code ), но в большей степени фоном для C4model. Одним словом, архитекторы по-прежнему полагают, что кто-то будет будем им рисовать и обновлять архитектурные описания повинуясь зову сердца и чувству долга. Продолжить чтение «Архитектура как код»

Декомпозиция системы на микросервисы

Несколько слов о планируемом вебинаре. Сидат Варасингх на DZone предложил различать три стратегии замены монолита микросервисами. Первая стратегия: скуп(ложка такая, специальная) для мороженого. По мере необходимости мы осторожно выскребаем фрагменты функционала из унаследованного приложения и реализуем их посредством микросервисов. Вторая стратегия: продолжительное сосуществование legacy, реализованного в виде монолита или набора сервисов, с новым функционалом, выполненным в виде микросервисов. Она называется – стратегия лего. И третья: стратегия взрыва, которая заключается в написании нового приложения сразу в микросервисной архитектуре. Третий вариант не согласуется с принципом Monolith First, но об этом чуть позже. Продолжить чтение «Декомпозиция системы на микросервисы»