Advanced Virtualization Concepts and DevOps

1. Course Title Advanced virtualization concepts and DevOps
2. Code 4ФЕИТ07008A
3. Study program Dedicated Embedded Computer Systems and Internet of Things
4. Organizer of the study program (unit, institute, department) Faculty of Electrical Engineering and Information Technologies

Ss. Cyril and Methodius University in Skopje

5. Degree (first, second, third cycle) Second cycle
6. Academic year/semester Year I Semester 1
7. Workload measured by number of ECTS credits 6
8. Lecturer (in case of several lecturers to note the responsible one) Dr Daniel Denkovski
9. Language of teaching Macedonian and English
10. Course prerequisites None
11. Course goals (acquired competencies) and study results:

Knowledge and understanding of the fundamental concepts and practices in both hypervisor- and container-based virtualization, as well as continuous integration and continuous delivery methodologies for contemporary software solutions. Practical skills for operating, deploying, and managing virtualized and containerized environments across both server and cloud systems.

12. Course syllabus (with chapters) and study results for each chapter:

Chapter 1: Basic virtualization concepts, classic hypervisor-based techniques, and management of resources and devices within virtual machines.
Study results: Foundational knowledge and understanding of virtualization concepts, along with traditional methods employing hypervisors.

Chapter 2: Modern user space virtualization using containers. The advantages and disadvantages of container-based virtualization, including techniques like Docker.

Study results: Comprehensive understanding of container-based virtualization, coupled with insights into the associated advantages and disadvantages.

Chapter 3: Key concepts and practices within the DevOps methodology, introducing the continuous integration and continuous delivery (CI/CD) concept. Principles of continuous software development, integration, and deployment are covered, along with an introduction to CI/CD tools such as Git, Docker, Jenkins, and Ansible.

Study results: Knowledge, understanding, and practical skills in utilizing CI/CD tools. Understanding the role of repositories and artifacts in the CI/CD pipeline.

Chapter 4: Lifecycle management of machine learning models, covering all phases from development to deployment, monitoring, maintenance, and management.
Study results: Familiarity with MLOps, covering the lifecycle management of machine learning models.

Chapter 5: Best practices in utilizing cloud infrastructure are explored across major platforms like Azure, Google Cloud Platform (GCP), and Amazon Web Services (AWS).

Study results: Knowledge of fundamental practices in operating cloud infrastructure, along with practical skills gained through hands-on experience with major cloud platforms.

13. Interconnection of Courses: This course makes an indivisible whole with the course Advanced Operating Systems Concepts, since it is developing further one area od the advanced OS elements, virtualization and moving the systems to the cloud. Additionally it is complementing the courses: System Design Concepts for the Internet of Things, Wireless Technologies and Networks for Internet of Things, Data Warehouse and Purpose-built Data,  Cloud computing and Cloud platforms.
14. Detailed description of teaching and work methods:

Lectures, individual engagement in project tasks, and the preparation of seminar work. A compulsory project assignment for each student, with the final grade determined based on the total points from both, the project assignment and the final exam.

15. Total number of course hours 180
16.

 

Forms of teaching  16.1 Lectures-theoretical teaching 45 hours
16.2 Exercises (laboratory, practice classes), seminars, teamwork 45 hours
16.3 Practical work (hours): 15 hours
17.

 

 

Other courseactivities 17.1 Projects, seminar papers 30 hours
17.2 Individual tasks 30 hours
17.3 Homework and self-learning 15 hours
18. Conditions for acquiring teacher’s signature and for taking final exam:

Regular attendance on lectures and consultations.

19. Grading
19.1 Quizzes 0 points
19.2 Seminar work/project (presentation: written and oral) 50 points
19.3 Final exam 50 points
20. Grading criteria (points) up to 50 points 5 (five) (F)
from 51 to 60 points 6 (six) (E)
from 61 to 70 points 7 (seven) (D)
from 71 to 80 points 8 (eight) (C)
from 81 to 90 points 9 (nine) (B)
from 91 to 100 points 10 (ten) (A)
21. Method of monitoring of teaching quality Self-evaluation and student surveys
22. Literature
22.1. Required Literature
No. Author Title Publisher Year
1. DN Le, R Kumar, GN Nguyen, and JM Chatterjee Cloud Computing and Virtualization Wiley 2018
2. SM Jain Linux Containers and Virtualization: A Kernel Perspective Apress 2020
22.2. Additional Literature
No. Author Title Publisher Year
1. M Treveil, et al. Introducing MLOps: How to Scale Machine Learning in the Enterprise O’Reilly Media  2020
2. H Saito, HCC Lee, and KJC Hsu Kubernetes Cookbook: Practical Solutions to Container Orchestration Packt Publishing  2018
3. M Portnoy Virtualization Essentials, 2nd Edition Wiley  2016