University of Warsaw - Central Authentication System
Strona główna

Engineering Distributed Infrastructure

General data

Course ID: 1000-2M20IRIO
Erasmus code / ISCED: 11.303 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (0612) Database and network design and administration The ISCED (International Standard Classification of Education) code has been designed by UNESCO.
Course title: Engineering Distributed Infrastructure
Name in Polish: Inżynieria rozproszonej infrastruktury obliczeniowej
Organizational unit: Faculty of Mathematics, Informatics, and Mechanics
Course groups: (in Polish) Przedmioty obieralne na studiach drugiego stopnia na kierunku bioinformatyka
Elective courses for Computer Science
Elective courses for Machine Learning
ECTS credit allocation (and other scores): 6.00 Basic information on ECTS credits allocation principles:
  • the annual hourly workload of the student’s work required to achieve the expected learning outcomes for a given stage is 1500-1800h, corresponding to 60 ECTS;
  • the student’s weekly hourly workload is 45 h;
  • 1 ECTS point corresponds to 25-30 hours of student work needed to achieve the assumed learning outcomes;
  • weekly student workload necessary to achieve the assumed learning outcomes allows to obtain 1.5 ECTS;
  • work required to pass the course, which has been assigned 3 ECTS, constitutes 10% of the semester student load.

view allocation of credits
Language: English
Type of course:

elective monographs

Prerequisites (description):

1000-213bPW, 1000-214bSIK, 1000-214bSOB

Short description:

The course takes an engineer’s perspective on building the complex set of systems and services that together provide the public cloud. The cloud infrastructure is a complex distributed system with unique requirements: high availability, massive scale and having deep software stacks. We plan to show how these requirements influence the key design decisions (communication, scalability, resource management, data management) and reliability engineering (monitoring, testing). The course will be delivered by Google engineers whose day-to-day work involves designing, building and maintaining cloud infrastructure.

In contrast to teaching specific cloud technologies, our goal is to rather show principles driving the design of large-scale distributed systems. We plan to illustrate these principles using specific systems developed by your lecturers.

Full description:

The course consists of lectures, exercises and a project.

Lectures and exercises will cover the following topics:

- Compute as a service: an introduction to the architecture of cloud computing

- Managing distributed resources, on scale: scheduling and autoscaling

- Communication within and outside the cloud: methods and APIs

- Designing for scalability

- Designing and managing systems for reliability and maintainability

- Monitoring

- Testing

- Managing distributed data

The project consists of designing, building and deploying a distributed application on a public cloud. We will suggest a few ideas for applications. The project is done in a team of 3 students. Each team will have an assigned Googler tutor who will help to scope the project; review design documents and grade the final solution.

Bibliography:

Software Engineering at Google, Titus Winters, Tom Manshreck, Hyrum Wright, 2020, O'Reilly Media.

Site Reliability Engineering, Besty Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy (Eds.), 2016, O'Reilly Media.

Additional bibliography (papers, technical documentation) will be given during the lectures.

Learning outcomes:

Knowledge:

Students understand the issues of large-scale distributed computing systems.

Skills/Expertise:

Students can design and develop a complex, low-level component of a distributed computing infrastructure.

Assessment methods and assessment criteria:

- Active participation in the exercises

- Project (in a 3-person team)

- Final exam

To pass, you need to actively attend exercises, complete the project and pass the final exam.

Classes in period "Winter semester 2023/24" (past)

Time span: 2023-10-01 - 2024-01-28
Selected timetable range:
Navigate to timetable
Type of class:
Lab, 30 hours more information
Lecture, 30 hours more information
Coordinators: Krzysztof Rządca
Group instructors: Krzysztof Rządca
Students list: (inaccessible to you)
Examination: Examination

Classes in period "Winter semester 2024/25" (future)

Time span: 2024-10-01 - 2025-01-26
Selected timetable range:
Navigate to timetable
Type of class:
Lab, 30 hours more information
Lecture, 30 hours more information
Coordinators: Krzysztof Rządca
Group instructors: Krzysztof Rządca
Students list: (inaccessible to you)
Examination: Examination
Course descriptions are protected by copyright.
Copyright by University of Warsaw.
Krakowskie Przedmieście 26/28
00-927 Warszawa
tel: +48 22 55 20 000 https://uw.edu.pl/
contact accessibility statement USOSweb 7.0.3.0 (2024-03-22)