We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Software Development Infrastructure

2024/2025
Academic Year
RUS
Instruction in Russian
6
ECTS credits
Delivered at:
Department of Informatics
Course type:
Elective course
When:
1 year, 1, 2 module

Instructor


Akhtyamov, Pavel

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

Аннотация

Целью изучения дисциплины является ознакомление студентов с основными практиками внедрения и поддержки инфраструктуры разработки программного обеспечения (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 module
    0.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.

Авторы

  • Спицина Кристина Станиславовна
  • Ахтямов Павел Ибрагимович
  • Юдаева Оксана Юрьевна