Backend-инженер. Про архитектуру, автоматизацию и highload.
· 11.08 · ред.C4 Model и "уровни" архитектуры
В прошлом посте я рассказал про C4 модель Саймона Брауна. Модель помогает визуализировать архитектуру так, чтобы и бизнес, и инженеры, и эксплуатация видели одну и ту же картину, но с нужной детализацией.
А так же я писал про то Где начинает архитектура - от переменной до экосистемы.
Если присмотреться то, можно заметить, что модель C4 довольно неплохо ложиться на эти уровни.
Давай посмотрим:
Context - Уровень 5 Диаграмма контекста в C4 — это взгляд на систему в окружении: пользователи, внешние сервисы, интеграции. Это соответствует экосистемному уровню: кто с кем говорит, какие протоколы, какие точки отказа.
Container - Уровень 4 Контейнеры — это крупные исполняемые части: сервисы, базы, очереди, фронтенды. Здесь важны вопросы развертывания, деплоя, масштабирования, согласованности и отказоустойчивости. Это соответствует архитектуре приложения: entry point, разделение core-логики и инфраструктуры, сценарии деградации.
Component - Уровень 3 Компоненты — модули внутри контейнера. Это уже граница между архитектурой и проектированием модулей: что модуль знает о внешнем мире, где side-effect, где бизнесс логика.
Code - Уровень 2–1 C4 опционально доходит до уровня классов и функций, но это уже зона проектирования кода. Тут работает дисциплина имен, SRP, локализация ответственности — то, что в описании на уровне переменной и функции.
Что в итоге?
C4 неплохой инструмент для согласования картины системы между разными уровнями участников. Но он закрывает только вопрос как показать архитектуру.
Для ответа на вопрос: какой она должна быть — всё те же принципы: чёткие границы, минимальные зависимости, предсказуемое поведение при сбоях.
Полезное: Simon Brown — Visualising Software Architecture Architectural boundaries
еще контент автора
еще контент автора
Backend-инженер. Про архитектуру, автоматизацию и highload.
· 11.08 · ред.войдите, чтобы увидеть
и подписаться на интересных профи