Рубрика: Software architecture

Три вебинара о микросервисах

3msa16, 18 и 23 октября 2018 г. Я проведу серию вебинаров под незатейливым названием «Три вебинара о микросервисах». По законам жанра мне следовало бы написать несколько захватывающих историй, заканчивающихся словами: присоединяйтесь к нашему мини-курсу. Причем истории эти могут быть разные для аналитиков, архитекторов, разработчиков, людей, которые занимаются эксплуатацией, руководителей ИТ-проектов, менеджеров продуктов. Я попробую это сделать и начну с разговора о том: зачем вообще обсуждать тему микросервисов. Разработчики уже несколько лет назад сообразили, что правильным ответом на вопрос об архитектуре решения является: микросервисная. Часто, разговор заказчика и потенциального поставщика так и выглядит:

— Какова архитектура вашего решения? – проникновенным тоном интересуется заказчик.
— Микросервисы… — уверенно отвечает потенциальный поставщик, немного смущенный простым вопросом, ответ на который, практически, очевиден.
— И сколько у вас микросервисов? – слегка разочаровавшись правильным ответом интересуется заказчик.
— Более полусотни! – с усиливающейся уверенностью в голосе отвечает поставщик.

Continue reading «Три вебинара о микросервисах»

Нотации моделирования

В середине августа всё замирает. Не происходит совсем ничего, кроме, конечно, роста курса доллара. Дефицит событий, вероятно, провоцирует великих ИТ-архитекторов прошлого на длинные обсуждения в твиттере. В telegram-канале «Архитектура ИС» я приводил уже ссылку на дискуссию с участием Гради Буч и Ивар Якобсена и рассуждениями на тему: зачем мы изобрели UML. Сегодня пара мыслей насчет мини-дискуссии Карла Вигерса и Саймона Брауна. Continue reading «Нотации моделирования»

Клиентский опыт и архитектурный стиль RESTful

Разговоры о Customer Experience (опыте клиентского взаимодействия) ведутся уже так долго, что вряд ли способны привлечь чьё-либо внимание. Особенно внимание айтишников. Мол, это вообще не к нам. Есть специально обученные люди – дизайнеры, которые всё сделают правильно и непременно улучшат этот самый клиентский опыт. Архитектурный стиль RESTful, описанный Роем Филдингом аж в 2000 году в диссертации Architectural Styles and the Design of Network-based Software Architectures, привлечет не большие внимание тех же самых айтишников. Всё  ведь и так понятно. JSON поверх HTTP  — вот и весь RESTful. Давайте все же разберемся, о чем этот архитектурный стиль и как он связан с опытом клиентского взаимодействия. Continue reading «Клиентский опыт и архитектурный стиль RESTful»

Объясняем матрицу Захмана

Матрица Захмана, пожалуй, является наиболее ранним и наиболее показательным примером того, когда большая и сложная картинка скрывает суть вещей, которые она, по идее, должна пояснять. Помню своё первое знакомство с этим творением человеческой мысли. Если что-то и привлекает внимание при беглом взгляде на эту картинку, то это карта США в третьем верхнем квадрате, которая в более поздних версиях уступит вое место карте мира. Оторвав взгляд от тридцати разноцветных картинок, кое-где повторяющихся, можно заставить себя прочитать название столбцов и строк, приведенные, по традиции, очень мелким шрифтом. Если названия столбцов, содержащие слова «что», «где», «когда», еще пробуждают какие-то ассоциации, то названия строк: контекстуальный, концептуальный, логический, физический и уж совсем непонятно какой ассоциируются, разве что, с некоторыми уровнями абстракции. Думаю, на этом большинство зрителей этой картинки решают, что всё понятно и какого-либо более глубоко разбирательства просто не предпринимают. Но сегодня я хочу немного злоупотребить вашим вниманием и поговорить о матрице Захмана чуть подробнее. Continue reading «Объясняем матрицу Захмана»

Микросервисы в контексте корпоративной архитектуры

Обычно, чтоб убедить кого-нибудь в том, что микросервисная архитектура — это хорошо, её сравнивают с монолитом. Даже картинку специальную рисуют (см. ниже): с левой стороны база данных, сервер приложений и пользовательский интерфейс – это монолит(подразумеваем, что монолит — это плохо), а с правой стороны паутина фигурок и стрелочек между ними (типа, вот это хорошо). Не знают, убедит ли такая картинка случайного собеседника, но архитектор, будучи до конца честен сам с собой, должен сказать, что хорошо – это то что слева. И есть достаточное количество экспертов, которые критически восприняли идеи микросервисной архитектуры и постарались обратить наше внимание не только на достоинства, но и на недостатки такого подхода. Continue reading «Микросервисы в контексте корпоративной архитектуры»

Микросервисная архитектура и DevOps

В сентябре 2017-го вышла книжка Нила Форда, Ребекки Персонс и Патрика Куа Building Evolutionary Architectures. Я воспользовался ознакомительной подпиской  Safari Books чтоб полистать эту книжку и постараться разобраться с девятой, наиболее непонятной, характеристикой микросервисной архитектуры по Фаулеру и Льюису (см. Microservices a definition of this new architectural term). О том, чем занимается эта группа я писал уже в апреле прошлого года в заметке [r]evolutionary architecture, но на тот момент ознакомиться с позицией авторов можно было только видеозаписям пары выступлений, презентациям и подкастам. И вот теперь вышла книжка с системным изложением идей достаточно революционных, с одной стороны, и крайней прагматичных с другой. Но давайте обо всем по порядку. Continue reading «Микросервисная архитектура и DevOps»

Карты вашего кода

Саймон Браун сделал небольшую страницу: Модель С4 архитектуры программного обеспечения. Модель C4 была создана чтоб помочь командам разработчиков программного обеспечения описывать и обсуждать архитектуру решений. Её можно использовать как во время начальных сессий проектирования, так и при ретроспективе существующих решений. Это способ создания карт вашего кода на разных уровнях детализации.

Модель C4 рассматривает статические структуры программной системы и включает четыре типа основных диаграмм: системный контекст (пользователи и внешние приложения), контейнеры (основные подсистемы), компоненты и классы. Об использовании дополнительных диаграмм, моделировании микросервисов, отношении C4 model с другими нотациями моделирования и инструментах создания диаграмм см. оригинальную страницу C4model