|
|
## Fehlertoleranz
|
|
|
|
|
|
Der Softwarelieferant MUSS...
|
|
|
- eine Fehlertoleranz für die Anwendung für den Wiederanlauf nach einem ungeordneten Abbruch der Datenverarbeitung sicherstellen. [^1] (APP.4.4.A19 H)
|
|
|
- die Anwendung so gestalten, dass eine Hochverfügbarkeit umgesetzt werden kann. [^2] (APP.4.4.A19 H)
|
|
|
|
|
|
* eine Fehlertoleranz für die Anwendung für den Wiederanlauf nach einem ungeordneten Abbruch der Datenverarbeitung sicherstellen.[^Error1] (APP.4.4.A19 H)
|
|
|
- die Anwendung so gestalten, dass eine Hochverfügbarkeit umgesetzt werden kann.[^Error2] (APP.4.4.A19 H)
|
|
|
|
|
|
Der Softwarelieferant SOLL...
|
|
|
- Container stateless gestalten und eine transaktionsoriente Funktionsweise der Anwendung sicherstellen. [^3] (SYS.1.6.A9 S)
|
|
|
- einen Health-Check für den Start und den Betrieb („readiness“ und „liveness“), ggf. nach den Vorgaben des Plattformbetreibers, definieren. Beide Checks müssen für die Anwendung relevante Funktionen prüfen und als Ergebnis zurückliefern. [^4] (APP.4.4.A11 S)
|
|
|
|
|
|
* Container stateless gestalten und eine transaktionsoriente Funktionsweise der Anwendung sicherstellen.[^Error3] (SYS.1.6.A9 S)
|
|
|
* einen Health-Check für den Start und den Betrieb („readiness“ und „liveness“), ggf. nach den Vorgaben des Plattformbetreibers, definieren. Beide Checks müssen für die Anwendung relevante Funktionen prüfen und als Ergebnis zurückliefern.[^Error4] (APP.4.4.A11 S)
|
|
|
|
|
|
Der Softwarelieferant KANN...
|
|
|
- Start-up-Checks für den Start der Container implementieren. [^5] (APP.4.4.A11 S)
|
|
|
|
|
|
---
|
|
|
* Start-up-Checks für den Start der Container implementieren.[^Error5] (APP.4.4.A11 S)
|
|
|
|
|
|
**Umsetzungshinweise**
|
|
|
|
|
|
[^1]: Mögliche Maßnahmen: atomare Gestaltung, keine persistente Daten im Container. Synchrone Transaktionen falls mehrere Datenbanken, Webservices usw. genutzt werden. Mechanismus zur Prüfung der Konsistenz der Daten, ggf. Mittel zur Wiederherstellung der Konsistenz.
|
|
|
[^Error1]: Mögliche Maßnahmen: atomare Gestaltung, keine persistente Daten im Container. Synchrone Transaktionen falls mehrere Datenbanken, Webservices usw. genutzt werden. Mechanismus zur Prüfung der Konsistenz der Daten, ggf. Mittel zur Wiederherstellung der Konsistenz.
|
|
|
|
|
|
[^2]: Als Stateless-Anwendungen
|
|
|
[^Error2]: Als Stateless-Anwendungen
|
|
|
|
|
|
[^3]: Die transaktionsorientierte Funktionsweise soll sicherstellen, dass alle Verarbeitungen korrekt abgeschlossen werden können und keine inkonsistenten Zustände entstehen, selbst wenn Container neu deployed werden.
|
|
|
[^Error3]: Die transaktionsorientierte Funktionsweise soll sicherstellen, dass alle Verarbeitungen korrekt abgeschlossen werden können und keine inkonsistenten Zustände entstehen, selbst wenn Container neu deployed werden.
|
|
|
|
|
|
[^4]: Ausnahme: Init-Container: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
|
|
|
[^Error4]: Ausnahme: Init-Container: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
|
|
|
|
|
|
[^5]: Siehe https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-startup-probes |
|
|
[^Error5]: Siehe https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-startup-probes |