Eine Multi-Tenant-Plattform für eine Lieferkette
Ein Logistikunternehmen musste einen alternden Monolithen durch eine Plattform für Bestellungen, Lager, Lieferanten und Rechnungsstellung ersetzen. Die Lieferanten selbst sollten sich anmelden, jeder darf also ausschließlich seine eigenen Daten sehen. Diese eine Anforderung prägte den gesamten Entwurf.
Was wir geliefert haben
- Backend in Go über PostgreSQL, Datentrennung über Row Level Security und ein einheitliches Mandantenmodell
- Frontend in Next.js mit React Query
- Anmeldung über Keycloak (OIDC), kurzlebige Zugriffstokens und rotierende Refresh-Tokens
- AWS-Infrastruktur (EKS, RDS, ElastiCache) vollständig in Terraform
- Auslieferung über GitHub Actions, Betriebstransparenz über OpenTelemetry und Grafana
- Cloudflare vor der Anwendung: WAF, Ratenbegrenzung, DNS
Vorgehen
Sicherheit war von Anfang an Teil des Entwurfs: Bedrohungsmodellierung, minimale Rechte, Geheimnisse ausschließlich über den AWS Secrets Manager und automatisches Scannen von Abhängigkeiten und Containern bei jeder Änderung. Vor dem Start durchlief das Ganze ein internes Security-Review und einen Penetrationstest.
ErgebnisDie Plattform läuft in Produktion. Die Trennung zwischen den Lieferanten hielt auch der späteren Prüfung stand. Die Zusammenarbeit läuft als langfristiger Engineering-Retainer weiter.