Herausforderung

Synergien

Energieeffiziente Software ist der Teil zum Thema Nachhaltigkeit den Software Engineers und Softwarearchitekten am meisten beeinflussen können. Im Bereich der Softwarearchitektur sind wir es gewohnt mit Qualitätszielen oder -attributen zu arbeiten. Der vielleicht wichtigste einzelne Hebel der uns auf dieser Ebene zur Verfügung steht ist Ressourcen- und Energieeffizienz als Qualitätsziel in den Entwicklungsprozess einzubringen und zu priorisieren. Wie im Umgang mit Qualitätszielen üblich kommt es zu Wechselwirkungen mit anderen Qualitätszielen, z.B. ist vorstellbar dass eine Verbesserung der Effizienz mit einer Verschlechterung der Wartbarkeit einhergeht. Es gibt allerdings auch positive Wechselwirkungen.

Kein Entwickler wartet gerne auf Feedback. Und CI-Server sind in einigen Projekten signifikante Energieverbraucher, vor allem wenn viele komplexe Tests eingesetzt werden. Nach unserer Erfahrung sind diese Test-Setups selten notwendig und mit einer anderen Teststrategie (Fokus auf schnell-laufende Unit-Tests) wird gleichzeitig die Produktivität gesteigert, die Zufriedenheit der Entwickler gesteigert sowie Ressourcen gespart.

Neben diesem konkreten Beispiel kann man festhalten dass die Reduktion von Serverressourcen Kosteneinsparungen bewirkt und dadurch zusätzliche Rechtfertigung erhält - auch wenn in den Green Principles steht dass "Nachhaltigkeit alleine" ausreicht um alle Bemühungen zu rechtfertigen.

Weitere Rezepte um Energieeffizienz zu erhöhen

  • Datentransfer reduzieren
  • spezifischere Datenstrukturen verwenden (z.B. nur notwendige Informationen senden, Daten nur einmalig aufbereiten)
  • Datenbank-Funktionalität nutzen (sortieren, filtern, Spalten auswählen)
  • sehr kleinteilige Architekturen / viele Microservices vermeiden
  • Overhead durch Komponentenverteilung, Clustermanager, Logging und andere Infrastrukturelemente muss im Verhältnis zur Funktionalität stehen
  • gesamten Lebenszyklus der Software betrachten, abwärtskompatibel bleiben, Progressive Enhancement
  • und falls man nicht mehr reduzieren kann, ist Demand Shifting eine Option wo Green IT und Green Software sich ergänzen können um Karbon-effizientere Lösungen zu finden (auch wenn diese ggf. nicht energie-effizienter sind).

In Kürze erfahren Sie hier mehr zum Thema!

Weitere Herausforderungen

Messen

Was kann man messen? Welche Tools funktionieren in welchen Umgebungen?

Mehr lesen

Synergien

In einigen Fällen ergänzen sich Effizienz, Developer Experience und Produktivität und formieren damit eine Win-Win Situation.

Mehr lesen

Limits

In bestimmten Situationen ist die Verringerung des Ressourcenverbrauchs nur mit Einschränkungen der Funktionalität realisierbar.

Mehr lesen

Zertifizierungen

Welche Zertifizierungen gibt es? Und wie stehen Sie Bezug zu den Massnahmen?

Mehr lesen

Lass uns sprechen.

Ich möchte mehr über Dein Migrationsvorhaben erfahren! Gemeinsam entwickeln wir einen Plan, wie wir Dich dabei unterstützen können.

Wir verwenden Ihre Daten zur Kontaktaufnahme.
Datenschutzhinweise
Danke!

Du erhältst bald Deine erste Ausgabe von Published.
Oh nein, da ist ein Fehler passiert. Bitte versuche es nochmal.