|
Geleitwort |
5 |
|
|
Inhaltsverzeichnis |
7 |
|
|
1 Einleitung |
10 |
|
|
1.1 Ausgangslage und Herausforderungen |
10 |
|
|
1.1.1 Steigender Ressourcenbedarf |
11 |
|
|
1.1.2 Klimakrise/Energiekrise |
13 |
|
|
1.1.3 Anforderungen der Politik |
15 |
|
|
1.1.4 Anforderungen in der Geschäftswelt |
16 |
|
|
1.1.5 Steigende Kosten |
17 |
|
|
1.2 Chancen durch eine energieeffiziente IT |
18 |
|
|
1.2.1 Kostenvorteile durch Optimierung der Ressourceneffizienz |
18 |
|
|
1.2.2 Wettbewerbsvorteil durch ein Energieeffizienz-Siegel |
20 |
|
|
1.2.3 Wettbewerbsvorteil durch Steigerung der Nachhaltigkeit |
21 |
|
|
1.2.4 Höhere Mitarbeitermotivation und bessere Mitarbeitergewinnung |
23 |
|
|
1.3 Ansätze zur Optimierung |
23 |
|
|
1.3.1 Maßnahmen im Rechenzentrum (Cloud/on premise) |
24 |
|
|
1.3.2 Maßnahmen in der Softwareentwicklung |
27 |
|
|
1.4 Ziele und Scope des vorliegenden Buchs |
31 |
|
|
1.5 Gliederung des Buchs |
32 |
|
|
2 Status quo – Ergebnisse der Umfrage zu Green IT |
34 |
|
|
2.1 Einleitung und Motivation der Umfrage |
34 |
|
|
2.2 Aufbereitete Ergebnisse |
36 |
|
|
2.3 Kritische Würdigung der Umfrage und ihrer Ergebnisse |
58 |
|
|
3 Technische Betrachtung |
60 |
|
|
3.1 Energieeffizienz und Qualität |
60 |
|
|
3.2 Messungen |
62 |
|
|
3.2.1 Betriebswirtschaftliche Aspekte |
62 |
|
|
3.2.2 Messverfahren |
63 |
|
|
3.2.3 Software Carbon Intensity |
63 |
|
|
3.2.4 Nutzung von Proxy-Metriken |
64 |
|
|
3.2.5 Direkte Messungen der Codeeffizienz |
65 |
|
|
3.2.6 Messungen bei Vorhaben zur Verbesserung der Energieeffizienz |
65 |
|
|
3.3 Cloud |
66 |
|
|
3.3.1 Auswahl des Cloud-Anbieters |
67 |
|
|
3.3.2 Betrieb in der Cloud optimieren |
68 |
|
|
3.3.3 Peak Shaving nutzen |
70 |
|
|
3.4 Architektur |
71 |
|
|
3.4.1 Kleinere Services vs. monolithische Systeme |
71 |
|
|
3.4.2 Architekturentwurf für Scale-out |
72 |
|
|
3.4.3 Verlagerung der Rechenleistung in Richtung Endgerät |
73 |
|
|
3.4.4 Auswirkungen auf Endgeräte im Blick behalten |
74 |
|
|
3.4.5 Speicherformate sinnvoll auswählen |
75 |
|
|
3.4.6 Optimierung für asynchrone Verarbeitung |
76 |
|
|
3.5 Entwicklung |
77 |
|
|
3.5.1 Effiziente Programmiersprache wählen |
77 |
|
|
3.5.2 Effiziente Laufzeitumgebung wählen |
77 |
|
|
3.5.3 Logging reduzieren und strukturieren |
78 |
|
|
3.5.4 Wiederholungen reduzieren |
79 |
|
|
3.5.5 Binäre Datenformate nutzen |
79 |
|
|
3.5.6 Binäre Protokolle nutzen |
80 |
|
|
3.5.7 Abschalten nicht benötigter Umgebungen |
80 |
|
|
3.5.8 Effiziente Algorithmen und Datenstrukturen nutzen |
81 |
|
|
3.5.9 Größe der Build-Artefakte reduzieren |
81 |
|
|
3.6 Betrieb |
82 |
|
|
3.6.1 Rechenlast randomisiert ausführen |
82 |
|
|
3.6.2 Rechenlast steuern |
83 |
|
|
3.6.3 Verteilen der Anwendungskomponenten |
84 |
|
|
3.6.4 Verlagerung von Ressourcen in Richtung der Anwender:innen |
84 |
|
|
3.7 Zusammenfassung |
85 |
|
|
4 Methodische Betrachtung |
87 |
|
|
4.1 Verbesserung der Energieeffizienz in sieben Schritten |
87 |
|
|
4.2 Praxisbeispiel |
89 |
|
|
4.2.1 Ermitteln möglicher Maßnahmen |
90 |
|
|
4.2.2 Bewerten der Verbesserungen |
91 |
|
|
4.2.3 Setzen von Prioritäten und Planung der Verbesserungen |
96 |
|
|
4.2.4 Umsetzen und Testen der Verbesserungen |
97 |
|
|
4.2.5 Einführen der Änderungen in die Produktion |
99 |
|
|
4.2.6 Messen der Ergebnisse |
100 |
|
|
4.2.7 Vervielfältigung erfolgreicher Verbesserungen |
100 |
|
|
4.3 Zusammenfassung |
101 |
|
|
5 Fallstudie |
102 |
|
|
5.1 Einleitung |
102 |
|
|
5.2 Rechtliche und ökonomische Aspekte |
105 |
|
|
5.3 Technische Aspekte |
110 |
|
|
5.3.1 Ermitteln möglicher Maßnahmen |
112 |
|
|
5.3.2 Bewerten der Verbesserungen |
112 |
|
|
5.3.3 Setzen von Prioritäten und Planung der Verbesserungen |
115 |
|
|
5.3.4 Umsetzen und Testen der Verbesserungen |
117 |
|
|
5.3.5 Einführen der Änderungen in die Produktion |
118 |
|
|
5.3.6 Messen der Ergebnisse |
118 |
|
|
5.3.7 Vervielfältigung erfolgreicher Verbesserungen |
119 |
|
|
6 Zusammenfassung und kritische Würdigung |
120 |
|
|
Literatur |
129 |
|