2023/2024
DevOps
Type:
Optional course (faculty)
Delivered by:
Big Data and Information Retrieval School
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 andprofessions, organized jointly with MTS.Teta and #CloudMTC. There will be practicein 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
- 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
- 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
- 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
Interim Assessment
- 2023/2024 2nd module0.25 * Final project + 0.3 * Programming Assignments + 0.15 * Quizzes + 0.3 * Staff Graded Assignments
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