Green DevOps: die CO2-Kosten unserer Server
Eine effiziente Infrastruktur spart Geld und Emissionen. Wie man beides misst.
Eine effiziente Infrastruktur spart Geld und Emissionen. Wie man beides misst.

Es ist leicht, Software als gewichtslos zu betrachten. Code ist nur Text, die Cloud ist einfach "irgendwo". Aber jede Anfrage, jede Pipeline, jede leere virtuelle Maschine läuft auf physischer Hardware in einem Rechenzentrum, das Strom und Wasser verbraucht, und wurde mit echten Materialien hergestellt.
Rechenzentren verbrauchen bereits einen spürbaren Teil des weltweiten Stroms, und der KI-Boom erhöht diese Zahl rasant. Als diejenigen, die entscheiden, wie viel Infrastruktur läuft und wie effizient, haben DevOps-Ingenieure mehr Einfluss darauf, als wir oft erkennen.
Grob gesagt drei Quellen:
Die Grüne Software-Stiftung definiert eine Software-Kohlenstoffintensität (SCI) Die Kommission hat die Kommission aufgefordert, die in den letzten Jahren in den Mitgliedstaaten durchgeführten Maßnahmen zu überprüfen.
Man kann nicht reduzieren, was man nicht sehen kann. Hilfreiche Hilfsmittel:
Die grünste Rechenmethode ist die, die man nicht ausführt. Der zweitgrünste ist der Computer, den Sie effizient an einem sauberen Ort und zu einer sauberen Zeit betreiben.
Die meisten dieser Maßnahmen sind auch Kostenoptimierungen, die sich dadurch leichter rechtfertigen lassen.
Weniger verwenden: - Löschen Sie unbenutzte Ressourcen. - Richtige Größe für virtuelle Maschinen, Container und Datenbanken. - Nichtproduktionsumgebungen außerhalb der Arbeitszeit ausschalten. - Skalieren Sie nach Möglichkeit auf Null. - Die Beobachtungsdaten schlanker halten: weniger Protokolle, geprüfte Spuren, kürzere Aufbewahrung. - Vermeiden Sie unnötige CI-Runs (nur das, was geändert wurde, bauen, veraltete Runs stornieren).
Nutzen Sie es effizienter: - Erhöhung der Auslastung durch bessere Verpackung von Kubernetes-Knoten (Karpenter-Konsolidierung, ehrliche Ressourcenanfragen). - Verwenden Sie energieeffiziente Hardware wie ARM-basierte Instanzen, die oft weniger Energie für die gleiche Arbeit verbrauchen. - Optimierung der Hotcode-Pfade (kontinuierliche Profilierung hilft, sie zu finden). - Cache und Komprimierung zur Verringerung des Netzwerkverkehrs und des wiederholten Arbeits.
Verwenden Sie sauberere Energie: - Wählen Sie Regionen mit saubererem Netz wenn die Datenverzögerungs- und Datenregeln dies zulassen. Regionen in Ländern mit viel Wasserkraft, Windkraft oder Kernenergie haben in der Regel eine viel geringere CO2-Intensivität. Die Cloud-Anbieter veröffentlichen Daten über ihre Regionen. - Ich weiß . Kohlenstoffbewusste Planung: flexible Arbeitslasten (Botschaftsarbeiten, Schulungen, Berichte, nicht dringende KI) ausführen, wenn oder wo das Netz sauberer ist. Verlegen Sie zum Beispiel einen Nachtjob zu den Stunden mit der meisten Windkraft oder in eine sauberere Region.
Verwenden Sie die Hardware länger: - Für lokale Anlagen verringert die Verlängerung der Lebensdauer der Hardware die Emissionen.
Eine einfache Version: Ein Batch-Job, der jederzeit innerhalb der nächsten 12 Stunden ausgeführt werden kann, überprüft eine Kohlenstoffintensitätsprognose und startet im saubersten Fenster. Es entstehen Tools und Kubernetes-Projekte, die dies automatisch tun, indem sie KEDA-Skalierer auf der Grundlage der Kohlenstoffintensität oder Planer verwenden, die Netzdaten berücksichtigen.
Es funktioniert nicht bei allem. Benutzerorientierte Anfragen müssen jetzt, in der Nähe der Benutzer ausgeführt werden. Aber eine überraschende Menge an Rechenleistung ist flexibel: Datenleitungen, Modelltraining, Backups, Test-Suiten.
Das Schöne an grünem DevOps ist, dass es selten mit guter Technik in Konflikt kommt. Effiziente Systeme sind billiger, schneller und umweltfreundlicher. FinOps und Nachhaltigkeitsteams arbeiten oft an derselben Liste.
Eine nützliche Gewohnheit: Neben der Kosten einer Dienstleistung sollen die geschätzten Energie- oder CO2-Emissionen angegeben werden. Es gibt Ingenieuren einen Grund mehr, aufzuräumen, und macht den Aufprall sichtbar.
Schauen Sie sich das CO2-Dashboard Ihres Cloud-Anbieters an, um eine Basislinie zu erhalten. Dann machen Sie die Effizienzarbeit, die Sie für Kosten tun würden: entfernen Sie Abfall, die richtige Größe, schalten Sie aus, was nicht funktioniert. Wenn Sie Kubernetes laufen lassen, versuchen Sie Kepler, um Energie pro Arbeitslast zu sehen. Und für Ihre nächste Arbeitsmenge fragen Sie, ob sie zu einer sauberen Zeit oder in einer saubereren Region laufen könnte.
Meine Meinung: Jeder untätige Server verbrennt Geld und Kohlenstoff umsonst. Effiziente Infrastruktur ist gutes Engineering, gutes Geschäft und gut für den Planeten, alles auf einmal.
Desly