Wie sich im Hinblick auf Daten, Applikation, Plattform, Code und Betrieb der Energieverbrauch einer Software-Architektur senken lässt.
Um Software-Architekturen nachhaltiger zu gestalten, hat Markus Eisele, Developer Strategist EMEA bei Red Hat, Empfehlungen für fünf relevante Segmente. Die empfohlenen Maßnahmen zielen primär auf die Anwendung in ereignisgesteuerten oder Microservices-Architekturen ab. Bei jeder Maßnahme sollten Unternehmen vorab die Ziele definieren und die Zielerreichung über geeignete Messmetriken überprüfen.
Datenspeicherung und -nutzung verbraucht Energie. Unternehmen können hier ansetzen und Speicherung und Nutzung auf ein Minimum reduzieren, lautet die erste Empfehlung von Eisele. Helfen könne dabei die Einführung von Richtlinien für die Datenklassifizierung; so könne festgelegt werden, welche Daten wie lange gespeichert werden. Unnötige Daten sollten immer unter Einhaltung regulatorischer Bestimmungen gelöscht werden. Auch eine Überprovisierung an Speicherplatz oder Datenbewegungen über Netzwerkgrenzen hinweg gelte es zu vermeiden.
Ein Always-on-Ansatz verbraucht viel Energie und ist mitunter überflüssig. Eisele empfiehlt daher, dass Ressourcen auch für eine parallele und asynchrone Verarbeitung nutzbar sein sollten. Nicht zeitkritische Aufgaben ließen sich dann aufteilen und asynchron bearbeiten. Das könne beispielsweise in einer Zeitspanne passieren, in der umweltfreundlicher Strom zur Verfügung steht. Auch ein Application-Monitoring könne hilfreich sein, um Runtime-Veränderungen und -Auswirkungen auf die Nachhaltigkeit zu verfolgen.
Eine hohe Komplexität weise laut Eisele das Thema Plattformbereitstellung, -nutzung und -skalierung auf, da es hier auch um spezifische Architektur-Entscheidungen gehe. Unternehmen sollten in jedem Fall ihre Gesamtkonfiguration betrachten, bevor sie zusätzliche Technologien für eine Anwendung nutzen. Idealerweise komme dabei für das Entwickeln und Testen einer Applikation eine minimale, funktionsfähige und repräsentative Umgebung zum Einsatz.
Werden in puncto Code die Ziele und Anforderungen im Vorfeld formuliert, könnten Unternehmen einiges erreichen. Zwei Beispiele, die Eisele anführt: die Änderung der Aufbewahrungszeit von Protokolldaten oder die Anpassung der Service Level Agreements (SLAs).
Eisele weist darauf hin, dass Managed Cloud Services die Ressourcen unter Tausenden oder noch mehr Nutzern teilen, wodurch von einer hohen Auslastung ausgegangen werden könne und sich der Aufwand für Site Reliability Engineering-Teams mitunter verringere. Zudem gebe es Open-Source-Projekte, die Unternehmen beim Erreichen ihrer Nachhaltigkeitsziele unterstützen. Ein Beispiel sind Lösungen, die Ressourcen bei Nichtnutzung automatisch herunterfahren.