Архитектура систем. Хард

12 участников

О чём курс

Курс «Архитектура систем. Хард» представляет собой углубленную программу для системных аналитиков, обладающих базовыми знаниями в области архитектуры и стремящихся перейти на уровень Senior или развиваться в сторону архитектора. Основная цель обучения — научить студентов не просто оперировать архитектурными терминами, а глубоко понимать принципы проектирования сложных, высоконагруженных систем (Highload), осознанно выбирать технологические решения и аргументированно защищать их перед командой и бизнесом.

Программа курса сфокусирована на практическом применении знаний. Студенты учатся анализировать архитектурные решения через призму ограничений, рисков, последствий и компромиссов (trade-offs). Обучение проходит в формате сквозного проекта «МаркетХаб», который позволяет видеть, как архитектура системы усложняется и трансформируется по мере роста нагрузки. Такой подход помогает избежать изучения тем в отрыве от реальности и дает четкое понимание того, как теоретические концепции работают в связке.

В ходе обучения вы освоите нотацию C4 для структурного описания архитектуры (Context и Container), разберетесь в архитектурных слоях и уровнях, а также научитесь выявлять и избегать типичных антипаттернов проектирования. Значительная часть курса посвящена работе с нагрузкой: вы изучите метрики RPS, Latency, Throughput, SLA, SLO, SLI и поймете, как они влияют на выбор архитектурных решений. Вы научитесь грамотно применять индексы, репликацию, шардирование, кэширование и NoSQL-решения, понимая не только их преимущества, но и проблемы, которые они могут привнести в систему.

Курс идеально подходит тем, кто хочет укрепить свои позиции как системный аналитик, научиться видеть «узкие места» в системе и предлагать масштабируемые решения. Вы научитесь говорить с разработчиками на одном языке, понимать принципы модульности, связности и связанности, а также проектировать API Gateway и эффективно управлять состоянием системы. Результатом прохождения курса станет готовое архитектурное описание сложной системы, включающее C4-схемы, логику масштабирования и обоснование выбора хранилищ и слоев. Это не просто теоретический курс, а интенсивная практика, направленная на развитие инженерного мышления и способности принимать ответственные архитектурные решения в условиях реальных бизнес-задач.

Программа обучения

Неделя 1. Введение про highload-приложения и С4:

  • Урок 1. Зачем системному аналитику понимать архитектуру:
    • Определение и зачем нужна архитектура ПО
    • Разница и граница разделения обязанностей архитектора и аналитика
    • Цена неверного архитектурного решения
  • Урок 2. Проблемы highload-приложений:
    • Что такое highload системы
    • Как измерять нагрузку: метрики RPS, Latency, Throughput, SLA, SLO, SLI
    • 6 основных проблем нагруженных систем
    • Масштабирование — куда расти?
    • База данных — самое уязвимое звено
    • Кэширование — не так просто, как кажется
    • Сетевые задержки и асинхронность
    • Управление состоянием
    • Мониторинг и observability
    • Примеры плохой архитектуры
  • Урок 3. Как строить архитектуру в нотации С4:
    • Как описывать архитектуру: ArchiMate, TOGAF, UML, C4
    • Концепция нотации С4
    • Уровни С4
    • Объекты нотации
    • Примеры С4
  • Урок 4. Разбираем на примере, как строить архитектуру в С4:
    • Отрабатываем на примере проекта МаркетХаб, это "сквозной" проект на протяжении всего курса
    • Домашняя работа: Построение архитектуры в С4

Неделя 2. Архитектурные слои:

  • Урок 5. Архитектурные уровни и слои:
    • Зачем слои аналитику
    • Что такое слой на примере чистой архитектуры
    • Слой vs Уровень
    • Уровень представления (Presentation Layer)
    • Уровень бизнес-логики (Business Logic Layer)
    • Уровень данных (Data Layer)
    • Многослойная архитектура (Layered)
    • Плюсы и минусы многослойности
    • N-Tier — физическое разделение
  • Урок 6. Ошибки и антипаттерны при проектировании уровней:
    • Зачем аналитику знать антипаттерны
    • Что такое антипаттерны и какие бывают на примерах: умный UI, толстый контроллер, прямой доступ из UI в БД, Layer Bleed (размытые границы), God Service, анемичная доменная модель
    • Чеклист для ревью требований и архитектурных обсуждений
    • Домашняя работа: Разделение по слоям

