Course syllabus

Course-PM

DAT490 / DIT291 Architectures for scale-out systems lp3 VT25 (7.5 hp)

Contact details

Examiner / Main Teacher
Philipp Leitner (philipp.leitner@chalmers.se)

Course purpose

The overall goal of this course is to teach students how to move from simple Web applications running on a single backend server to modern Web-scale systems. This entails studying the architectural principles used to design such applications, release engineering techniques such as continuous deployment, as well as concrete technology necessary to operate systems at scale (most importantly monitoring and deployment automation). All course topics will be covered from two points of view: industrial state of practice and research.

Schedule

Detailed Schedule

Attendance

Attendance in most lecture activities is optional. However, there are five discussion sessions throughout the course (refer to the detailed schedule for concrete dates). Participation in these sessions is mandatory.

Course literature

There is no text book for this course. Instead, the course relies on Web literature, scientific papers, and discussion in class for teaching. Lecture slides are provided before each class. Material for a previous course instance is released on GitHub (the course will be similar this year, but some details will be updated).

Course design

Teaching in this course is organized in topical weekly modules. Each module (week) typically starts with a lecture, where this module's important concepts are introduced. This is followed by a module assignment sheet, containing practical exercises and instructions, which are to be solved within a week in teams. In the following week, a discussion session is held, where selected student teams present their assignment solutions to the class, followed by in-class discussions moderated by the teacher. The assignment sheets build on top of each other in the style of problem-based learning, and all the tasks build up to the successful scaled deployment of a case study application.

Some deviations from this schema are planned. Please refer to the course schedule for detailed information regarding the plan for the week.

Learning objectives and syllabus

Knowledge and Understanding
  • describe and distinguish common architectural styles and patterns for building large scale-out systems, particularly those that are operated on the Web
  • describe the state of practice at industry leaders, such as Google or Microsoft, related to designing, deploying, and operating scale-out systems
 
Skills and Abilities
  • employ monitoring solutions to identify faults and performance degradations in scale-out systems
  • automate deployments to recover from faults or roll out new system versions without direct human involvement
  • make use of feature flags, Blue/Green deployments, and canary releases as basis of data-driven rollouts
  • design and execute A/B tests and chaos engineering experiments
  • compose common building blocks of scalable Web architectures, including cloud services, (reverse) proxies, content delivery networks, and load balancers, to improve non-functional properties of scale-out systems
  • plan and execute data-driven rollouts, and assess the outcome of such rollouts in a statistically sound manner
 
Judgement Ability and Approach
  • review and discuss current research contributions in the field of scale-out systems engineering
  • assess and improve the architecture of scale-out systems with regards to performance and resilience

Link to the syllabus on Studieportalen: Study plan

Examination form

Successfully passing the course requires:

- Successfully completing all mandatory tasks in all assignments as a team

- Achieving a grade of 3 or better at the final individual hall exam

Overall Course Grade:

The overall grade for the course is individual per student (not per team), and is assigned according to the following table:

Exam Grade Individual Assignment Grade Final Course Grade
5 5 5
4 5 5
5 4 4
4 4 4
3 4 4
4 3 3
3 5 4
5 3 4
3 3 3
U * Not completed
* Not completed Not completed

Exam Grade:

Exam grades are based on a written hall exam. The exam contains 100 points in total. The grading scheme for the hall exam is as follows:

Hall Exam Points Hall Exam Grade
>=85 5
>=70 4
>=50 3
<50 U

There are no extra points awarded towards the written hall exam.

Assignment Grade:

Assignment sheets contain mandatory and optional tasks. Mandatory tasks need to be solved to pass the course. Students can gain points towards a better grade by solving optional tasks, actively participating in discussion sessions, or via other activities that the teachers reward with extra assignment points. Grades are assigned per individual student (not per team!) according to the following table:

Total Assignment Points Individual Assignment Grade
>=60 5
>=30 4
<30 but all mandatory tasks solved 3
Mandatory tasks missing (independent of solved extra tasks!) Not completed

For each assignment, each team is asked to report which optional tasks have been solved, and which student(s) contributed to the solution. Total points per optional task as reported in the assignment sheet will be split evenly among all contributing team members. Partial credits for not entirely solved optional tasks are possible.

Incomplete mandatory tasks can be re-submitted (either during the following weeks in class, or at two re-submission times after course end, which will be communicated at the end of the course). Optional tasks cannot be re-submitted as they cannot be presented and discussed in class anymore. 

Students that require re-submission of mandatory tasks after course end cannot achieve a grade higher than 4.

Changes from Last Year

The following changes will be implemented this year:

  • All assignments have changed this year (Assignment 1 and 2 have changed only slightly, but Assignments 3 - 5 have been re-structured and many tasks have been added, removed, or revised). No extra points can be gained anymore from simply summarising a paper (ChatGPT has made it too difficult to assess whether the student(s) actually read the paper).
  • Extended Chalmers enrollment to max 60 students. Total class size (incl. GU students) is expected to be between 60 and 80 students.
  • Slightly reduced the thresholds for how much extra work is required to get a 4 or 5, to reflect the fact that the number of available extra tasks is slightly smaller after the assignment re-work.
  • Added case studies to the lecture content, to allow for more interactivity during classes and to improve student understanding of the theoretical lecture contents.

Course summary:

Date Details Due