Продвинутый курс для системных аналитиков, которые уже знают базу архитектуры и хотят глубже разбираться в проектировании сложных и высоконагруженных систем. На курсе вы разберёте 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 базы данных: Что такое 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, кеша Автор Владимир Бурмистров Главный системный аналитик в ИТ-холдинге Т1, проект Dion. Специализируется на системном анализе и архитектуре Владимир проектирует системы, помогает командам выстраивать архитектуру и развивать продукты. На курсе он показывает, как системному аналитику разбираться в сложных архитектурных решениях, видеть ограничения и говорить с командой на одном языке с 2007 работает в IT-сфере Видеолекции записал уроки курса по архитектуре сложных систем Воркшопы будет проводить разборы по темам курса и практическим заданиям Тариф Только послушать Доступ ко всем урокам курса Доступ к материалам на 5 месяцев Материалы для самостоятельного изучения Без проверки домашних заданий, обратной связи и участия в воркшопах