BLOG

Unbeabsichtigte Folgen: Proxys unter Last

Lori MacVittie Miniaturbild
Lori MacVittie
Veröffentlicht am 18. Januar 2016

Die Notwendigkeit der Skalierbarkeit ist heutzutage nicht einmal eine Frage. Die Antwort ist immer: Ja, Sie brauchen es. Das Unternehmenswachstum hängt vom operativen Wachstum der Anwendungen ab, die schließlich ein wesentlicher Bestandteil der heutigen Geschäftsmodelle sind – unabhängig von der Branche. Daher werden Systeme im Allgemeinen mit den notwendigen Elementen bereitgestellt, um diesen Maßstab dann zu erreichen – und nicht falls – wenn er benötigt wird. Normalerweise ist damit ein Proxy gemeint. Und die für die Skalierung verantwortlichen Proxys (normalerweise ein Load Balancer) sind daher ziemlich wichtige Komponenten in jeder modernen Architektur.

Diese Proxys dienen nicht nur als Mechanismus zur Skalierung, sie werden durch die Wunder der automatischen Skalierung auch zunehmend dazu verpflichtet, dies automatisch zu tun. Dieses einfache Wort mit Bindestrich hat eine große Bedeutung. Beispielsweise die Fähigkeit, ein System programmgesteuert anzuweisen, nicht nur zusätzliche Kapazitäten bereitzustellen, sondern auch sicherzustellen, dass der für die Skalierbarkeit zuständige Proxy von deren Existenz weiß und Anfragen dorthin weiterleiten kann.

Man geht davon aus, dass jeder gute Proxy über die erforderlichen Programmierschnittstellen verfügt. In der API-Ökonomie geht es nicht nur um den Austausch zwischen Apps und Personen, sondern auch um den Austausch zwischen Systemen – vor Ort und extern, in der Cloud. Was wir jedoch oft nicht erkennen, ist, dass das Hinzufügen einer neuen Ressource zu einem Lastausgleichsproxy auf der Verwaltungs- oder Steuerungsebene und nicht auf der Datenebene stattfindet.

OOB versus Nicht-OOB-Management

Das macht Sinn. Wir möchten den Systembetrieb nicht stören, während wir Statistiken erfassen oder die Konfiguration manipulieren. Das ist ein No-Go, insbesondere in einer Situation, in der wir versuchen, die Kapazität zu erhöhen, weil das System auf Hochtouren läuft und eifrigen Benutzern Apps liefert.

Aber was passiert, wenn das Gegenteil eintritt? Wenn der Betrieb des Systems die Möglichkeit zur Verwaltung des Systems beeinträchtigt?

Ihre automatische Skalierung (oder auch manuelle Skalierung) wird fehlschlagen. Das heißt, die App-Kapazität wird nicht erhöht und das Geschäft wird darunter leiden.

Das ist schlimm, als ob ich Ihnen das sagen müsste.

Der Grund hierfür liegt darin, dass viele Proxys (die nicht unter Berücksichtigung dieses Paradoxons entwickelt wurden) Systemressourcen sowohl für die Steuerungs- als auch für die Datenebene gemeinsam nutzen. Es gibt keine Isolation zwischen ihnen. Für die Verwaltung des Proxys wird dasselbe Netzwerk verwendet, das die Apps bereitstellt. Für die Verwaltung des Proxys werden derselbe RAM und die gleiche Rechenleistung eingesetzt, die für die Bereitstellung von Apps vorgesehen sind. Unter Last erhält nur einer der beiden die Ressourcen. Wenn Sie versuchen, dem Proxy App-Ressourcen hinzuzufügen, um eine Skalierung vorzunehmen, und dafür nicht auf das System zugreifen können, stecken Sie in großen Schwierigkeiten.

Deshalb ist es wichtig, bei der Auswahl der Proxys auf die Verwaltbarkeit zu achten. Nicht nur die einfache Handhabbarkeit. Nicht nur seine API- und Skriptfunktionen, sondern auch seine Verwaltbarkeit unter Last . Proxys, die speziell für große Skalierungen entwickelt wurden, sollten über einen separaten Satz von Ressourcen verfügen, die als „Verwaltungsressourcen“ bezeichnet werden. So wird sichergestellt, dass die Datenebene unabhängig von ihrer Auslastung durch die Bereitstellung von Apps weiterhin verwaltet und überwacht werden kann.

In der Netzwerkwelt nennen wir dies Out-of-Band-Management, weil es außerhalb des Datenpfads erfolgt – des primären Pfads, des kritischen Pfads.

Die Fähigkeit, einen Proxy unter Last außerhalb des Bandes zu verwalten, ist wichtig für die allgemeine Fähigkeit, die Apps und damit das Geschäft automatisch oder manuell zu skalieren.