О курсе
Курс посвящён проектированию масштабируемых систем, подобных тем, что используются в крупных технологических компаниях. В рамках программы рассматриваются этапы создания архитектуры: от сбора требований и оценки нагрузки до реализации высокоуровневых схем и модульного дизайна. Отдельное внимание уделяется выбору баз данных, масштабированию, балансировке нагрузки, кешированию и работе с долгими соединениями. Также изучаются подсистемы для хранения данных, поиска и аналитики, включая текстовый поиск, геоданные и мониторинг. Завершается курс финальным проектом, в котором предлагается спроектировать архитектуру популярной системы.
Что рассматривается в программе
- Сбор функциональных и нефункциональных требований.
- Оценка нагрузки и требований к инфраструктуре.
- Проектирование высокоуровневых схем и модульного дизайна.
- Выбор систем управления базами данных.
- Масштабирование сервисов и баз данных, балансировка нагрузки.
- Кеширование данных, работа с долгими соединениями и тяжёлыми файлами.
- Организация текстового поиска и поиска по геоданным.
- Настройка мониторинга и сбора логов для аналитики.
Кому может быть полезен курс
- Системным администраторам, желающим расширить компетенции в области проектирования систем.
- Разработчикам, готовящимся к собеседованиям в BigTech.
- Аналитикам и архитекторам, которым нужно ознакомиться с практиками системного дизайна.
- Продакт- и проджект-менеджерам, инженерам, интересующимся техническими аспектами создания масштабируемых систем.
Вопросы о программе
Какие темы рассматриваются в первом модуле?
В первом модуле рассматривается сбор требований и оценка нагрузки: выбор функциональных и нефункциональных требований, оценка трафика и требований к железу на основе предположений о количестве пользователей.
Что входит в модуль о масштабировании?
Модуль о масштабировании включает увеличение числа реплик для избыточности, балансировку нагрузки, ограничение нагрузки на части системы, кеширование часто используемых данных, а также работу с долгими соединениями и тяжёлыми файлами.
Предусмотрен ли практический проект?
Да, в конце курса предусмотрен финальный проект, в котором предлагается спроектировать дизайн популярной системы, используемой миллионами людей, применив знания, полученные в ходе курса.