Автор: Максим Смирнов

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

Небольшое послесловие к вебинару «Поток архитектурных решений», запись которого вы можете посмотреть здесь: 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, но об этом чуть позже. Продолжить чтение «Декомпозиция системы на микросервисы»

The Digital Practitioner Body of Knowledge

Я давно обещал написать немного об этой книжке, имеющей необычный подзаголовок: The Open Group Snapshot. Пора это сделать, тем более, что согласно уверениям авторов 15 января 2019 года это руководство может превратиться в тыкву. Так что успейте скачать и посмотреть http://pubs.opengroup.org/dpbok/snapshot/ Но главная причина моего интереса к DPBoK, конечно, не в этом. The Open Group выпускает много всяких текстов туманно-абстрактного содержания, читать которые могут заставить себя только настоящие ИТ-архитекторы. Свод знаний цифрового практика не похож на такие работы. Перед нами цельная, неплохо структурированная и довольно конкретная книжка, вобравшая в себя основные темы предыдущего десятилетия так или иначе связанные с развитием цифровых продуктов. Какие-то вещи банальны, другие спорны, но в общем и целом текст (кстати, с картинками) в полной мере претендует на то, чтоб называться Body of Knowledge. Его можно использовать как справочник, можно как учебник, при условии некой толики критичного отношения или, как минимум, как набор полезных ссылок. Продолжить чтение «The Digital Practitioner Body of Knowledge»