HIGHLOAD SOFTWARE ARCHITECTURE
Досвід та інсайти від інженера, який понад 15 років розробляє програмне забезпечення
Артем Дорохін
former Solutions Architect у Luxoft

ЦЕЙ КУРС ДЛЯ ВАС, ЯКЩО ВИ ХОЧЕТЕ:
ПРО КУРС:
За 19 занять на курсі «Архітектура високих навантажень» ви:
-
опануєте сучасні практики з хайлоаду та системного дизайну, що застосовують у великих і середніх компаніях
-
вивчите термінологію архітектури застосунків
-
розберете переваги та недоліки технологій, моделі передачі, зберігання та структуризації даних
-
навчитеся працювати з розподіленими даними, пакетами й потоками, а також проєктувати відповідні рішення
-
створите власну систему, здатну витримати щоденний трафік в ≥ 1 млн користувачів та масштабуватися

лектор
Артем Дорохін
former Solutions Architect у Luxoft, понад 15 років технічного досвіду в ІТ
-
Працював на позиціях Tech Lead у SoftServe, Lead Software Engineer в EPAM Systems
-
Проєктував і створював високонавантажені системи реального часу (latency < 5ms) для Fintech та eCommerce
-
Проєктував і створював розподілені системи взаєморозрахунків між фінансовими установами США (включно з Blackrock, JP Morgan Chase)
-
Має сертифікацію GCP Certified Cloud Architect
Програма
-
01 заняття02.02.2026 19:00
Вступ до високопродуктивних систем і вимоги до архітектури
- Зрозумієте, що таке високопродуктивні системи
- Опануєте базові терміни архітектури
- Розберете ключові завдання архітектора високонавантажених систем
- Навчитеся збирати й документувати вимоги до програми/системи
-
02 заняття05.02.2026 19:00
Основи архітектурного дизайну
- Розберете основні проблеми високонавантажених систем
- Розглянете параметри систем: масштабованість, надійність, продуктивність, fault tolerance
- Розрізните функціональні та нефункціональні вимоги
- Навчитеся робити базові розрахунки ресурсів
- Вивчите принципи масштабування та балансування навантаження
- Створите базову архітектуру системи з ключових компонентів
-
03 заняття09.02.2026 19:00
Архітектурні стилі й типові архітектури
- Зрозумієте, чому архітектура базується на вимогах
- Розберете підходи до масштабування систем
- Ознайомитеся з основними архітектурними стилями
- Зрозумієте принципи event stream та event sourcing
- Визначите ситуації, де потрібен event sourcing
-
04 заняття12.02.2026 19:00
Моніторинг, метрики та алертинг
- Розберете важливість моніторингу та коректного алертингу
- Розрізните метрики та логи
- Навчитеся працювати з системами моніторингу
- Опануєте основи підходу SRE
-
05 заняття16.02.2026 19:00
Вертикальне масштабування
- Зрозумієте сутність вертикального масштабування
- Розглянете його переваги та недоліки
- Навчитеся визначати ситуації, коли вертикальне масштабування ефективне
- Розберете, як зробити систему вертикально масштабованою
-
06 заняття19.02.2026 19:00
Горизонтальне масштабування
- Зрозумієте, що таке горизонтальне масштабування
- Розглянете його сильні та слабкі сторони
- Навчитеся визначати сценарії, де воно необхідне
- Опануєте принципи побудови горизонтально масштабованих систем
-
07 заняття23.02.2026 19:00
Масштабування в глибину (in-depth scaling)
- Розберете специфіку масштабування в глибину
- Розглянете переваги та недоліки цього підходу
- Опануєте типові патерни масштабування в глибину
-
08 заняття26.02.2026 19:00
Способи доступу до даних
- Розберете різні моделі доступу до даних
- Оціните переваги та недоліки кожної
- Навчитесь обирати оптимальний підхід під бізнес-вимоги
- Зрозумієте принципи роботи messaging systems
-
09 заняття02.03.2026 19:00
Формати зберігання та передачі даних
- Розберете різні формати передачі та зберігання даних
- Порівняєте їхні сильні та слабкі сторони
- Навчитесь обирати формат під конкретні вимоги
- Ознайомитеся з JSON/XML/Binary, Thrift, Protobuf, Avro
-
10 заняття05.03.2026 19:00
Сховища даних
- Розберете різницю між relational і document-based моделями
- Зрозумієте відмінності declarative та imperative мов запитів
- Ознайомитеся з графовими моделями даних
- Навчитесь обирати відповідне сховище даних під вимоги системи
-
11 заняття12.03.2026 19:00
Спеціалізовані структури даних
- Розберете відмінності зберігання в пам’яті й на диску
- Зрозумієте принципи сучасних систем доступу до даних
- Навчитеся підвищувати ефективність через спеціалізовані структури
- Опануєте використання кешів для оптимізації
- Розберете, коли блум-фільтри доречні, а коли — ні
-
12 заняття16.03.2026 19:00
Аналітика та Big Data: зберігання даних
- Розберете особливості зберігання даних для аналітики
- Зрозумієте роль column-oriented storages
- Розрізните Data Warehouse і Data Lake
- Навчитесь обирати моделі Stars, Snowflakes і Data Marts
- Опануєте базові принципи Big Data сховищ
-
13 заняття19.03.2026 19:00
Пакетна обробка даних (Batching)
- Зрозумієте сутність batch-процесингу
- Розберете, коли пакетна обробка найефективніша
- Опануєте принципи MapReduce
- Навчитеся застосовувати Spark
- Зрозумієте, як оптимізувати batch-процеси
-
14 заняття23.03.2026 19:00
Потокова обробка даних (Streaming)
- Розберете поняття state, stream та immutability
- Зрозумієте принцип stream/table duality
- Навчитеся визначати, коли потрібен стримінг
- Опануєте Apache Kafka для потокової обробки
- Порівняєте messaging systems
- Розберете принципи Lambda-архітектур
-
15 заняття26.03.2026 19:00
Distributed data: CAP-теорема
- Зрозумієте, навіщо розподіляють дані
- Опануєте CAP-теорему та її обмеження
- Навчитеся пояснювати компроміси між CA/P
- Застосуєте CAP у проєктуванні систем
- Розберете PACELC та її вплив на архітектуру
-
16 заняття30.03.2026 19:00
Distributed data: транзакції
- Розберете принципи ACID
- Вивчите різні рівні ізоляції та їхні наслідки
- Навчитесь обирати оптимальну ізоляцію під вимоги
- Розрізните single- та multi-object операції
- Зрозумієте принципи серіалізованості в розподілених системах
-
17 заняття02.04.2026 19:00
Distributed data: реплікація та сегментування
- Розберете основи секціонування даних
- Зрозумієте принципи реплікації та їхній вплив на систему
- Навчитесь обирати тип реплікації під бізнес-вимоги
- Опануєте стратегії ребалансування
- Розберете принципи parallel query execution
-
18 заняття06.04.2026 19:00
Distributed data: цілісність і консенсус
- Зрозумієте типи цілісності даних
- Розберете принципи консенсусу в розподілених системах
- Навчитесь обирати модель цілісності під бізнес-задачі
- Оціните проблеми одночасного запису та способи їхнього розв’язання
- Ознайомитеся з Paxos і Raft та їхнім застосуванням
- Розберете принципи розподілених транзакцій
-
19 заняття13.04.2026 19:00
Презентація курсового проєкту
- Розберете всі етапи створення архітектури високонавантажених систем
- Навчитеся презентувати архітектурне рішення
- Опануєте формування вимог і побудову High-level та Low-level дизайну
- Навчитесь описувати метрики та алертинг
- Розберете технічні вимоги до сховища (реплікація, транзакції, PACELC)
- Навчитесь аргументувати архітектурні рішення перед аудиторією
Реєстрація
Реєструйтеся на курс, щоб навчитися масштабувати архітектуру та зберігати стабільність системи навіть під час пікових навантажень.