Inżynieria rozproszonej infrastruktury obliczeniowej 1000-2M20IRIO
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.
Koordynatorzy przedmiotu
Rodzaj przedmiotu
Założenia (opisowo)
Efekty kształcenia
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.
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.
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.