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

14 участников

О чём курс

Владимир Бурмистров разбирает проектирование сложных и высоконагруженных систем, а на сквозном проекте «МаркетХаб» вы подготовите архитектурное описание системы.

Для кого

Курс рассчитан на системных аналитиков, которые знают основы архитектуры и хотят увереннее разбирать решения для систем с высокой нагрузкой. Он также адресован тем, кто развивает навыки senior-аналитика или движется к роли архитектора: здесь нужно объяснять выбор решений через ограничения, компромиссы, риски и последствия для системы.

Что вы разберёте

Владимир начинает с проблем роста нагрузки и метрик RPS, Latency, Throughput, SLA, SLO и SLI. Затем вы научитесь описывать систему в нотации C4 на уровнях Context и Container, выделять архитектурные слои и замечать ошибки в их границах. Программа охватывает модульность, связность и связанность, архитектурные стили и типичные антипаттерны.

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

Сквозной проект и задания

На примере «МаркетХаба» вы последовательно строите C4-схемы, разделяете систему на слои и отрабатываете архитектурные паттерны. Дальше в проект добавляются решения по репликации, шардированию, кэшу и API Gateway. Итоговая работа объединяет схемы, слои, хранилища и логику масштабирования в одно архитектурное описание.

Автор и формат

Владимир Бурмистров — главный системный аналитик ИТ-холдинга Т1 на проекте Dion; он специализируется на системном анализе и архитектуре и работает в IT с 2007 года. В тарифе «Только послушать» доступны все уроки и материалы для самостоятельного изучения на пять месяцев. Проверка домашних заданий, обратная связь и участие в воркшопах в этот тариф не входят.

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

Неделя 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 г. · описание обновлено 25 октября 2026 г.

Теги курса

2 949 ₽ 34 900 ₽