Container-basierte IT-Infrastrukturen sind bereits seit einigen Jahren in Mode und werden im Zuge von Cloud-basierten Irgendwas-as-a-service Anwendungen immer mehr zum Standard. Im Vortrag wird vorgestellt, wie sich ein hochverfügbarer PostGIS-Cluster auf Kubernetes betreiben lässt.
Container-basierte IT-Infrastrukturen sind bereits seit einigen Jahren in Mode und werden im Zuge von Cloud-basierten Irgendwas-as-a-service Anwendungen immer mehr zum Standard. Für die Orchestrierung von Hunderten von Containern verwenden die meisten derzeit Kubernetes von der Cloud Native Computing Foundation (CNCF) - kurz K8s. K8s umfasst mittlerweile ein recht großes Ökosystem für das Aufsetzen und automatische Skalieren von Webdiensten, wofür es ursprünglich von Google entwickelt wurde. Zunehmend wird es aber auch für zustandsorientierte Dienste wie Datenbanken genutzt. Nun sind Datenbankserver eine etwas komplexere Geschichte als Microservices. Alleine deren Administration ist meist sehr spezifisch. Deshalb existiert bei K8s dafür keine Standardressource, sondern es müssen Benutzer-definierte Operatoren erstellt werden.
Für PostgreSQL/PostGIS-Nutzer ist die Auswahl noch überschaubar: Es gibt einen Operator und ein Docker-Image von Crunchy Data sowie von Zalando. Letzteres wird im Vortrag näher vorgestellt, gepaart mit Erfahrungsberichten aus dem DBaaS Tagesgeschäft: Wie wird Ausfallsicherheit geschaffen? Wie funktioniert ein hochverfügbares PostGIS mit Patroni? Welche Backup- und Recovery Strategien werden genutzt? Was ist bei Versionsupdates? Wie wird der Produktivbetrieb überwacht? Wie werden Entwickler-Teams zu eigenen DBAs? Was kann da überhaupt schiefgehen?