Infrastruktur an den tatsächlichen Bedarf anpassen

Ein Server, der zu zehn Prozent ausgelastet ist, verbraucht nicht zehn Prozent seines Stroms. Er verbraucht typischerweise die Hälfte. Diese Leerlaufaufnahme ist der unangenehmste Befund der Serverhardware: Zwischen „eingeschaltet und tut nichts“ und „eingeschaltet und arbeitet“ liegt energetisch weniger, als jeder Betreiber gerne hätte. Und weil in vielen Rechenzentren die durchschnittliche Auslastung im niedrigen zweistelligen Prozentbereich liegt, läuft ein erheblicher Teil der weltweiten Serverkapazität dauerhaft im teuersten Betriebszustand: fast leer, aber voll unter Strom. Genau hier setzt Guideline 4.11 an. Ihr Leitsatz verlangt eine Infrastruktur, die sich am Bedarf ausrichtet und effizient skaliert, statt vorsorglich zu groß gebaut zu werden.

Info

Das einzige Erfolgskriterium von Guideline 4.11

Geringste Anforderungen: Wähle eine Infrastruktur, die Deine Anforderungen und Deine Kundenvereinbarungen erfüllt, ohne überdimensioniert zu sein. Bevorzuge eigenständige Instanzen gegenüber Multi-Zone-Aufbauten oder verteilten Systemen, wenn die Anforderungen das zulassen. Dimensioniere für durchschnittliche Lasten statt für Spitzenlasten, um Ressourcen effizient zu nutzen.

Meine Einordnung

Ein zu schwacher Server schadet der Umwelt. Das ist die vertraute Hälfte der Wahrheit: lange Antwortzeiten, wartende Geräte, abbrechende Besucher, wiederholte Anfragen. Die unvertraute Hälfte ist die andere Richtung. Ein zu leistungsfähiger Server schadet ebenfalls, nur unsichtbarer. Er zieht seine Grundlast, ob Du ihn brauchst oder nicht. Er wurde produziert, mit allem was an Material, Energie und Wasser darin steckt. Und diese Herstellungsemissionen fallen einmalig an, unabhängig davon, ob Du die Maschine später zu 8 oder zu 80 Prozent nutzt. Verteilt auf tatsächlich geleistete Arbeit wird ein überdimensionierter Server pro Anfrage regelrecht teuer.

Bemerkenswert finde ich den zweiten Satz des Kriteriums: eigenständige Instanzen vor verteilten Aufbauten. Das läuft dem verbreiteten Reflex entgegen, Verfügbarkeit immer durch Vervielfachung zu lösen. Drei Zonen bedeuten dreimal Grundlast, dreimal Hardware, dreimal Wartung. Für einen Bezahldienst mit vertraglicher Verfügbarkeitszusage kann das richtig sein. Für die meisten Unternehmenswebsites ist es Vorsorge gegen ein Ereignis, das seltener eintritt als der Konfigurationsfehler, den die zusätzliche Komplexität erst ermöglicht.

Der dritte Satz ist der praktisch folgenreichste. Für Durchschnittslast dimensionieren, nicht für Spitzenlast. In der Praxis passiert fast immer das Gegenteil: Jemand erinnert sich an den einen Newsletter-Versand oder den einen Messetag, an dem es eng wurde, und bucht dauerhaft die nächstgrößere Stufe. Damit ist ein Ausnahmefall von wenigen Stunden zur Grundlage für 8.760 Betriebsstunden im Jahr geworden.

Wo ich weiter gehe

Die Guideline beantwortet die Frage „wie groß soll die Maschine sein“. Ich stelle vorher eine andere: Warum braucht diese Website überhaupt so viel Rechenleistung?

In meiner Beratung sehe ich regelmäßig Server, die deshalb groß dimensioniert sind, weil bei jedem Seitenaufruf ein CMS Datenbankabfragen ausführt, Templates rendert und Plugins durchläuft, um ein Ergebnis zu erzeugen, das sich seit Wochen nicht geändert hat. Diese Rechenleistung ist keine Anforderung, sie ist eine Folge der Architektur. Wer HTML vorab erzeugt und statisch ausliefert, senkt den Bedarf nicht um Prozente, sondern um Größenordnungen. Dieselbe Seite läuft dann auf einer Maschine, die eine Nummer kleiner ist und trotzdem gelangweilt wirkt.

Und hier lauert die eigentliche Falle des modernen Infrastrukturdenkens.

Achtung
Autoscaling löst Überdimensionierung nicht, es macht sie unsichtbar. Wenn die Infrastruktur jede zusätzliche Last automatisch auffängt, merkst Du nie, dass Deine Anwendung von Release zu Release ineffizienter wird. Elastische Systeme verbergen Verschwendung, bis sie auf der Rechnung steht. Setze Dir eine Obergrenze und behandle jedes Erreichen dieser Grenze als Signal, den Code zu prüfen, nicht das Limit zu erhöhen.

Das ist der Rebound-Effekt in Reinform: Effizientere Bereitstellung führt nicht automatisch zu weniger Verbrauch, sondern häufig zu mehr Anspruch. Suffizienz beginnt nicht bei der Auswahl der Instanzgröße, sondern bei der Frage, welche Berechnung überhaupt stattfinden muss.

Dein erster Schritt heute

Die meisten Betreiber wissen nicht, wie ausgelastet ihr Server tatsächlich ist. Sie kennen nur das Gefühl, dass es „gut laufen“ soll.

Tipp
Schau in die Auslastungsgrafiken Deines Hosters oder Serverpanels und notiere für die letzten 30 Tage drei Werte: durchschnittliche CPU-Last, Spitzenlast und belegter Arbeitsspeicher. Liegt der Durchschnitt unter 15 Prozent und die Spitze unter 50 Prozent, ist Deine Maschine mindestens eine Stufe zu groß. Buche testweise die kleinere Variante, die meisten Anbieter erlauben das monatsweise und reversibel.

Wenn Dir die kleinere Stufe zu knapp erscheint, dann optimiere zuerst die Seite und miss danach erneut. Fast immer verschwindet das Problem, statt kleiner zu werden.

Ein Server, der für den Ausnahmefall gebaut wurde, verbringt sein ganzes Leben mit dem Regelfall.

Quelle: W3C-Fassung von Guideline 4.11