Virtualization and Cloud Computing
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
NIE-VCC | Z,ZK | 5 | 2P+1C | English |
- Course guarantor:
- Tomáš Vondra
- Lecturer:
- Jan Fesl, Tomáš Vondra
- Tutor:
- Jan Fesl, Tomáš Vondra
- Supervisor:
- Department of Computer Systems
- Synopsis:
-
Students will gain knowledge of architectures of large computer systems that are used in data centers and computer infrastructure of companies and organizations. They will get acquainted with virtualization principles, tools and technologies that serve to facilitate and automate configuration, testing and monitoring, and to efficiently operate and optimize the performance parameters of modern computer systems. Theoretically and practically, they will get acquainted with containerization as the most effective technology today for the management of complex computer systems and with specific technologies of cloud systems. Finally, they will learn the principles and gain practical skills in the use of modern integration and development tools (Continuous integration and development).
- Requirements:
-
No prerecvisities knowledge is required.
- Syllabus of lectures:
-
1. Architectures of servers and distributed computing systems.
2. Principles of virtualization.
3. Virtualization of processor, memory, disk, network.
4. IaaS: principles, OpenStack.
5. IaaS: advanced services and computing load balancing.
6. Scalable disk storage for cloud and NoSQL databases.
7. Virtualization of computer networks.
8. Containerization: principles, planners, allocators, namespaces, legal systems, system containers. Docker and SW distribution.
9. Containerization: orchestration instruments.
10. Containerization: template systems (Kubernetes).
11. PaaS: principles, OpenShift, Cloud Foundry architecture.
12. CI / CD: principles (Gitlab, Jira, Jenkins).
13. CI / CD: container assembly and best practices.
- Syllabus of tutorials:
-
1. Virtualization, access to infrastructure, VMware and KVM.
2. IaaS: public clouds, working with the cloud as a user
3. IaaS: deployment of OpenStack, working with the cloud in the role of administrator. Assignment of the 1st semester work.
4. Virtual networks in OpenStack. Assignment of 2nd semester work.
5. System containerization, Docker. Assignment of the 3rd semester work.
6. Container orchestration: Kubernetes, PaaS.
- Study Objective:
-
Students will gain knowledge of architectures of large computer systems that are used in data centers and computer infrastructure of companies and organizations. They will get acquainted with virtualization principles, tools and technologies that serve to facilitate and automate configuration, testing and monitoring, and to efficiently operate and optimize the performance parameters of modern computer systems. Theoretically and practically, they will get acquainted with containerization as the most effective technology today for the management of complex computer systems and with specific technologies of cloud systems. Finally, they will learn the principles and gain practical skills in the use of modern integration and development tools (Continuous integration and development).
- Study materials:
-
1. Marinescu, D. C. : Cloud Computing: Theory and Practice (2nd Edition). Morgan Kaufmann, 2017. ISBN 978-0-128-12811-4.
2. Bugnion, E. - Nieh, J. - Tsafrir, D. : Hardware and Software Support for Virtualization. Morgan & Claypool Publishers, 2017. ISBN 1627056939.
3. Rafaels, R. : Cloud Computing (2nd Edition). CreateSpace Independent Publishing Platform, 2018. ISBN 1986726282.
4. San Murugesan, S. - Bojanova, I. (eds.) : Encyclopedia of Cloud Computing. Wiley, 2016. ISBN 978-1-118-82197-8.
- Note:
- Time-table for winter semester 2024/2025:
- Time-table is not available yet
- Time-table for summer semester 2024/2025:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Master specialization Software Engineering, in English, 2021 (elective course)
- Master specialization Computer Security, in English, 2021 (elective course)
- Master specialization Computer Systems and Networks, in English, 2021 (PS)
- Master specialization Design and Programming of Embedded Systems, in English, 2021 (elective course)
- Master specialization Computer Science, in English, 2021 (VO)
- Master specialization Computer Science, in English, 2024 (VO)