Die moderne Softwareentwicklung muss klimafreundlich und ressourcenschonend werden. Wir müssen das Rad jedoch nicht neu erfinden, da es bereits Green Software Development Design Patterns gibt. Nach den "üblichen Verdächtigen" wie Maximierung der Server-Utilization, Minimierung der Speicher- und Prozessorauslastung und dynamische Skalierung braucht es einen Paradigmenwechsel. 

Ähnlich wie bei der Energiewende, muss sich die Nutzung von Ressourcen an das Angebot von Ressourcen richten. Das ist das Prinzip von Carbon Aware Computing. Die eine Möglichkeit ist, planbare Last (Tasks, Jobs, Batch-Prozesse) zu Zeiten mit einem Anteil hoher regenerativer Energien im Stromnetz zu verlagern (Time-Shifting). 

Bei On-Demand Lasten braucht es eine andere Strategie. Hier muss die Applikation das Angebot und seine Funktionalität an die vorhandenen Ressourcen anpassen. Diesen Vorgang nennt man Demand-Shaping. 

In diesem Talk wird gezeigt, wie dieses Pattern in Kubernetes umgesetzt werden kann und welche Möglichkeiten eine Anwendung hat um die Last "abzuwerfen". Dabei werden die folgenden Aspekte mit Live-Demo angesprochen:

  • Wie funktioniert Skalierung in Kubernetes?
  • Wie kann man diese dynamisch basierend auf der CO2-Intensität des Stromnetzes begrenzen?
  • Woher bekommt man die Vorhersagedaten?