• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2023/2024

Распределенные системы

Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус: Маго-лего
Когда читается: 3 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 3
Контактные часы: 14

Программа дисциплины

Аннотация

На нашем курсе мы продолжим изучение работы сервисов в режиме высокой нагрузки. В начале курса мы узнаем, каким образом сервисы выполняют задачи в отложенном режиме. После этого мы рассмотрим основы многопоточного программирования и рассмотрим разные аспекты асинхронного программирования на Python. На курсе будут рассмотрены оптимальные практики развертывания приложений в режиме “чистое железо” и в рамках инфраструктуры кластера Kubernetes.
Цель освоения дисциплины

Цель освоения дисциплины

  • По результатам обучения курса студенты смогут разворачивать приложения в промышленной среде и адаптировать лучшие практики высоконагруженных систем в своих проектах.
Планируемые результаты обучения

Планируемые результаты обучения

  • Студенты смогу реализовать привязку очередей сообщений для реализации отложенных задач
  • Студенты смогут реализовать проект в стеке: Backend, Frontend, WSGI, кэширование для распределения нагрузки.
  • Студенты смогут выбрать оптимальный способ ускорения программ на Python. Дополнительно студенты смогут реализовывать сервисы при помощи асинхронных фреймворков веб-сервисов и разрешать проблему “однопоточности” в Python.
  • Студенты смогут реализовать взаимодействие структурированных данных с использованием эффективных протоколов.
  • Студенты смогут настроить взаимодействие сервисов по протоколам WebSocket и gRPC и обосновать выбор протокола.
  • Студенты смогут реализовать быстрое развертывание моделей глубокого обучения. Дополнительно студенты научаться готовить модели к использованию на Embedded-устройствах (мобильные телефоны, умные устройства)
  • Студенты смогут разворачивать приложение в Kubernetes-кластере и настраивать Kubernetes-кластер при помощи дистрибутивов настройки Kubernetes-кластера.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Взаимодействие сервисов. Очереди сообщений
  • Написание высоконагруженных веб-сервисов
  • Асинхронное программирование на Python.
  • Форматы взаимодействия высоконагруженных систем.
  • Протоколы взаимодействия высоконагруженных сервисов
  • MLOps и высоконагруженные системы
  • Развертывание приложений в Kubernetes-кластере.
Элементы контроля

Элементы контроля

  • неблокирующий WeeklyScore
  • неблокирующий Activity
Промежуточная аттестация

Промежуточная аттестация

  • 2023/2024 учебный год 3 модуль
    0.1 * Activity + 0.9 * WeeklyScore
Список литературы

Список литературы

Рекомендуемая основная литература

  • Высоконагруженные приложения : программирование, масштабирование, поддержка, Клеппман, М., 2019
  • Клеппман М. - Высоконагруженные приложения. Программирование, масштабирование, поддержка - 978-5-4461-0512-0 - Санкт-Петербург: Питер - 2022 - 357916 - https://ibooks.ru/bookshelf/357916/reading - iBOOKS

Рекомендуемая дополнительная литература

  • Арундел Джон, Домингус Джастин - Kubernetes для DevOps: развертывание, запуск и масштабирование в облаке. — (Серия «Бестселлеры O’Reilly»). - 978-5-4461-1602-7 - Санкт-Петербург: Питер - 2021 - 371738 - https://ibooks.ru/bookshelf/371738/reading - iBOOKS