Architekturprinzipien
Überblick
Die Plattform folgt einer Reihe grundlegender Architekturprinzipien.
Diese Prinzipien beeinflussen sämtliche Technologie- und Architekturentscheidungen.
GitOps First
Alle Infrastruktur- und Anwendungskonfigurationen werden über Git verwaltet.
Direkte Änderungen auf Systemen oder im Cluster sind nicht Bestandteil des Betriebsmodells.
Declarative Infrastructure
Der gewünschte Zustand wird deklarativ beschrieben.
Beispiele:
-
Kubernetes Ressourcen
-
Helm Releases
-
Gateway API Ressourcen
-
Talos Konfiguration
Immutable Infrastructure
Systeme werden bevorzugt neu bereitgestellt statt manuell verändert.
Beispiele:
-
Talos Linux
-
GitOps
-
Container Workloads
Cloud Native
Cloud-Native Lösungen werden bevorzugt.
Beispiele:
-
Kubernetes Controller
-
Operatoren
-
CSI Treiber
-
Gateway API
IPv6 First
Neue Dienste werden grundsätzlich IPv6-fähig bereitgestellt.
IPv4 wird weiterhin unterstützt, besitzt jedoch keine Priorität.
Security by Default
Sichere Standardeinstellungen haben Vorrang.
Beispiele:
-
TLS Everywhere
-
SOPS
-
Least Privilege
-
Network Policies
Open Source First
Open-Source-Lösungen werden bevorzugt.
Kommerzielle oder proprietäre Produkte werden nur eingesetzt, wenn erhebliche Vorteile entstehen.
Automatisierung
Wiederkehrende Aufgaben sollen automatisiert werden.
Manuelle Prozesse gelten als Übergangslösung.
Self Hosting
Zentrale Plattformdienste werden bevorzugt selbst betrieben.
Ziele:
-
Datenhoheit
-
Unabhängigkeit
-
Transparenz
Reproduzierbarkeit
Jeder Cluster soll vollständig aus Git reproduzierbar sein.
Disaster Recovery basiert auf diesem Prinzip.