The goal of the course is to teach how a cloud computing platform works. The course covers the main foundational cloud technologies: virtual machines, which rely on hardware support provided by the CPU, and containers, which rely on software support provided by the operating system. The course uses infrastructures such as Kubernetes and OpenShift for instruction. Lectures will discuss infrastructure components including the hypervisor, networking, storage, and debugging tools. The course builds on knowledge acquired in the basic programming courses, notably operating systems, and it demonstrates to students how to orchestrate (i.e., organize, deploy, update, manage, schedule, and handle error of) software in a modern cloud environment. The course includes a weekly lecture and practical homework assignments. The final grade is based on the homework and an exam.
The course will include enrichment lectures by experts from the Red Hat Company.
At the end of the course, students will be able to:
Use the cloud platforms Kubernetes and OpenShift.
Create virtual machines and containers, define their resources, and run them.
Understand the foundational cloud technologies: virtualization, networking, and storage.
Debug cloud environments.
