7023
правки
Изменения
м
Нет описания правки
<big>Моя визуальная модель для (микро)сервисной архитектуры приложения, которая позволяет проектировать масштабирование и устойчивость приложения и обсуждать решения с бизнесом.</big>
[[Файл:TechLeadScribing.jpg|right|400px|thumb|Скрайбинг доклада на TechLead]]
С распространением микросервисной архитектуры и акторной модели с взаимодействием на асинхронных очередях и событиях, объектной модели становится недостаточно. Классические диаграммы, UML и другие, придуманные в эпоху монолитов, не слишком хорошо позволяют обсуждать архитектуру работы множества сервисов с асинхронным взаимодействием. Требуются иные способы, адекватные применяемым парадигмам программирования, чтобы обеспечить соответствие между моделью и реализацией, проектирование оркестровки и устойчивого работы приложений.
Впервые я рассказал о такой модели '''осенью 2020 года [[Модели предметной области для разных парадигм программирования (AnalystDays-2020)]]''', с тех пор доклад развивался на нескольких конференциях с разными фокусами — на проектирование, тестирование, архитектуру, масштабирование. Слайды выступлений близки, а фокусы изложения — различны. Весной 2021 я начал проводить мастер-классы, где после краткого рассказа о модели разбирался конкретный кейс от участников.
По отзывам, модель получилась удачной и позволяет обсуждать архитектуру микросервисного приложения между всеми участниками проекта, включая бизнес-заказчиков. Что необходимо, так как требования по масштабированию и последствия неустойчивой работы имеют бизнес-последствия — стоимость устранения, потери из-за аварий против стоимости инфраструктуры с резервированием и надежности, закладываемой в разработку. А такие вопросы необходимо обсуждать с бизнесом, вырабатывая совместные решения.