In diesem Projekt haben wir ein komplexes Datenmodell in einer PostgreSQL Datenbank abgebildet, die in einem Dockercontainer gehostet wurde und die Daten persistent außerhalb des Containers speichert.
Über iterative Scripte kann die Datenbank Schritt für Schritt aufgebaut und jederzeit erweitert werden. Bei einem kompletten redeploy der Datenbank werden die SQL Scripts chronologisch ausgeführt, sodass die finale Datenbankstruktur immer über die gleichen Einzelschritte erstellt wird.
Die Berechtigungslogik für einzelne Datensätze wurde auf Datenbankebene über PostgreSQL Policies abgebildet. Damit wird global über die gesamte Datenbank garantiert, dass die User nur Daten sehen können, die sie auch sehen dürfen, ohne dass sich einzelne Webservices um die Berechtigung kümmern müssen.
Die Erreichbarkeit und Ausfallsicherheit wird über ein Kubernetescluster gewährleistet, welches in Microsoft Azure gehostet ist und in dem auch die Lastenverteilung gut organisiert werden kann.