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. 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. 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 |