Программа и содержание

Сайт: Сайт автора

Продвинутый курс для системных аналитиков, которые уже знают базу архитектуры и хотят глубже разбираться в проектировании сложных и высоконагруженных систем.

На курсе вы разберёте C4, архитектурные слои, антипаттерны, модульность, индексы, репликацию, шардирование, кэширование и NoSQL

Вам подойдёт этот курс, если:

Уже знаете базу архитектуры, но хотите глубже разобраться в сложных темах: highload, C4, архитектурные слои, модульность, индексы, репликация, шардирование, кэширование и NoSQL

Хотите не просто знать термины, а уметь объяснять, почему выбрано именно такое архитектурное решение

Хотите укрепиться как senior-аналитик или развиваться в сторону архитектора, защищать архитектурные решения, понимать trade-off, риски, антипаттерны и последствия решений для системы

Чему научитесь:

Поймете, что такое highload-системы и какие проблемы возникают при росте нагрузки

Научитесь работать с RPS, Latency, Throughput, SLA, SLO, SLI и понимать их влияние на архитектуру

Сможете описывать архитектуру в нотации C4: Context и Container

Разберетесь в архитектурных слоях, уровнях, антипаттернах и типовых ошибках проектирования

Поймете принципы модульности, связности и связанности, чтобы оценивать качество разбиения системы

Разберетесь, когда нужны индексы, репликация, шардирование, кэширование и NoSQL, а когда они создают новые проблемы

Сможете обсуждать архитектуру сложной системы через ограничения, trade-off, риски и последствия решений

На итоговом проекте соберете архитектурное описание системы: C4-схемы, слои, хранилища и решения по масштабированию

Если Хард пока рано:

Тогда начните с базового курса по архитектуре.

Курс \"Архитектура систем. Хард\" рассчитан на тех, кто уже понимает базу и хочет глубже разбираться в сложных архитектурных решениях: highload, архитектурных слоях, антипаттернах, индексах, репликации и шардировании.

Если пока плаваете в этих темах, сначала пройдите \"Архитектура систем. База\". Там вы разберётесь в фундаменте: НФТ, декомпозиции по DDD, API, очередях, вебхуках, callbacks и балансировщиках.

Что делает курс практичным:

Сквозной проект

Весь курс строится вокруг МаркетХаба: вы видите, как архитектура усложняется по шагам, а не изучаете темы в отрыве друг от друга

Не просто термины

Разбираем не \"что такое шардирование\", а зачем оно нужно, какие проблемы решает и какие новые риски создаёт

Фокус на trade-off

Учитесь смотреть на архитектурное решение через ограничения, риски, последствия и компромиссы

C4 на практике

Не просто говорим про архитектуру, а учимся описывать её структурно: через контекст, контейнеры и понятные схемы

Highload без магии

Разбираем нагрузку, SLA/SLO/SLI, CAP, кэширование, репликацию и шардирование простым языком и на примерах

Закрываем пробелы

Разбираем темы, в которых чаще всего плавают аналитики, понятным языком и на реальных примерах

Результат курса — архитектурное решение сложной системы:

На выходе у вас будет готовое описание архитектуры: 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 базы данных:

Что