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

  1. 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)
  2. 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
  3. Mile widziane
    • Powoływanie infrastruktury z poziomu kodu (Terraform)

Każdy projekt powinien posiadać podstawową dokumentację, w której zawarte będą:

Format dokumentacji: markdown, odt, pdf, latex…

Przykładowe tematy projektów

W przygotowaniu.

Oceniane będą

  1. Wykorzystanie możliwości środowiska uruchomieniowego, np.:
    • sposób wykorzystania funkcji chmurowych,
    • wykorzystane funkcje klastra K8s.
  2. Spełnienie wymagań pozafunkcjonalnych.
  3. Realność zaproponowanej architektury do rozwiązania (unikanie nadmiernego overengineering).
  4. Jakość implementacji.