Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:modul:ffit:3-jahr:java:learningunits:lu16:a [2026/01/04 23:30] – apeter | de:modul:ffit:3-jahr:java:learningunits:lu16:a [2026/01/06 01:13] (aktuell) – apeter | ||
|---|---|---|---|
| Zeile 3: | Zeile 3: | ||
| In der Praxis haben sich verschiedene Vorgehen bewährt. Im Folgenden möchte ich die Grundsätze der Zwölf-Faktoren-App (https:// | In der Praxis haben sich verschiedene Vorgehen bewährt. Im Folgenden möchte ich die Grundsätze der Zwölf-Faktoren-App (https:// | ||
| - | - **Codebase** \\ Eine im Versionsmanagementsystem verwaltete Codebase, viele Deployments \\ ✅ Empfehlung: Git ⚠️ Auf Regelmässigkeit achten | + | - **Codebase** \\ Eine im Versionsmanagementsystem verwaltete Codebase, viele Deployments \\ ✅ Empfehlung: Git ℹ️ Deployments (Dev / Test / Prod) werden im nächsten Semester behandelt. \\ \\ |
| - | - **Abhängigkeiten** \\ Abhängigkeiten explizit deklarieren und isolieren \\ ✅ Empfehlung: Maven oder Gradle bei Java, Pip bei Python, Npm oder Yarn bei JavaScript/ | + | - **Abhängigkeiten** \\ Abhängigkeiten explizit deklarieren und isolieren \\ ✅ Empfehlung: Maven(pom.xml) |
| - | - **Konfiguration** \\ Die Konfiguration in Umgebungsvariablen ablegen \\ ✅ Empfehlung: application.properties und application.yml bei Spring | + | - **Konfiguration** \\ Die Konfiguration in Umgebungsvariablen ablegen \\ ✅ Keine Secrets in Git eingecheckt ℹ️ Konfiguration der Deployments werden im nächsten Semester behandelt. \\ \\ |
| - | - **Unterstützende Dienste** \\ Unterstützende Dienste als angehängte Ressourcen behandeln \\ ✅ Datenbank-Adresse | + | - **Unterstützende Dienste** \\ Unterstützende Dienste als angehängte Ressourcen behandeln \\ ✅ Datenbank |
| - | - **Build, release, run** \\ Build- und Run-Phase strikt trennen \\ ☐ Das Thema wird im Rahmen | + | - **Build, release, run** \\ Build- und Run-Phase strikt trennen \\ ℹ️ |
| + | - **Prozesse** \\ Die App als einen oder mehrere Prozesse ausführen \\ ✅ Zustandslosigkeit durch Persistierung sicherstellen \\ \\ | ||
| + | - **Bindung an Ports** Dienste durch das Binden | ||
| + | - **Nebenläufigkeit** \\ Mit dem Prozess-Modell skalieren \\ ✅ Aufgrund Zustandslosigkeit kann Skaliert werden, ohne manuelle Thread-Manipulation \\ \\ | ||
| + | - **Einweggebrauch** \\ Robuster mit schnellem Start und problemlosen Stopp \\ ✅ Start, Stopp, Reconnect mittels Spring-Framework möglich \\ \\ | ||
| + | - **Dev-Prod-Vergleichbarkeit** \\ Entwicklung, | ||
| + | - **Logs** \\ Logs als Strom von Ereignissen behandeln \\ ✅ SLF4J o. Ä. nutzen korrekt Streams, die man nach Bedarf umleiten kann. \\ \\ | ||
| + | - **Admin-Prozesse** \\ Admin/ | ||