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

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

Статус: Маго-лего
Когда читается: 3 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 3

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

Аннотация

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

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

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

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

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

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

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

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

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

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

  • 2024/2025 3rd module
    * Block1 * 2/7 + Block2 * 2/7 + Block3 * 3/7 В каждом блоке будет по два домашних задания.
Список литературы

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

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

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

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

  • Стин, в. М. Распределенные системы : сборник научных трудов / в. М. Стин, Э. С. Таненбаум , перевод с английского В. А. Яроцкого. — Москва : ДМК Пресс, 2021. — 584 с. — ISBN 978-5-97060-708-4. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/240992 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Авторы

  • Ахмедова Гюнай Интигам кызы
  • Ахтямов Павел Ибрагимович