Admission requirements
Assumed prior knowledge
This is an advanced computer systems course. Students are assumed to have taken courses in programming, computer architecture/organization and operating systems at a BSc level. As such we assume proficiency using Linux command line, using ssh and scp, using basic network utilities (e.g., ping, host, ip, ss), in Python programming and in a compiled programming language.
Description
Easily accessible and responsive web-based services play a prominent role in modern society. Examples include data storage (documents, photos, etc.), content delivery (video streaming), social media, mapping and route planning, document editing and traditional web sites. Many of these services are empowered by cloud infrastructure. In the last decade, we have witnessed a large-scale transition from systems and software managed "on-premises" to infrastructure and software run in the cloud. Adoption of the cloud is expected to continue to increase in the coming years.
Academic interest in the cloud is twofold. Firstly, Cloud Computing is a multidisciplinary area of research involving issues in theory, algorithms, computer systems, performance measurement and modeling, and middleware and application design. Secondly, the use of the cloud as a platform within which to conduct research is increasing due to the availability of data management and analytics in the cloud, Infrastructure as a Service (IaaS) and High Performance Computing in the cloud.
In this course we will give a broad overview of the multidisciplinary field of Cloud Computing. Topics to be discussed include XaaS, deployment models, technical fundamentals of cloud systems, networking, scaling and elasticity, resource management & availability, programming cloud applications and emerging topics in the field. After a number of introductory lectures, all participating students will present a recent paper published in one of the premier conferences, or journals, on cloud computing. Finally, the aim of the accompanying lab assignments is to become familiar with a number of aspects of cloud systems such as container management, auto-scaling and cloud platform dashboards and APIs.
Course objectives
After taking this course, the student is able to:
describe the hardware and (operating system) software requirements for successful and performant virtualization;
characterize and reason about different services that are typically present within cloud environments such as (virtualized) networks, storage infrastructure, resource management, middleware and IaaS frameworks;
explain key definitions and terminology used in Cloud computing;
reason about cloud resource management, elasticity, availability, reliability, performance and security concerns in Cloud design scenarios;
construct, tune and evaluate the performance of an auto-scaling software solution based on containers;
construct and compose small Cloud applications that use different services and APIs present within Cloud environments;
summarize, present and form an opinion of a recent academic publication on Cloud computing.
Timetable
The most recent timetable can be found at the Computer Science (MSc) student website.
In MyTimetable, you can find all course and programme schedules, allowing you to create your personal timetable. Activities for which you have enrolled via MyStudyMap will automatically appear in your timetable.
Additionally, you can easily link MyTimetable to a calendar app on your phone, and schedule changes will be automatically updated in your calendar. You can also choose to receive email notifications about schedule changes. You can enable notifications in Settings after logging in.
Questions? Watch the video, read the instructions, or contact the ISSC helpdesk.
Note: Joint Degree students from Leiden/Delft need to combine information from both the Leiden and Delft MyTimetables to see a complete schedule. This video explains how to do it.
Mode of instruction
Lectures.
Seminar (student presentations with peer review).
Students are expected to work on the lab assignments autonomously, outside of the lectures.
Course load
Total hours of study: 168 hrs. (= 6 EC)
Lectures (including homework and preparation of presentation): 55:00 hrs.
Practical work (unsupervised): 90:00 hrs.
Self-study (exam preparation): 20:00 hrs.
Examination: 3:00 hrs.
Assessment method
The assessment consists of three parts:
35%: Written exam with open questions. On campus, closed book, individual.
40%: Two lab assignments. Individual or in team of two.
25%: Oral paper presentation. Individual.
The final grade is computed as a weighted average of these three parts. The minimum grade of each part is "1". All three individual parts must be sufficient (>= 5.5) to pass the course, in case this requirement is not met the final grade is maximized to "5". A final grade will be established for all students that are enrolled in the course after the third week, for parts that are not handed in the grade "1" will be entered. A re-sit exam is scheduled by default. If the presentation grade is insufficient, but the exam and lab grades are sufficient, a possibility for a presentation resit can be discussed with the lecturer.
With regard to the lab assignments: all lab assignments must be submitted in order to receive a final lab grade. The lab grade is the weighted average over the lab assignments, weights to be announced at the start of the course. If the lab grade is insufficient, but the exam and presentation grades are sufficient, a possibility for a lab resit can be discussed with the lecturer.
Once the exam results have been announced, inspection of the exam is possible by appointment only up to two months after publication of the results.
Reading list
There is no prescribed textbook. Lecture slides and reading list of papers are provided on BrightSpace.
Registration
As a student, you are responsible for enrolling on time through MyStudyMap.
In this short video, you can see step-by-step how to enrol for courses in MyStudyMap.
Extensive information about the operation of MyStudyMap can be found here.
There are two enrolment periods per year:
Enrolment for the fall opens in July
Enrolment for the spring opens in December
See this page for more information about deadlines and enrolling for courses and exams.
Note:
It is mandatory to enrol for all activities of a course that you are going to follow.
Your enrolment is only complete when you submit your course planning in the ‘Ready for enrolment’ tab by clicking ‘Send’.
Not being enrolled for an exam/resit means that you are not allowed to participate in the exam/resit.
Programme-specific information:
Due to the format of the course, at most 30 students can participate each year. It is mandatory to register for this course in advance; only enrolment for the lectures (in uSis/MyStudyMap) will count. In case more than 30 students register for the course, we determine who can be admitted to the course as follows:
Given that the course is mandatory for the Advanced Computing and Systems (ACS) track, ACS students are admitted first. A place is guaranteed for ACS students, also if this number is higher than 30.
To allocate students who follow other programs to the remaining places, a ranking will be used. This ranking is based on three components: (1) quiz to test computer systems background knowledge, (2) initial homework, (3) one paragraph motivation for taking this course.
Contact
Lecturer: dr. K.F.D. Rietveld
Remarks
Note that due to the format of the course, there is a limit on the number of participants: at most 30 students can participate in this course. Therefore, it is mandatory to register in advance (see also the section on Registration).
Software
Starting from the 2024/2025 academic year, the Faculty of Science will use the software distribution platform Academic Software. Through this platform, you can access the software needed for specific courses in your studies. For some software, your laptop must meet certain system requirements, which will be specified with the software. It is important to install the software before the start of the course. More information about the laptop requirements can be found on the student website.