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 - 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