• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site
2023/2024

DevOps

Type: Optional course (faculty)
When: 1, 2 module
Online hours: 52
Open to: students of one campus
Instructors: Margarita Burova
Language: English
ECTS credits: 6
Contact hours: 10

Course Syllabus

Abstract

A short course of lectures on DevOps in terms of methodology, tools and professions, organized jointly with MTS.Teta and #CloudMTC. There will be practice in the form of a demonstration of the use of tools and, for a small part of those selected, in the form of seminars with direct work in the environment. It’s worth taking this course to broaden your horizons in terms of development methodologies and industrial tools, as well as to form an understanding of what components of DevOps skills are worth further developing. In addition, students will learn to choose DevOps tools for their tasks and environment. Gain skills in using basic GitLab functionality in software development, as well as an understanding of practical ways to deploy applications up to containerization.
Learning Objectives

Learning Objectives

  • Able to develop software architecture.
  • Able to set up virtualized environments with Vagrant.
  • Able to manage complex configurations with Ansible.
  • Able to containerize your applications with Docker.
  • Able to build scalable and reliable applications on Kubernetes.
  • Able to work with version control systems.
Expected Learning Outcomes

Expected Learning Outcomes

  • Able to set up continuous integration.
  • Able to write shell script.
  • Able to develop software architecture.
  • Able to set up virtualized environments with Vagrant.
  • Able to configure Linux service for your application with SystemD.
  • Able to build virtual machine images.
  • Able to work with Ansible modules.
  • Able to configure Nginx reverse proxy.
  • Able to generate configuration files from templates.
  • Able to build scalable applications on Kubernetes.
  • Able to ensure fault tolerance of your application.
  • Able to expose your applications to external users with Ingress Controller.
  • Able to containerize your application.
  • Able to connect applications in containers with each other.
Course Contents

Course Contents

  • 1. Working with Linux and VCS
  • 2. Dev tools and CI
  • 3. Software design and architecture
  • 4. Working with virtual environments
  • 5. Infrastructure as Code and Configuration Management
  • 6. Containerization
Assessment Elements

Assessment Elements

  • non-blocking Quizzes
  • non-blocking Staff Graded Assignments
  • non-blocking Programming Assignments
  • non-blocking Final project
Interim Assessment

Interim Assessment

  • 2023/2024 2nd module
    0.25 * Final project + 0.3 * Programming Assignments + 0.15 * Quizzes + 0.3 * Staff Graded Assignments
Bibliography

Bibliography

Recommended Core Bibliography

  • Bass, L., Weber, I. M., & Zhu, L. (2015). DevOps : A Software Architect’s Perspective. Old Tappan, NJ: Addison-Wesley Professional. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1601433
  • Mikael Krief. (2019). Learning DevOps : The Complete Guide to Accelerate Collaboration with Jenkins, Kubernetes, Terraform and Azure DevOps. Birmingham: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2284100

Recommended Additional Bibliography

  • Философия Devops : искусство управления IT, Дэвис, Дж., 2017