WAF-SUS-070 – Sustainable Software Design Standards
Beschreibung
Software MUSS mit Energie-Effizienz als explizitem Qualitätsmerkmal entworfen werden. Architecture Decision Records MÜSSEN Energie-Effizienz-Überlegungen enthalten. Event-Driven-Patterns MÜSSEN für asynchrone Kommunikation bevorzugt werden. Dependencies MÜSSEN auf Effizienz und Notwendigkeit geprüft werden. SCI (Software Carbon Intensity) SOLLTE für Tier-1-Services gemessen werden. Cloud-Run- und Lambda-Dienste SOLLEN auf Scale-to-Zero konfiguriert sein.
Rationale
Software-Design-Entscheidungen haben multiplikativen Einfluss auf Energieverbrauch. Ein ineffizienter Algorithmus auf effizienter Hardware verbraucht immer noch unnötig viel Energie. Polling-Patterns generieren konstante API-Aufrufe ohne proportionalen Mehrwert. Große Dependency-Trees erhöhen Cold-Start-Energie und Speicherverbrauch. Die Green Software Foundation SCI-Formel macht Software-Effizienz messbar und vergleichbar. Scale-to-Zero bei serverlosen Diensten vermeidet Idle-Compute komplett.
Bedrohungskontext
| Risiko | Beschreibung |
|---|---|
Ineffiziente Algorithmen |
O(n²)-Algorithmen verbrauchen bei 10.000 Elementen 750× mehr CPU als O(n log n) — direkte Emissionsmultiplikation. |
Polling-Pattern |
Konstante API-Abfragen statt Event-Trigger erzeugen thousands unnötiger Requests pro Stunde. |
Bloated Dependencies |
Lambda-Funktionen mit 200MB-Deployment-Package haben 5× höhere Cold-Start-Energie als schlanke 20MB-Packages. |
Microservice-Proliferation |
50 Services für was 5 leisten könnten: 10× mehr Netzwerk-Overhead, Service-Discovery-Load, Health-Check-Calls. |
Fehlende SCI-Messung |
Ohne SCI-Metrik können Software-Effizienz-Verbesserungen nicht quantifiziert oder als Ziel gesetzt werden. |
Anforderung
-
ADR-Template MUSS Energie-Effizienz und SCI-Betrachtung als Abschnitt enthalten
-
Asynchrone Kommunikation MUSS Event-Driven-Patterns (SQS, EventBridge, Pub/Sub) nutzen
-
Dependencies MÜSSEN eine Größen- und Effizienz-Review erhalten vor Aufnahme
-
SCI SOLL für alle Tier-1-Services mindestens jährlich gemessen werden
-
Container-Images SOLLEN Distroless- oder Alpine-Base-Images nutzen (Größenbudget < 500MB)
-
SQS Event Source Mappings MÜSSEN
maximum_batching_window_in_seconds >= 5haben
Implementierungsanleitung
-
ADR erweitern: Energie-Effizienz-Sektion: "Wie wurde SCI betrachtet? Welche Alternativen wurden bezüglich Effizienz bewertet?"
-
Event-Driven Policy: Polling-Patterns identifizieren und durch SQS/EventBridge/SNS ersetzen
-
Dependency-Review-Prozess: Neue Dependencies prüfen auf Größe, Aktivität, Effizienz; Alpine/Distroless-Images
-
SCI-Messung: Energie aus CloudWatch-Metriken + Carbon Intensity der Region + Functional Units
-
SQS Batching:
batch_size = 100+maximum_batching_window_in_seconds = 30für alle SQS-Lambda-Trigger -
Scale-to-Zero: Cloud Run
min_instance_count = 0; Lambda hat Scale-to-Zero by default
Reifegrad-Abstufung
| Level | Bezeichnung | Kriterien |
|---|---|---|
1 |
Keine Effizienz-Betrachtung |
Nur funktionale Anforderungen; Polling-Patterns überall; keine Dependency-Hygiene. |
2 |
Awareness in Code-Review |
Effizienz wird gelegentlich im Review erwähnt; kein formaler Prozess. |
3 |
ADR-Requirement + Event-Driven |
ADR-Pflicht mit Energie-Sektion; Event-Driven für Async; Dependency-Review; SCI für Tier-1 jährlich. |
4 |
SCI als Engineering-Metrik |
SCI monatlich getrackt; Energie-Effizienz in Definition of Done; N+1 automatisch detektiert. |
5 |
SCI-OKR + Continuous Improvement |
SCI-Verbesserung als OKR; automatische SCI-Regression-Alerts im CI; Energy-Profiling in Dev-Workflow. |
Terraform Checks
waf-sus-070.tf.aws.sqs-not-polling
Prüft: SQS-Lambda Event Source Mappings nutzen Batching (Long Polling).
| Compliant | Non-Compliant |
|---|---|
|
|
Remediation: batch_size = 100 und maximum_batching_window_in_seconds = 30 setzen. Reduziert Invocations um bis zu 99% bei hochvolumigen Queues.
waf-sus-070.tf.google.cloud-run-min-instances
Prüft: GCP Cloud Run Services können auf Zero skalieren.
| Compliant | Non-Compliant |
|---|---|
|
|
Remediation: min_instance_count = 0 für alle nicht-produktiven Services; für Produktion mit Cold-Start-SLA dokumentieren, warum min > 0 erforderlich ist.
Evidenz
| Typ | Pflicht | Beschreibung |
|---|---|---|
Governance |
✅ Pflicht |
ADR-Template oder Architecture-Review-Checkliste mit Energie-Effizienz / SCI-Betrachtung. |
Config |
Optional |
Container-Image-Size-Reports (Distroless/Alpine-Compliance). |
Process |
Optional |
SCI-Measurement-Report für Tier-1-Services mit Baseline und Trend. |
Governance |
Optional |
Dependency-Review-Policy und Audit-Log. |
Regulatorisches Mapping
| Framework | Controls |
|---|---|
EU CSRD (Corporate Sustainability Reporting Directive) |
ESRS E1 – Climate change; ESRS G1 – Governance; ESRS S1 – Own workforce; ESRS S2 – Workers in own workforce; ESRS S3 – Affected communities; ESRS S4 – Human rights |
GHG Protocol (Corporate Accounting and Reporting Standard) |
Scope 1 – Direct emissions; Scope 2 – Indirect emissions from purchased energy; Scope 3 – Other indirect emissions |
Green Software Foundation (GSF) |
Software Engineering Principles – Carbon-aware computing; Carbon accounting standards |
SBTi (Science Based Targets initiative) |
Target setting methodology; Validation and verification; Corporate target standards |
ISO 14001:2015 |
Clause 6.1 – Actions to address risks and opportunities; Clause 8.1 – Operational planning and control; Clause 9.1.1 – Monitoring, measurement, analysis and evaluation |
ISO 14064-1:2018 |
Clause 5 – GHG inventory quantification; Clause 6 – GHG inventory validation and verification |
GDPR |
Art. 28 – Processor obligations; Art. 32 – Security of processing |
CSRD |
ESRS E1-6 – Emissions; ESRS G1-3 – Governance |
NIST SP 800-53 |
AU-1 – Audit and accountability policy; AU-2 – Audit events; AU-3 – Content of audit records |
NIST CSF 2.0 |
GV.PO – Policy; DE.CM – Continuous monitoring; RV.RP – Recovery planning |
TISAX |
Information security – Sustainability; Prototype protection – Environmental protection |
ANSSI SecNumCloud |
Domain – Environmental impact |
BIO |
BIO – Milieueffecten |
ENS High |
op.exp.9 – Gestión del impacto ambiental |
UK NCSC CAF |
B6 – Environmental impact |
CMMC 2.0 |
AU.L2-3.8.1 – Automated audit logging |
IRAP |
ISM – Environmental monitoring |
CCCS PBMM |
AU-2 – Audit events |
MAS TRM |
Ch.12 – Outsourcing risk management |
ISMAP |
Sustainability and environmental impact |
FISC |
Operational measures – Environmental impact |