Inżynieria rozproszonej infrastruktury obliczeniowej
Informacje ogólne
Kod przedmiotu: | 1000-2M20IRIO |
Kod Erasmus / ISCED: |
11.303
|
Nazwa przedmiotu: | Inżynieria rozproszonej infrastruktury obliczeniowej |
Jednostka: | Wydział Matematyki, Informatyki i Mechaniki |
Grupy: |
Przedmioty obieralne dla informatyki Przedmioty obieralne dla Machine Learning Przedmioty obieralne na studiach drugiego stopnia na kierunku bioinformatyka |
Punkty ECTS i inne: |
6.00
|
Język prowadzenia: | angielski |
Rodzaj przedmiotu: | monograficzne |
Założenia (opisowo): | 1000-213bPW, 1000-214bSIK, 1000-214bSOB. |
Skrócony opis: |
Przedmiot to spojrzenie z perspektywy inżyniera na tworzenie złożonego ekosystemu serwisów które składają się na publiczną chmurę obliczeniową. Infrastruktura chmury to złożony system rozproszony z wyjątkowymi wymaganiami: wysokiej niezawodności, ogromnej skali i pracujący w wielowarstwowym oprogramowaniu. Pokażemy, jak te wymagania wpływają na kluczowe zagadnienia projektowania (komunikacja, skalowalność, alokacja zasobów, zarządzanie danymi) i inżynierii niezawodności (monitorowanie i testowanie). Kurs prowadzony będzie przez inżynierów Google’a pracujących na co dzień przy projektowaniu, wdrażaniu i utrzymywaniu infrastruktury chmury. Naszym celem nie jest nauczenie konkretnych technologii chmurowych, a raczej fundamentalnych zasad projektowania systemów rozproszonych wielkiej skali. Planujemy ilustrować te zasady na przykładach systemów, nad którymi pracowali wykładowcy. |
Pełny opis: |
Przedmiot składa się z wykładu, ćwiczeń i projektu. Wykłady i ćwiczenia dotyczą następujących tematów: - Obliczenia jako usługa: wstęp do architektury obliczeń w chmurze - Zarządzanie rozproszonymi zasobami wielkiej skali: szeregowanie i autoskalowanie - Komunikacja wewnątrz i na zewnątrz chmury: sposoby i API - Projektowanie systemów skalowalnych - Projektowanie i zarządzanie systemami z uwzględnieniem niezawodności i rozszerzalności - Monitorowanie - Testowanie - Zarządzanie rozproszonymi danymi Projekt polega na zaprojektowaniu, zbudowaniu i uruchomieniu rozproszonej aplikacji na publicznej chmurze. Prowadzący zaproponują tematy projektów. Projekt realizowany będzie zespołowo (trójka studentów w zespole). Każdy zespół będzie miał tutora z Google'a, który pomoże w doprecyzowaniu projektu, zrecenzuje dokumenty projektowe oraz oceni rozwiązanie. |
Literatura: |
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. Dodatkowe pozycje (artykuły naukowe, dokumentacja techniczna) zostaną podane na wykładach. |
Efekty uczenia się: |
Wiedza: Studenci rozumieją problemy rozproszonych systemów obliczeniowych wielkiej skali. Umiejętności/kompetencje: Studenci umieją zaprojektować i stworzyć złożony, niskopoziomowy komponent rozproszonego systemu obliczeniowego. |
Metody i kryteria oceniania: |
- Aktywne uczestniczenie w ćwiczeniach - Projekt (w zespole 3-osobowym) - Egzamin końcowy Do zaliczenia niezbędny jest aktywny udział w ćwiczeniach, ukończenie projektu oraz zaliczenie egzaminu końcowego. |
Zajęcia w cyklu "Semestr zimowy 2024/25" (zakończony)
Okres: | 2024-10-01 - 2025-01-26 |
Przejdź do planu
PN WYK
LAB
WT LAB
ŚR CZ PT |
Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
Koordynatorzy: | Krzysztof Rządca | |
Prowadzący grup: | Krzysztof Rządca | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Egzamin |
Właścicielem praw autorskich jest Uniwersytet Warszawski.