АРХІТЕКТУРА ВИСОКИХ НАВАНТАЖЕНЬ
Досвід та інсайти від інженера з eBay, який понад 20 років розробляє програмне забезпечення
Олег Муравський
Principal Data Architect в eBay

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

до програми курсу входять
-
01
РОЗБІР АРХІТЕКТУР
Дізнаєтесь, які технології лежать в основі масштабованих та відмовостійких систем. Навчитеся застосовувати й адаптувати сучасні highload-практики.
-
02
РОЗРОБКА ВЛАСНОЇ АРХІТЕКТУРИ
Побудуєте архітектуру, яка здатна витримати великий трафік, зможете оптимізувати процеси на вашій поточній роботі й визначати вартість впровадження технічних рішень під завдання бізнесу.
-
03
ДИЗАЙН ДЛЯ BIG DATA
Вивчатимете архітектуру високих навантажень на реальних кейсах. Ви навчитеся зберігати, обробляти й аналізувати Big Data, а також розподіляти навантаження на систему.
лектор
Олег Муравський
Principal Data Architect в eBay
20+ років досвіду розробки програмного забезпечення
-
співавтор двох стандартів RFC з RPKI
-
займався європейським реєстром IP-адрес, проєктами RIPEstat та RIPE Atlas
-
розробляв глобальну інфраструктуру відкритих ключів для безпечної маршрутизації
-
працював над сховищами даних для найбільших у світі вимірювань інтернету
Програма
-
01 заняття27.05.2025 19:00
Вступ до високопродуктивних систем
- Зрозумієте, що таке високопродуктивні системи
- Вивчите базові терміни, які застосовують в архітектурі систем
- Дізнаєтесь, які завдання стоять перед архітектором високопродуктивних систем
- Навчитеся збирати й документувати вимоги до програми/системи
-
02 заняття30.05.2025 19:00
Основи архітектурного дизайну
- Розберете основні проблеми високонавантажених систем
- Розглянете функціональні та нефункціональні вимоги до системи
- Дізнаєтеся, з яких елементів складається система
- Навчитеся виконувати базові розрахунки для оцінки потрібних ресурсів системи
- Вивчите принципи масштабування та балансування навантаження
- Створите базову архітектуру системи у Figma
-
03 заняття03.06.2025 19:00
Базові архітектури
- Дізнаєтеся, чому архітектуру вибудовують від вимог до системи
- Зрозумієте, як масштабувати систему
- Ознайомитеся з основними архітектурами
-
04 заняття06.06.2025 19:00
Моделі доступу до даних
- Дізнаєтеся, які відмінності існують між різними моделями доступу до даних
- Зрозумієте переваги та недоліки того чи іншого підходу
- Навчитесь обирати найкращий варіант з огляду на вимоги бізнесу
-
05 заняття10.06.2025 19:00
Формати зберігання та передачі даних
- Зрозумієте відмінність між різними форматами зберігання та передачі даних
- Розберете переваги та недоліки того чи іншого підходу
- Навчитесь обирати найкращий варіант з огляду на вимоги бізнесу
-
06 заняття13.06.2025 19:00
Спеціалізовані структури даних
- дізнаєтесь, як підвищити ефективність обробки даних за допомогою структур даних
- зрозумієте, як побудовані сучасні системи доступу до даних
- розглянете Cache, Bloom filter, Log, LSM-tree
-
07 заняття17.06.2025 19:00
Бази даних
- зрозумієте відмінності між relational та document-based моделями зберігання даних
- з’ясуєте, чим відрізняються declarative та imperative query languages
- матимете уявлення про графові моделі даних
- навчитесь обирати найкращий варіант зберігання даних з огляду на вимоги до системи
-
08 заняття20.06.2025 19:00
Distributed Data: транзакції
- дізнаєтеся, що таке ACID
- зрозумієте, чим відрізняються рівні ізоляції
- навчитесь обирати рівень ізоляції з огляду на вимоги бізнесу
-
09 заняття24.06.2025 19:00
Аналітика та Big Data: зберігання даних
- зрозумієте, в чому особливість зберігання даних для аналітики
- з’ясуєте, навіщо потрібні column-oriented storages
- навчитесь обирати відповідну модель зберігання даних з огляду на бізнес-вимоги
-
10 заняття27.06.2025 19:00
Пакетна обробка даних
- дізнаєтеся, що таке batch-процесинг і в чому його особливості
- розглянете такі інструменти, як-от MapReduce та Spark
-
11 заняття01.07.2025 19:00
Distributed Data: САР-теорема
- дізнаєтеся, для чого доводиться розділяти дані та яким проблемам дає раду такий підхід
- розберете CAP-теорему
-
12 заняття04.07.2025 19:00
Distributed Data: реплікація та секціювання
- зрозумієте основи секціонування
- опануєте різні стратегії ребалансування, вивчите їхні плюси та мінуси
- дізнаєтеся, які готові рішення існують на ринку та використовують ту чи іншу стратегію
- навчитесь обирати найкращий варіант з огляду на вимоги бізнесу
-
13 заняття08.07.2025 19:00
Distributed Data: цілісність і консенсус
- зрозумієте, що таке цілісність даних у розподілених системах
- ознайомитеся з типами цілісності даних, їхніми перевагами та недоліками
- навчитесь обирати оптимальний варіант з огляду на вимоги бізнесу
- з’ясуєте, що таке консенсус у розподілених системах
- отримаєте уявлення про популярні алгоритми консенсусу, як-от Paxos та Raft
-
14 заняття11.07.2025 19:00
Потокова обробка даних
- Дізнаєтеся, навіщо потрібна потокова обробка даних
- Розберете поняття state, stream та immutability
- Розглянете різні messaging systems, їхні переваги та недоліки
- Навчитеся користуватися Apache Kafka
-
15 заняття15.07.2025 19:00
CQRS та Event Sourcing
- Дізнаєтеся, що таке Event Stream / Event Sourcing
- Розберете, в яких ситуаціях використовують Event Sourcing
-
16 заняття18.07.2025 19:00
Моніторинг, метрики та алертинг
- Зрозумієте, в чому важливість моніторингу та грамотно налаштованих сповіщень
- Дізнаєтеся різні види метрик і в чому відмінність метрик та логів
- Розберетесь у системах моніторингу
-
17 заняття01.08.2025 19:00
Презентація курсового проєкту
- Створите й захистите архітектуру обраного або свого проєкту
Реєстрація
Реєструйтеся на курс, щоб навчитися масштабувати архітектуру та зберігати стабільність системи навіть під час пікових навантажень.