🔵🔥 Нотация C4 для архитектуры: теория, 7 примеров и практический видеоурок 🔥🔵
Как показать архитектуру системы так, чтобы её поняли и бизнес, и разработчики?
Нотация моделирования архитектуры C4 поможет.
Собрала в одном посте все материалы по C4: от теории до готовых схем с конкретными примерами 👇👇👇
🎬 Практический видеоурок: C4 за 90 минут
Разбираем уровни Context, Container и Component и наглядно показываем, как проектировать архитектуру на примере двух реальных проектов.
К уроку — полный комплект схем C4 / Context и C4 / Container по каждому проекту: можно посмотреть процесс, а затем изучить результат.
⏯ YouTube
⏯ RuTube
⏯ VK Video
⏯ Telegram
🔗 Статья с доп. материалами
📚 Коротко по теории
C4 — модель описания архитектуры системы на четырёх уровнях.
Каждый следующий раскрывает детали предыдущего.
🔗 Официальный сайт C4
🔗 Нотация С4 — примеры диаграмм и инструменты
1️⃣ C4 / Context — контекст
Система, её интеграции и пользователи.
✔️ Главный прямоугольник - наша система
✔️ Серые прямоугольники вокруг - внешние
✔️ Пользователи
👩💻 Полезна бизнес- и техническим специалистам
2️⃣ C4 / Container — контейнеры
Независимые по коду приложения в системе, детализация главного прямоугольника c C4 / Context.
✔️ Пользователи и внешние системы с уровня C4 / Context
✔️ Мобильные, веб- и десктоп приложения
✔️ Сервер-приложения: монолит, сервисы, микросервисы, API Gateway
✔️ Базы данных и файловые хранилища
✔️ Виды API
✔️ Технологии (языки программирования, СУБД, протоколы для API и др)
✔️ Базы данных и файловые хранилища
✔️ Очереди и брокеры
👩💻 Полезна архитекторам, разработчикам и системным аналитикам.
3️⃣ C4 / Component — компоненты
Модули кода и зависимости между ними.
Детализирует один из контейнеров с C4 / Container.
На каждый контейнер своя схема.
Отлично подходит для детализации модульного монолита.
4️⃣ C4 / Code — код
На этом уровне детализируют каждый компонент c C4 / Component, показывая его реализацию в коде. Обычно это UML-диаграмма классов или другая визуализация.
🛠 Основные инструменты:
🔗 Draw.io - графический
🔗 Structurizr - код
🔗 MermaidChart - код
🔗 PlantUML - код, самый неудобный
Ключевые элементы нотации для каждого уровня прикреплены в картинках к посту.
Необязательно рисовать все четыре уровня: выбирайте нужную детализацию под задачу и аудиторию.
🖼 Примеры схем архитектуры
Можно изучать и использовать как ориентир для своих проектов.
В подборке есть и монолиты, и микросервисные системы с брокерами.
🔗 RideFlow — заказ такси
🔗 TelMed — телемедицина
🔗 BookingGA — сервис аренды недвижимости
🔗 GreenChargeGA — зарядки для электроавто
🔗 CityGA — поиск мероприятий в городе
🔗 AdFlowGA — рекламный сервис
🔗 Пример архитектуры C4 в Mir
🔖 Это максимально полный гайд по C4.
Сохраняйте, чтобы теория, примеры и практика по C4 были под рукой, когда понадобится спроектировать архитектуру.
#АрхитектураGA
📱 Tg | 💙 ВК | 💬 Max
Как показать архитектуру системы так, чтобы её поняли и бизнес, и разработчики?
Нотация моделирования архитектуры C4 поможет.
Собрала в одном посте все материалы по C4: от теории до готовых схем с конкретными примерами 👇👇👇
🎬 Практический видеоурок: C4 за 90 минут
Разбираем уровни Context, Container и Component и наглядно показываем, как проектировать архитектуру на примере двух реальных проектов.
К уроку — полный комплект схем C4 / Context и C4 / Container по каждому проекту: можно посмотреть процесс, а затем изучить результат.
⏯ YouTube
⏯ RuTube
⏯ VK Video
⏯ Telegram
📚 Коротко по теории
C4 — модель описания архитектуры системы на четырёх уровнях.
Каждый следующий раскрывает детали предыдущего.
1️⃣ C4 / Context — контекст
Система, её интеграции и пользователи.
✔️ Главный прямоугольник - наша система
✔️ Серые прямоугольники вокруг - внешние
✔️ Пользователи
👩💻 Полезна бизнес- и техническим специалистам
2️⃣ C4 / Container — контейнеры
Независимые по коду приложения в системе, детализация главного прямоугольника c C4 / Context.
✔️ Пользователи и внешние системы с уровня C4 / Context
✔️ Мобильные, веб- и десктоп приложения
✔️ Сервер-приложения: монолит, сервисы, микросервисы, API Gateway
✔️ Базы данных и файловые хранилища
✔️ Виды API
✔️ Технологии (языки программирования, СУБД, протоколы для API и др)
✔️ Базы данных и файловые хранилища
✔️ Очереди и брокеры
👩💻 Полезна архитекторам, разработчикам и системным аналитикам.
3️⃣ C4 / Component — компоненты
Модули кода и зависимости между ними.
Детализирует один из контейнеров с C4 / Container.
На каждый контейнер своя схема.
Отлично подходит для детализации модульного монолита.
4️⃣ C4 / Code — код
На этом уровне детализируют каждый компонент c C4 / Component, показывая его реализацию в коде. Обычно это UML-диаграмма классов или другая визуализация.
🛠 Основные инструменты:
Ключевые элементы нотации для каждого уровня прикреплены в картинках к посту.
Необязательно рисовать все четыре уровня: выбирайте нужную детализацию под задачу и аудиторию.
🖼 Примеры схем архитектуры
Можно изучать и использовать как ориентир для своих проектов.
В подборке есть и монолиты, и микросервисные системы с брокерами.
Сохраняйте, чтобы теория, примеры и практика по C4 были под рукой, когда понадобится спроектировать архитектуру.
#АрхитектураGA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👍9🔥6
🧩 7 архитектурных решений, которые аналитик принимает раньше архитектора
«Пользователь заказал товар, курьер загрузил посылку в постамат, пользователь её забрал».
Один процесс. Но сколько вопросов появляется, когда начинаешь его проектировать:
▫️ какие микросервисы нужны
▫️ где хранить данные об отправлениях, ячейках и оплатах
▫️ какие API использовать
▫️ где ждать ответ, а где передавать событие через брокер
▫️ кто вообще имеет право открыть ячейку
И это вопросы, с которыми системный аналитик сталкивается уже при проработке требований — ещё до готовой схемы архитектуры.
Конечно, архитектурные решения принимаются вместе с архитектором и разработчиками.
👉 Но аналитику важно понимать, что именно мы выбираем и как этот выбор влияет на работу системы.
В карточках разбираем 7 таких решений на примере проекта #PostamatGA. Без попытки поставить Kafka между всеми прямоугольниками 😃
📌 Сохраните последнюю карточку — пригодится при обсуждении следующей большой фичи или нового проекта.
#АрхитектураGA
📱 Tg | 💙 ВК | 💬 Max
«Пользователь заказал товар, курьер загрузил посылку в постамат, пользователь её забрал».
Один процесс. Но сколько вопросов появляется, когда начинаешь его проектировать:
▫️ какие микросервисы нужны
▫️ где хранить данные об отправлениях, ячейках и оплатах
▫️ какие API использовать
▫️ где ждать ответ, а где передавать событие через брокер
▫️ кто вообще имеет право открыть ячейку
И это вопросы, с которыми системный аналитик сталкивается уже при проработке требований — ещё до готовой схемы архитектуры.
Конечно, архитектурные решения принимаются вместе с архитектором и разработчиками.
👉 Но аналитику важно понимать, что именно мы выбираем и как этот выбор влияет на работу системы.
В карточках разбираем 7 таких решений на примере проекта #PostamatGA. Без попытки поставить Kafka между всеми прямоугольниками 😃
📌 Сохраните последнюю карточку — пригодится при обсуждении следующей большой фичи или нового проекта.
#АрхитектураGA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤🔥2
Вы уже уверенный Middle, Middle+ или Senior. Понимаете процессы, работаете с интеграциями и API.
Микросервисы в теории понятны.
Знаете, зачем нужна Kafka.
Но как спроектировать реальный асинхронный процесс, в котором участвуют несколько сервисов?
🔴 Почему, например, остановка одного сервиса всё ещё блокирует процесс, несмотря на Kafka?
Потому что асинхронный обмен не отменяет зависимость между шагами. Если следующий шаг требует результата предыдущего, сообщение в брокере этот результат не заменит.
Нужно определить, где процесс может продолжаться независимо, где должен ждать и что произойдёт, если ожидание затянется.
От определения микросервисов и выбора технологий — к проектированию процессов между ними. На этом строится наш практический курс «Проектирование архитектуры» для системных аналитиков уровня уверенный Middle / Middle+ / Senior.
👉 Посмотреть программу
Что будем делать
▫️ Проектировать архитектуру с нуля: выбирать между монолитом, сервисной и микросервисной архитектурой.
▫️ Описывать архитектуру упрощенными схемами и с помощью нотации C4, чтобы обсуждать решения с командой.
▫️ Выбирать способы взаимодействия: REST, GraphQL, WebSocket и другие.
▫️ Проектировать асинхронные взаимодействия с Kafka и RabbitMQ, работать с вебхуками и описывать требования для разработчиков.
После практики с нами
✔️ Приходите на архитектурный митинг и ведёте его, а не просто участвуете.
✔️ Обосновываете повышение грейда конкретными навыками.
✔️ Проходите технические собеседования и сами выбираете оффер.
✔️ Переходите из проектной разработки в продукт с SOA или микросервисами.
✔️ Закрываете пробелы, которые давно хотели закрыть, и собираете своё публичное портфолио.
Процесс
12 онлайн-практикумов и теоретические модули в записи: разбираем демонстрационный проект и применяем подходы на дополнительном проекте для закрепления навыков.
✅ Домашние задания и обратная связь — на всех тарифах. Глубина проверки зависит от тарифа.
🗓 Старт 15 сентября
Предзапись до 11 сентября
🎁 скидка + мини-курс «Интеграции 4.0 — продвинутый уровень» в подарок
👉 Посмотреть программу и записаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Forwarded from 👩🏻💻 Подкаст Системных Аналитиков | GetAnalyst
щё недавно системный аналитик описывал требования и передавал их разработчикам. Теперь с помощью вайбкодинга он может сам превратить идею и требования в работающее приложение.
Означает ли это, что граница между аналитиком и программистом постепенно исчезает? И станет ли умение создавать решения с помощью ИИ новым обязательным навыком аналитика?
В этом выпуске проверяем возможности вайбкодинга на реальном кейсе.
Видео с демо (рекомендуется):
⏯ YouTube
⏯ RuTube
⏯ VK Video
⏯ Telegram
Аудио:
⏯ Apple Podcast
⏯ Яндекс.Музыка
⏯ Castbox
⏯ Звук
⏯ Spotify
GetAnalyst — база знаний с нереальным количеством практики в открытом доступе 😍
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥7🔥4😁3❤2👍2