О курсе

Курс посвящён проектированию масштабируемых систем, подобных тем, что используются в крупных технологических компаниях. В рамках программы рассматриваются этапы создания архитектуры: от сбора требований и оценки нагрузки до реализации высокоуровневых схем и модульного дизайна. Отдельное внимание уделяется выбору баз данных, масштабированию, балансировке нагрузки, кешированию и работе с долгими соединениями. Также изучаются подсистемы для хранения данных, поиска и аналитики, включая текстовый поиск, геоданные и мониторинг. Завершается курс финальным проектом, в котором предлагается спроектировать архитектуру популярной системы.

Что рассматривается в программе

  • Сбор функциональных и нефункциональных требований.
  • Оценка нагрузки и требований к инфраструктуре.
  • Проектирование высокоуровневых схем и модульного дизайна.
  • Выбор систем управления базами данных.
  • Масштабирование сервисов и баз данных, балансировка нагрузки.
  • Кеширование данных, работа с долгими соединениями и тяжёлыми файлами.
  • Организация текстового поиска и поиска по геоданным.
  • Настройка мониторинга и сбора логов для аналитики.

Кому может быть полезен курс

  • Системным администраторам, желающим расширить компетенции в области проектирования систем.
  • Разработчикам, готовящимся к собеседованиям в BigTech.
  • Аналитикам и архитекторам, которым нужно ознакомиться с практиками системного дизайна.
  • Продакт- и проджект-менеджерам, инженерам, интересующимся техническими аспектами создания масштабируемых систем.

Вопросы о программе

Какие темы рассматриваются в первом модуле?

В первом модуле рассматривается сбор требований и оценка нагрузки: выбор функциональных и нефункциональных требований, оценка трафика и требований к железу на основе предположений о количестве пользователей.

Что входит в модуль о масштабировании?

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

Предусмотрен ли практический проект?

Да, в конце курса предусмотрен финальный проект, в котором предлагается спроектировать дизайн популярной системы, используемой миллионами людей, применив знания, полученные в ходе курса.