TGViewer
IT Hurtz IT Hurtz @slmaximtechtalk · 162 subscribers
Post #89 371
Одним из деятелей, за которыми я слежу, как я их называю, "ИТ-инфлюенсеров" в области архитектуры для меня определенно является Саймон Браун. Это эксперт в области программной инженерии, автор книги "Software Architecture for Developers" и нотации моделирования программной архитектуры C4. Оставляя за скобками персональное (мои или чье либо еще) отношение к этому способу визуализации архитектуры, можно точно утверждать, что он сделал и делает очень много для вовлечения технических специалистов в программную архитектуру и для распространения ее концепций среди так называемых "практических специалистов". Пускай и через "сделаем какие-то картинки для менеджеров" (даром, что и этим картинки нужны не только и не столько менеджерам, и картинки конкретно в C4 для менеджеров подходят хуже всего).

Активнее всего Браун публикуется в LinkedIn (кто угадает, почему?). И недавно мне там на глаза попалось относительно свежее его выступление на конференции 25го года (которое стало доступно на ютуб канале буквально пару недель назад). Мне показалось интересным, рекомендую посмотреть и тем, кто интересуется C4 и использованием его в работе (как инструментом описания архитектуры для любых задач, см. мой пост по второй ссылке), и тем, кто в целом интересуется темой программной архитектуры.

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

Тезисно интересные мысли подобью тут:
🔹 контейнеры (не путать с контейнерными технологиями, типа Docker, Браун этот термин стал использовать раньше, может доказать) - это абстракция для БД и приложений, взаимодействие между которыми всегда будет межпроцессным. Это хороший критерий для определения границ контейнера - изоляция процессов и взаимодействие между ними. Например, контейнером не может быть некий "сервис", состоящий из Java-кода и MySQL БД, потому что это два разных процесса - следовательно, два разных контейнера.
🔹 кстати про технологии - их на диаграмме контейнеров указывать стоит обязательно, потому что так можно валидировать архитектуру. Например, если нарисовать контейнер с JS, который интегрирован с контейнером с БД, это не может быть реализовано, значит эта архитектура некорректна. Без технологий валидировать арх решение будет сложнее.
🔹 каждый контейнер - это деплоймент-модуль (то, что должно быть развернуто в среде исполнения), но не каждый деплоймент-модуль должен порождать контейнер. Особенно это актуально для инфраструктурных элементов, которым а) не место на структурной архитектурной диаграмме (а диаграмма контейнеров - именно такая), и б) которые "ломают" визуализацию связей и делают диаграмму бессмысленной. Например, рисовать на диаграмме контейнеров брокер сообщений нерационально, так как он убирает визуально полезные связи между приложениями и заменяет их несомненно более точными, то абсолютно бесполезными связями всех с брокером.
🔹 микросервисы - это программные системы или группы контейнеров. Критерий "выделять ли микросервис в систему" по сути такой же, как и в принципе для системы - отдельная команда, отдельный цикл поставки в среду исполнения, отдельная зона ответственности и т.д. (тут с границами системы в целом интересный пойнт, расскажу попозже отдельно)
🔹 вообще в целом границы в моделях C4 - очень полезная штука, с учетом того, что C4 не дает менять состав уровней абстракции (что является и его слабостью для некоторых задач, но и его силой для тех задач, для которых он был создан).

Тему C4 еще зацеплю, не разбегайтесь!
  • 🔥 4
More from @slmaximtechtalk
  1. Sep 25, 2026В этом кстати есть не только минусы. Но главный - тот же, что и был у технодрочеров таких…
  2. Sep 25, 2026З.Ы. Всем, кроме разработчиков, ИИ и «агентская разработка» дали возможность еще больше по…
  3. Sep 25, 2026Будучи искренним ИИ-оптимистом в сложных «трудовых функциях» ИТ-деятельности, не могу не з…
  4. Sep 10, 2026Что такое "преждевременная оптимизация" наглядно в реальном мире? Это например скоростной…
  5. Jul 14, 2026Задам крамольный вопрос - а всегда ли плохо, когда соискатель использует ИИ для решения те…
  6. Jul 14, 2026В профильном чате зашел разговор про то, как во время найма отличить людей, которые реальн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →