SEUSAG

Das SEUSAG-Diagramm stellt die Gesamtübersicht der EventGallery-Applikation dar. Es zeigt die Interaktionen zwischen Benutzern, internen Services und externen APIs.

Systemübersicht

graph TD
    subgraph User Devices
        User["Benutzer (Browser)"]
    end

    subgraph Cloudflare Network
        CF["Cloudflare Tunnel"]
    end

    subgraph Kubernetes Cluster
        Frontend["Frontend Service"]
        Backend["Backend Service"]
        DB["MySQL Datenbank"]
        Metallb["MetalLB Load Balancer"]
        HPA_Frontend["HPA (Frontend)"]
        HPA_Backend["HPA (Backend)"]
    end

    subgraph AWS Services
        S3["AWS S3 (Bildspeicher)"]
        Rekognition["AWS Rekognition (Bildanalyse)"]
    end

    subgraph External API
        Auth0["Auth0 (Authentifizierung)"]
    end

    User -->|HTTPS| CF
    CF --> Metallb
    Metallb --> Frontend
    Frontend -->|API-Calls| Backend
    Frontend -->|Authentifizierung| Auth0
    Backend -->|Datenbankzugriff| DB
    Backend -->|Speichern & Abrufen| S3
    Backend -->|Bildanalyse| Rekognition
    HPA_Frontend --> Frontend
    HPA_Backend --> Backend

Beschreibung der Architektur

  1. Benutzergeräte:
    • Benutzer greifen über den Browser und HTTPS auf die Anwendung zu.
  2. Cloudflare Tunnel:
    • Leitet Anfragen sicher an MetalLB im Kubernetes-Cluster weiter.
  3. Kubernetes Cluster:
    • Enthält Frontend- und Backend-Services, MySQL-Datenbank und MetalLB für externe IPs.
    • HPAs übernehmen die automatische Skalierung der Pods.
  4. AWS Services:
    • S3: Speicherung von Bildern.
    • Rekognition: Machine-Learning-gestützte Bildanalyse.
  5. Externe API (Auth0):
    • Authentifizierung der Benutzer.