WAF-PERF-030 – Caching Strategy Defined & Implemented
Beschreibung
Alle Workloads mit wiederholenden Lesemustern oder hochlatenten Datenquellen MÜSSEN eine dokumentierte Caching-Strategie haben. Die Strategie MUSS Cache-Layer, TTL-Policies und Invalidierungsmechanismen spezifizieren. CDN MUSS für alle öffentlichen statischen und cachefähigen Inhalte konfiguriert sein. Distributed Cache (Redis, Memcached) MUSS für Session-Daten und hochfrequente Read-Heavy-Lookups eingesetzt werden.
Rationale
Wiederholte identische Datenbankabfragen ohne Caching erzeugen unnötige Last auf dem Datenbankserver, unnötige Latenz für den Nutzer und unnötige Kosten für Datentransfer. Ein gut konfigurierter Cache kann die Datenbankauslastung um 60–90% reduzieren. Schlechtes Caching (falsche TTLs, fehlende Invalidierung) erzeugt Stale-Data-Probleme, die schwerer zu debuggen sind als kein Caching.
Bedrohungskontext
| Risiko | Beschreibung |
|---|---|
Datenbanküberlastung |
Identische Queries hundertfach pro Sekunde sättigen I/O und CPU des Datenbankservers. |
Thundering Herd |
Cache-Expiry vieler gleichzeitiger Keys → simultane Backend-Anfragen → Datenbankausfall. |
Stale Data |
Fehlende Cache-Invalidierung bei Datenmutationen → Nutzer sehen veraltete Daten. |
Kein CDN → hohe Latenz |
Statische Assets ohne CDN von Origin ausgeliefert → unnötige Latenz für Nutzer außerhalb der Region. |
Anforderung
-
Caching-Strategie MUSS dokumentiert sein (Layer, TTL pro Datentyp, Invalidierungsmechanismus)
-
Distributed Cache MUSS für Session-Daten und hochfrequente Lookups verwendet werden
-
CDN MUSS für alle öffentlichen statischen Inhalte konfiguriert sein
-
Cache-Hit-Raten MÜSSEN gemessen und gemonitored werden (Ziel: >= 80% App-Cache, >= 95% CDN)
Implementierungsanleitung
-
Zugriffsmuster analysieren: Top-20-Datenbankabfragen identifizieren; Wiederholungsfrequenz messen
-
Caching-Strategie-Dokument erstellen:
docs/caching-strategy.ymlmit Layer, TTL, Invalidierungslogik -
Redis/ElastiCache deployen: Multi-AZ, Automatic Failover, Encryption in Transit
-
Cache-Aside Pattern implementieren: Stampede-Schutz via Lock oder Probabilistic Early Expiration
-
CDN konfigurieren: CloudFront/Azure CDN/Cloud CDN für statische Assets
-
Hit-Rate-Monitoring: CloudWatch ElastiCache Metrics; Alert bei Hit-Rate < 70%
-
Invalidierungslogik sicherstellen: Jede Datenmutation muss zugehörige Cache-Entries invalidieren
Reifegrad-Abstufung
| Level | Bezeichnung | Kriterien |
|---|---|---|
1 |
Kein Cache |
Alle Requests gehen auf Origin; keine CDN; keine distributed Cache. |
2 |
Ad-hoc Cache |
Einige Dinge gecacht ohne Strategie; TTLs arbiträr; keine Hit-Rate-Messung. |
3 |
Dokumentierte Strategie |
Caching-Strategie-Dokument; Hit-Rate gemessen; CDN aktiv; HA-Redis deployed. |
4 |
Optimierter Cache |
Hit-Rate >= 80% erreicht; automatische Invalidierung; Stampede-Schutz. |
5 |
Adaptiver Cache |
ML-basiertes Cache-Warming; adaptive TTLs; intelligentes Edge-Caching. |
Terraform Checks
waf-perf-030.tf.aws.elasticache-cluster-configured
Prüft: ElastiCache Replication Group muss Automatic Failover, multi-node und Encryption haben.
| Compliant | Non-Compliant |
|---|---|
|
|
Remediation: aws_elasticache_replication_group mit automatic_failover_enabled = true,
num_cache_clusters >= 2, at_rest_encryption_enabled = true verwenden.
Evidenz
| Typ | Pflicht | Beschreibung |
|---|---|---|
Governance |
✅ Pflicht |
Caching-Strategie-Dokument mit Layer, TTL-Policies und Invalidierungsmechanismus. |
IaC |
✅ Pflicht |
Terraform-Konfiguration für Redis/ElastiCache und CDN mit Cache-Rules. |
Config |
Optional |
Cache-Hit-Rate-Dashboard (Ziel: >= 80% Applikations-Cache). |
Process |
Optional |
Cache-Invalidierungs-Runbook für Datenmutationen. |
Regulatorisches Mapping
| Framework | Controls |
|---|---|
ISO/IEC 25010:2011 |
8.3.2 – Performance efficiency; 8.3.2.1 – Time behaviour; 8.3.2.2 – Resource utilisation; 8.3.2.3 – Capacity |
AWS Well-Architected Framework |
Performance Efficiency Pillar – Selection; Performance Efficiency Pillar – Review; Performance Efficiency Pillar – Efficiency |
Azure Well-Architected Framework |
Performance – Performance monitoring; Performance – Load and stress testing; Performance – Auto-scaling |
Google Cloud Architecture Framework |
Performance – Performance design principles; Performance – Monitoring and debugging |
TOGAF 10 |
ADM Phase B – Business architecture; ADM Phase C – Application architecture; ADM Phase D – Technology architecture |
DORA |
DORA 2024 – Technical practices; DORA 2024 – Performance monitoring |
ISO/IEC 29119 |
4.4.3 – Test design techniques; 4.5.3 – Test execution; 5.3.3 – Test reporting |
ISO/IEC 12207 |
8.2.2.3 – Design and development of software; 9.4.2 – Verification |
ITIL 4 |
SVS – Service value system; DP – Design principle; OV – Operation value chain |
BSI C5:2020 |
OPS-01 – Operational monitoring; OPS-02 – Operational control; OPS-03 – Operational capacity |
CIS Controls v8 |
CIS 8 – Continuous Vulnerability Management; CIS 8.1 – Vulnerability scanning |
NIST SP 800-53 |
RA-1 – Security assessment policy; RA-2 – Security assessment controls; RA-5 – Security assessments; RA-9 – External information system attacks |
NIST CSF 2.0 |
DE.CM – Continuous monitoring; DE.AE – Anomaly detection; DE.DP – Data performance |
FedRAMP |
RA-2, RA-5, RA-9 (Moderate/High baseline) |
SOC 2 Type II |
CC6.1 – Logical access security software; CC7.1 – Infrastructure and software monitoring |
TISAX |
Information security – Performance monitoring |
ANSSI SecNumCloud |
Domain – Performance monitoring |
BIO |
BIO – Prestatiedoelstellingen |
ENS High |
op.exp.2 – Configuración de seguridad; op.exp.3 – Gestión de la configuración |
UK NCSC CAF |
B4 – System security; B5 – System performance |
CMMC 2.0 |
RA.L2-3.8.1 – Automated monitoring |
IRAP |
ISM – Performance monitoring |
CCCS PBMM |
RA-2 – Security assessment controls; RA-5 – Security assessments |
MAS TRM |
Ch.5 – Technology risk governance |
ISMAP |
Performance monitoring and validation |
FISC |
Technical measures – Performance monitoring |