Магистратура
2024/2025
Инфраструктура разработки программного обеспечения
Статус:
Курс по выбору (Проектирование и разработка высоконагруженных информационных систем)
Направление:
01.04.02. Прикладная математика и информатика
Кто читает:
Департамент информатики
Когда читается:
1-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Ахтямов Павел Ибрагимович
Прогр. обучения:
Проектирование и разработка высоконагруженных информационных систем
Язык:
русский
Кредиты:
6
Программа дисциплины
Аннотация
Целью изучения дисциплины является ознакомление студентов с основными практиками внедрения и поддержки инфраструктуры разработки программного обеспечения (DevOps). Будут рассмотрены различные инструментальные средства, такие как системы сборки, системы контроля версий, средства модульного тестирования и непрерывной интеграции, редства доставки и управления конфигурациями. В ходе курса предусмотрено также множество практических задач, ориентированных на различные аспекты жизненного цикла продукта.
Цель освоения дисциплины
- Ознакомление студентов с основными практиками внедрения и поддержки инфраструктуры разработки программного обеспечения (DevOps)
Планируемые результаты обучения
- Умеет работать в ОС Linux.
- Умеет писать скрипты для построения базовых конвейеров управления ОС Linux.
- Знает различие терминов DevOps и devops.
- Умеет выбрать паттерн devops для внедрения в процесс разработки в компании.
- Владеет Git для разработки на базовом и продвинутом уровне.
- Умеет проектировать API для микросервисной архитектуры.
- Умеет проводить диагностику и решать проблемы, связанные с сетевой инфраструктурой.
- Знает отличие понятий «образ» и «контейнер».
- Умеет использовать Docker как основной инструмент контейнеризации ресурсов.
- Имеет навыки тестирования ПО.
- Использует автоматическое тестирование ПО на разных уровнях тестирования.
- Знает понятие «Инфраструктура как код».
- Умеет масштабировать решение по настройке окружения разработчика.
- Умеет настраивать конвейеры непрерывной интеграции и поставки ПО.
- Умеет использовать протокол SSH для удаленного доступа к серверам.
- Умеет управлять облачной инфраструктурой посредства кода.
- Умеет отличать понятия Stateful и Stateless.
- Умеет разворачивать проекты в Kubernetes-кластере.
Содержание учебной дисциплины
- ОС Linux
- Принципы devops
- Системы контроля версий
- Сетевой стек
- Инструменты контейнеризации и виртуализации
- Тестирование ПО
- Настройка инфраструктуры
- Непрерывная разработка ПО
- Облачная инфраструктура
- Оркестрация ПО на основе Kubernetes
Элементы контроля
- Домашнее задание №1
- Домашнее задание №2
- Домашнее задание №3
- Домашнее задание №4
- Домашнее задание №5
- Домашнее задание №6
- АктивностьРабота на семинарах
- ЭкзаменНа экзамене будут даны 2 вопроса из программы курса. Каждый вопрос оценивается из 5 баллов.
Промежуточная аттестация
- 2024/2025 2nd module0.1 * Активность + 0.1 * Домашнее задание №1 + 0.1 * Домашнее задание №2 + 0.1 * Домашнее задание №3 + 0.1 * Домашнее задание №4 + 0.1 * Домашнее задание №5 + 0.1 * Домашнее задание №6 + 0.3 * Экзамен
Список литературы
Рекомендуемая основная литература
- Gene Kim, Jez Humble, Patrick Debois, & John Willis. (2016). The DevOps Handbook : How to Create World-Class Agility, Reliability, and Security in Technology Organizations. IT Revolution Press.
- Gigi Sayfan. (2017). Mastering Kubernetes. Packt Publishing.
- Humble, J., & Farley, D. (2011). Continuous Delivery : Reliable Software Releases Through Build, Test, and Deployment Automation. Upper Saddle River, NJ: Addison-Wesley Professional. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1599336
- Scott Chacon, & Ben Straub. (2014). Pro Git (Second Edition). Web server without geographic relation, Web server without geographic relation (org): Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.E86D0407
- Yevgeniy Brikman. (2019). Terraform: Up & Running : Writing Infrastructure As Code: Vol. Second edition. O’Reilly Media.
Рекомендуемая дополнительная литература
- Gene Kim, Kevin Behr, & George Spafford. (2018). The Phoenix Project : A Novel About IT, DevOps, and Helping Your Business Win. IT Revolution Press.
- Hochstein, L., & Moser, R. (2017). Ansible: Up and Running : Automating Configuration Management and Deployment the Easy Way: Vol. 2nd ed. Reilly - O’Reilly Media.
- Newham, C., & Rosenblatt, B. (2005). Learning the Bash Shell : Unix Shell Programming: Vol. 3rd ed. O’Reilly Media.