2023/2024



Распределенные системы
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Маго-лего
Когда читается:
3 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
3
Контактные часы:
14
Программа дисциплины
Аннотация
На нашем курсе мы продолжим изучение работы сервисов в режиме высокой нагрузки. В начале курса мы узнаем, каким образом сервисы выполняют задачи в отложенном режиме. После этого мы рассмотрим основы многопоточного программирования и рассмотрим разные аспекты асинхронного программирования на Python. На курсе будут рассмотрены оптимальные практики развертывания приложений в режиме “чистое железо” и в рамках инфраструктуры кластера Kubernetes.
Цель освоения дисциплины
- По результатам обучения курса студенты смогут разворачивать приложения в промышленной среде и адаптировать лучшие практики высоконагруженных систем в своих проектах.
Планируемые результаты обучения
- Студенты смогу реализовать привязку очередей сообщений для реализации отложенных задач
- Студенты смогут реализовать проект в стеке: Backend, Frontend, WSGI, кэширование для распределения нагрузки.
- Студенты смогут выбрать оптимальный способ ускорения программ на Python. Дополнительно студенты смогут реализовывать сервисы при помощи асинхронных фреймворков веб-сервисов и разрешать проблему “однопоточности” в Python.
- Студенты смогут реализовать взаимодействие структурированных данных с использованием эффективных протоколов.
- Студенты смогут настроить взаимодействие сервисов по протоколам WebSocket и gRPC и обосновать выбор протокола.
- Студенты смогут реализовать быстрое развертывание моделей глубокого обучения. Дополнительно студенты научаться готовить модели к использованию на Embedded-устройствах (мобильные телефоны, умные устройства)
- Студенты смогут разворачивать приложение в Kubernetes-кластере и настраивать Kubernetes-кластер при помощи дистрибутивов настройки Kubernetes-кластера.
Содержание учебной дисциплины
- Взаимодействие сервисов. Очереди сообщений
- Написание высоконагруженных веб-сервисов
- Асинхронное программирование на Python.
- Форматы взаимодействия высоконагруженных систем.
- Протоколы взаимодействия высоконагруженных сервисов
- MLOps и высоконагруженные системы
- Развертывание приложений в Kubernetes-кластере.
Список литературы
Рекомендуемая основная литература
- Высоконагруженные приложения : программирование, масштабирование, поддержка, Клеппман, М., 2019
- Высоконагруженные приложения. Программирование, масштабирование, поддержка - 978-5-4461-0512-0 - Клеппман М. - 2022 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/357916 - 357916 - iBOOKS
Рекомендуемая дополнительная литература
- Kubernetes для DevOps: развертывание, запуск и масштабирование в облаке. - 978-5-4461-1602-7 - Арундел Джон, Домингус Джастин - 2021 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/371738 - 371738 - iBOOKS