7 Verteilungssicht
7.1 Motivation
Das e-gov-framework wird vollständig On-Premise auf kundeneigenen
Kubernetes-Clustern betrieben. Diese Entscheidung folgt aus behördlichen
Anforderungen an Datensouveränität, Compliance und Netzwerkisolation.
Alle Kernmodule benötigen ausschliesslich Infrastruktur innerhalb des
Clusters (→ Randbedingungen Sektion 2). Das optionale KI-Modul
e-gov-ai-rule-generation bildet die einzige Ausnahme: Es
kommuniziert mit Azure OpenAI über HTTPS und erfordert daher eine
explizite Netzwerk-Freigabe durch die Behörde (→ ADR-007).
7.2 Infrastruktur Ebene 1
Typische Produktivumgebung einer Behörde:
Bildquelle Infrastruktur Verteilungssicht (SVG)
| Knoten | Rolle | Technologie |
|---|---|---|
| Kubernetes-Cluster | Laufzeitumgebung für alle Applikations-Pods | Kubernetes On-Premise; Anbieter durch Behörde gewählt |
| Fachapplikations-Pod | Laufzeitumgebung der consuming App (Framework eingebettet als JAR) | Docker-Container, Java 21, Spring Boot |
| Datenbank-Server | Persistenz für Framework- und Domänentabellen | PostgreSQL oder SQL Server |
| ZooKeeper (optional) | Verteilte Service Discovery für Multi-Instanz-Deployments | Apache ZooKeeper 3.x |
| F5-Firewall / Reverse Proxy | TLS-Terminierung, Cookie-Setzen (EGOV_TOKEN) nach
Login |
F5 BIG-IP |
| Azure AD | Identity Provider, Authentication | Microsoft Azure AD (extern) |
| ArgoCD | GitOps-Deployment-Steuerung | ArgoCD auf demselben oder separatem Cluster |
| Artifactory (ti&m) | Maven-Repository für Framework-JARs | bin.ti8m.ch (ti8m-betrieben) |
7.2.1 Software-Infrastruktur-Zuordnung
| Framework-Modul | Laufzeitknoten | Netzwerk-Zone |
|---|---|---|
| e-gov-framework (Kern) | Fachapplikations-Pod | Cluster-intern |
| e-gov-mdm | Fachapplikations-Pod | Cluster-intern |
| e-gov-mdm-api | Fachapplikations-Pod | Cluster-intern |
| e-gov-luid | Fachapplikations-Pod | Cluster-intern |
| e-gov-bom | Build-Zeit (kein Laufzeittartefakt) | — |
| e-gov-framework-demo | DEV/INT-Umgebung (nicht Produktion) | Cluster-intern |
| e-gov-ai-rule-generation | Fachapplikations-Pod | Cluster-intern + Cloud-Egress (Azure OpenAI) |
7.3 Sicherheitszonen
┌──────────────────────────────── Behörden-Netzwerk ─────────────────────────────────┐
│ ┌─── Internet-Zone ───┐ ┌──────────── Cluster-Zone (On-Premise) ─────────────┐ │
│ │ Sachbearbeiter │ │ F5 → Fachapplikations-Pod (Framework + Module) │ │
│ │ Browser → HTTPS │───▶│ Pod ──▶ Datenbank (PostgreSQL / SQL Server) │ │
│ └─────────────────────┘ │ Pod ──▶ ZooKeeper (optional) │ │
│ └────────────────────────────────────────────────────┘ │
│ ┌─ Azure AD (extern) ─┐ ┌──── Cloud-Egress (nur KI-Modul, optional) ─────────┐ │
│ │ Identity Provider │ │ e-gov-ai-rule-generation → Azure OpenAI (HTTPS) │ │
│ └─────────────────────┘ └────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────────────┘
Sicherheitszonen: - Internet-Zone:
Eingehender HTTPS-Traffic der Sachbearbeiter; TLS-Terminierung durch die
F5-Firewall; EGOV_TOKEN-Cookie wird gesetzt -
Cluster-Zone (On-Premise): Alle Framework-Kernmodule
und Datenbankserver; kein direkter Internetzugang; Kommunikation nur
Pod-zu-Pod und Pod-zu-DB - Cloud-Egress (optional):
Ausschliesslich e-gov-ai-rule-generation; erfordert
explizite Firewall-Freigabe durch die Behörde (→ ADR-007)