Неделя 3. Архитектурные стили и подходы:

  • Урок 7. Принципы модульности и связности:
    • Что такое модульность
    • Модульность в контексте связности и связанности
    • Связность (Cohesion), виды, примеры хорошей и плохой связности
    • Связанность (Coupling), виды, примеры
    • Принцип слабой связанности (Loosely Coupled) на практике
  • Урок 8. Архитектурные стили и подходы:
    • MVC
    • Layered Architecture
    • Microfrontend
    • BFF: Backend for Frontend
    • Rate Limiter
    • Как аналитику распознать, когда стиль нужен или не нужен
  • Урок 9. Разбираем на примере, как разбивать на архитектурные слои и уровни:
    • Отрабатываем на примере проекта МаркетХаб, это "сквозной" проект на протяжении всего курса
    • Домашняя работа: Отработка архитектурных паттернов

Неделя 4. Индексы, репликация, шардирование:

  • Урок 10. Индексы:
    • Что такое индексы
    • B-Tree
    • Hash
    • Bitmap
    • RUM
    • Как и когда индексы помогают, а когда мешают
    • Примеры использования
  • Урок 11. Репликация:
    • Что такое репликация и зачем она нужна
    • Какие бывают репликации master-slave / master-master / master-less
    • sync / async / semisync
    • logical / physical
    • push / pull
    • CAP-теорема в жизни: какой подход для каких сценариев
  • Урок 12. Шардирование:
    • Партиционирование и его виды
    • Шардирование и его виды
    • Горизонтальное и вертикальное шардирование
    • Географическое шардирование
    • Комбинируем схемы: когда вместе репликация и шардирование
    • Сравнение подходов и примеры реальных компаний
  • Урок 13. Разбор как делать шардирование и репликацию на примере:
    • Отрабатываем на примере проекта МаркетХаб, это "сквозной" проект на протяжении всего курса
    • Домашняя работа: Шардирование, репликация

Неделя 5. Кэширование, NoSQL и API Gateway:

  • Урок 14. NoSQL базы данных:
    • Что такое NoSQL и почему это не "анти-SQL"
    • Виды NoSQL
    • Разбираем примеры MongoDB, Cassandra и Redis
    • Графовые БД
    • Выбор БД, типичные ошибки
  • Урок 15. Кэширование и in-memory хранилища:
    • Определение и суть кэша
    • Кэширование и in-memory хранилища
    • Когда кэш не нужен
    • Где кэш может находиться в системе: browser, CDN, In-memory, Distributed, Database
    • Локальный кэш vs распределённый кэш
    • Как работает cache hit / miss
    • Ключ кэша: что именно храним, примеры
    • Cash-aside
    • Read-through: кэш сам читает источник
    • Write-through: сначала кэш, потом источник
    • Вытеснение: как не захламить память
    • Инвалидация: самая сложная часть кэша
    • Практические кейсы: где кэш уместен
  • Урок 16. API Gateway:
    • API Gateway: зачем нужна единая точка входа
    • Функции API Gateway
    • Место API Gateway в общей архитектуре
    • Rate Limiting: одно правило для всех запросов
    • Агрегация: один запрос клиента — несколько вызовов Gateway
    • API Gateway vs BFF: один для всех или у каждого свой
    • Gateway: когда брать, когда не брать
    • Что должен описать системный аналитик
    • Домашняя работа: Добавление API Gateway, кеша
Складчина создана 24 июля 2026 г. · описание обновлено 26 июля 2026 г.

Теги курса

Инструменты
5 897 ₽ 34 900 ₽