Search programme

​Use the search function to search amongst programmes at Chalmers. The study programme and the study programme syllabus relating to your studies are generally from the academic year you began your studies.

Syllabus for

Academic year
DAT490 - Architectures for scale-out systems  
Arkitekturer för horisontellt skalande system
 
Syllabus adopted 2021-02-17 by Head of Programme (or corresponding)
Owner: MPSOF
7,5 Credits
Grading: TH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Education cycle: Second-cycle
Main field of study: Computer Science and Engineering, Software Engineering
Department: 37 - COMPUTER SCIENCE AND ENGINEERING


Teaching language: English
Application code: 24120
Open for exchange students: Yes
Block schedule: C
Maximum participants: 30

Module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0121 Written and oral assignments 4,5 c Grading: TH   4,5 c    
0221 Examination 3,0 c Grading: TH   3,0 c   12 Mar 2022 am L   08 Jun 2022 am L   17 Aug 2022 am L  

In programs

MPSOF SOFTWARE ENGINEERING AND TECHNOLOGY, MSC PROGR, Year 1 (compulsory elective)

Examiner:

Philipp Leitner

  Go to Course Homepage


Course specific prerequisites

Knowledge in programming, with the minimum of:
  • 7.5 credits successfully completed courses in programming
  • 7.5 credits successfully completed courses in object-oriented design

Aim

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, as well as concrete technology necessary to operate systems at scale (most importantly monitoring and deployment automation). Another focal point of the course is data-driven (release) decision making, i.e., canary releases, gradual rollouts, A/B testing, and chaos engineering. All course topics will be covered from two points of view: industrial state of practice and research.

Learning outcomes (after completion of the course the student should be able to)

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

Content

In this course, students learn the key concepts, architectural building blocks, approaches, and concrete tools that technology leaders, such as Microsoft or Google, use to design, deploy, and operate large scale-out Web-based applications. We discuss, evaluate, and experiment with basic architectural building blocks of scale-out systems, enabling technologies and concepts (e.g., cloud computing and deployment automation), advanced resilience engineering techniques (e.g., canary releases and chaos engineering), and current research results in the area of scale-out systems. Underlying themes of the course will be a focus on infrastructure automation and data-driven decision-making as the foundations of scale-out systems.

Organisation

The teaching consists of lectures, discussion workshops, exercises (both in-class and at home), and examination parts. Additional learning support is provided through mandatory and optional reading.

Literature

Course literature will be announced at the latest 8 weeks prior to the start of the course.

Examination including compulsory elements

The course is examined by an individual written exam carried out in an examination hall and written assignments normally carried out in groups. The assignments part is examined on the basis of individual contribution.
Students are required to complete written self- and peer-assessment forms during the course which will be part of the assessment of the student's individual contribution to the assignments.
Students who have not contributed sufficiently to the assignments will be asked to complete an individual task in order to receive a passing grade.


The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.


Page manager Published: Mon 28 Nov 2016.