Table of Contents
Projektowanie Systemów Rozproszonych
Część projektowa przedmiotu Projektowanie Systemów Rozproszonych polega na realizacji praktycznego projektu działającego w środowisku chmurowym, w którym studenci wykorzystują zdobytą wiedzę z przedmiotu Zarządzenie Systemami Rozproszonymi. W ramach projektu stosujemy takie podejścia jak Infrastucture as a Code, konteneryzacji, czy architektura Serverless.
Tematyka projektu jest zasadniczo dowolna, byle możliwa do realizacji na chmurze. Jeśli to tematycznie możliwe, zachęcam do realizacji w ramach projektu części własnej pracy magisterskiej.
Termin deklaracji tematu projektu: 31.03.2025 r.
Wymagania dotyczące projektu
- Ordered List ItemAplikacja działająca w środowisku chmurowym
- Serverless (Wykorzystanie usługi typu Azure Functions, AWS Lambda, Cloud Run functions, itp.)
- Kubernetes (Aplikacja wdrażana na klastrze K8s)
- Wymagania pozafunkcjonalne
- Wykorzystanie dowolnej usługi od dostawcy chmury (np. storage, zarządzana baza danych, wyszukiwarka, AI)
- Kod źródłowy przechowywany w systemie kontroli wersji (GitLab Instytutowy, GitLab, GitHub)
- Potoki CI/CD w wybranym narzędziu
- Mile widziane
- Powoływanie infrastruktury z poziomu kodu (Terraform)
Każdy projekt powinien posiadać podstawową dokumentację, w której zawarte będą:
- Opis aplikacji (jeden akapit)
- Skrócona instrukcja obsługi (opis najważniejszych funkcjonalności z punktu widzenia użytkownika)
- Diagram architektury aplikacji (wykorzystane usługi dostawcy chmurowej, liczba funkcji, mikroserwisów i zależności między nimi)
Format dokumentacji: markdown, odt, pdf, latex…
Przykładowe tematy projektów
W przygotowaniu.
Oceniane będą
- Wykorzystanie możliwości środowiska uruchomieniowego, np.:
- sposób wykorzystania funkcji chmurowych,
- wykorzystane funkcje klastra K8s.
- Spełnienie wymagań pozafunkcjonalnych.
- Realność zaproponowanej architektury do rozwiązania (unikanie nadmiernego overengineering).
- Jakość implementacji.