Text size
Auf meinem Radar6 Min. Lesezeit

Green DevOps: die CO2-Kosten unserer Server

Eine effiziente Infrastruktur spart Geld und Emissionen. Wie man beides misst.

Green DevOps: the carbon cost of our servers
KI-generierte Illustration

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.

Warum es jetzt wichtig ist

  • Die Verordnung. In der EU verlangt die Richtlinie zur Berichterstattung über Unternehmensnachhaltigkeit (CSRD) von vielen großen Unternehmen, Umweltwirkungen zu melden, einschließlich IT. Die Energieeffizienzrichtlinie verlangt, dass größere Rechenzentren über Energie- und Wasserverbrauch berichten. Auch wenn die Anforderungen reduziert oder verzögert wurden, ist die Richtung klar.
  • Kunden und Investoren Die Kommission hat die Kommission aufgefordert, die in den letzten Jahren erzielten Ergebnisse zu überprüfen.
  • KI-Arbeitsbelastungen sind energiehungrig und wachsen schnell.
  • Kosten. Energie ist ein großer Teil dessen, wofür man in der Cloud bezahlt. Verschwendete Rechenleistung ist Verschwendung von Geld und gleichzeitig Verschwendung von Kohlenstoff.

Aus welchem Ort stammen Softwareemissionen

Grob gesagt drei Quellen:

  1. Betriebsenergie: Strom, der von Servern, Speicher und Netzwerken beim Betrieb Ihrer Arbeitslasten verbraucht wird.
  2. Kohlenstoffintensität dieser Energie: dasselbe Kilowattstunde sehr unterschiedliche Emissionen haben kann, je nachdem, wo und wann sie verwendet wird. Ein Stromnetz, das mit Wind und Wasser angetrieben wird, ist viel sauberer als ein Stromnetze, das mit Kohle oder Gas angetrieben werden kann.
  3. Kohlenstoff: Emissionen aus der Herstellung der Hardware. Wenn man Hardware effizienter und länger verwendet, verbreitet sich das.

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.

Die Messung

Man kann nicht reduzieren, was man nicht sehen kann. Hilfreiche Hilfsmittel:

  • Cloud-Anbieter-Dashboards: AWS Kunden-CO2-Fußabdruck-Tool, Google Cloud Carbon Footprint, das Emissions Impact Dashboard von Microsoft. Gut für einen Überblick, meist mit Verzögerung und begrenzten Details.
  • Kohlenstoffabdruck der Wolken: ein Open-Source-Tool, das Emissionen aus Cloud-Billardaten zwischen Anbietern schätzt.
  • Kepler (Kubernetes-basierter effizienter Leistungsniveau-Exporteur, ein CNCF-Projekt): verwendet eBPF und Hardwarezähler, um den Energieverbrauch einzelner Kapseln und Behälter zu schätzen, die als Prometheus-Metriken dargestellt werden.
  • Karten der Elektrizität und Wattzeit: Echtzeit- und prognostizierte CO2-Intensivitätsdaten für Stromnetze.
  • SDK für CO2-Aufmerksamkeit von der Green Software Foundation: hilft Anwendungen, diese Daten zu nutzen, um Entscheidungen zu treffen.

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.

Was DevOps-Teams tun können

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.

CO2-bewusste Planung in der Praxis

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.

Geld und CO2-Einsparungen

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.

Also, wo fange ich an?

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