Gorodenkoff - stock.adobe.com
Noisy-Neighbor-Probleme in Cloud und Colocation vermeiden
In mandantenfähigen IT-Umgebungen können Noisy Neighbors der Workload Performance schaden. Wir erklären, wie Sie das Problem in Colocation-Rechenzentren und Public Cloud angehen.
Probleme mit Noisy Neighbors oder eigenen, gierigen Workloads in der IT sind manchmal nur schwer zu lösen. Strapaziert ein Workload eine oder mehrere Ressourcen übermäßig, beeinträchtigt das die Performance von anderen Anwendungen auf der Infrastruktur.
Auf physischen Plattformen betrifft das Problem nur den Workload selbst. Ein Speicherleck oder zu viele Speicheranfragen für das Setup können Anwendungen zum Stillstand bringen, wirken sich jedoch nicht auf andere Workloads aus, da sie über eigene, dedizierte Ressourcen verfügen. Anders ist das jedoch bei SAN- (Storage Area Network) oder NAS-Systemen (Network Attached Storage), oder wenn eine Workload auf ein gemeinsam genutztes WAN zugreift.
Die Fähigkeit virtueller Plattformen, Ressourcen gemeinsam nutzbar zu machen und dynamisch zu verwalten, bedeutet, dass eine Workload alle verfügbaren Ressourcen belegen und somit für andere Workloads blockieren kann.
Wenn Sie also viel auf Virtualisierung setzen, können solche überhungrigen Workloads zu ernsten Schwierigkeiten führen. Teilen Sie die Plattform mit mehreren anderen Nutzern in einer sogenannten Multi-Tenancy-Umgebung, betrifft das Problem nicht nur Ihre eigenen Anwendungen, sondern auch die Performance der Workloads von Mitbenutzern.
Dieses Problem nennt man Noisy Neighbors. In diesem Artikel betrachten wir die Situation und mögliche Lösungen für zwei verschiedene Umgebungen mit mehreren Mandanten: Colocation-Umgebungen und Public-Cloud-Plattformen.
Ressourcenhungrige Workloads in Colocation-Rechenzentren
In einer Colocation-Einrichtung verfügt eine Organisation über einen abgeteilten Bereich, in dem sie ihre eigenen Server, Speicher und lokalen Netzwerke installiert, bereitstellt und verwaltet. Die Umgebung nutzt die Netzwerkfunktionen der Einrichtung, um Zugriff auf Dienste von Drittanbietern, auf das Internet und auf die von der verwalteten Plattform bereitgestellten Dienste zu erhalten.
Das heißt, in diesen Systemen ist es nicht möglich, dass andere Nutzer Leistung aus ihrem System abziehen und Ihre eigenen fehlerhaften Anwendungen behindern nur Sie selbst. Andere Mandanten können aber sehr wohl zu viel Bandbreite beanspruchen und damit die Geschwindigkeit der gemeinsamen Internetverbindung beeinträchtigen.
In der nachfolgenden Liste finden Sie verschiedene Möglichkeiten, Probleme mit Noisy Neighbors und gierigen Workloads zu vermeiden:
- Stellen Sie sicher, dass der Code korrekt geschrieben ist. Auch in einer DevOps-Umgebung ist es wichtig, dass Mitarbeiter den Code testen, um sicherzustellen, dass keine Speicherlecks vorliegen und die Kommunikation über das Netzwerk optimiert ist. Stresstests, um festzustellen, wie die Workloads mit Spitzenlasten umgehen, sind auch erforderlich, um zu überprüfen, welche Ressourcen sie tatsächlich nutzen.
- Legen Sie ein Ressourcenlimit fest. Anhand der gewonnenen Einsichten können Sie festlegen, wie die Plattform reagieren soll, wenn der Workload nicht gut läuft. Bestimmen Sie zum Beispiel, wie viel zusätzliche CPU- (Central Processing Unit, Prozessor) oder Speicherressourcen er beanspruchen darf. Überwachungssysteme müssen Systemwarnungen in Echtzeit ausgeben, damit Fehler für Administratoren so schnell wie möglich gekennzeichnet werden können. Anschließend können sie die Regeln nach Bedarf anpassen oder die aufgetretenen Probleme beheben. Verursacht ein Mangel an Kühlung oder eine zu langsame Internetverbindung einen Performance-Einbruch, wenden Sie sich an den Colocation-Anbieter.
- Priorisieren Sie Workloads. Das Letzte, was ein Unternehmen braucht ist, dass ein eher nebensächlicher Workload Ressourcen blockiert, während wichtigere Workloads aufgrund mangelnder Ressourcen ins Stocken geraten. Sie sollten daher nicht nur Ressourcenlimits priorisieren, sondern auch Anwendungen.
- Verlegen Sie Workloads vorrübergehend auf alternative Plattformen. Haben Sie den Übeltäter identifiziert, können Sie den betroffenen Workload oft nicht einfach abschalten, bis Sie das Problem behoben haben. In diesem Fall sollten Sie ihn mit virtuellen Maschinen (VMs) oder Containern zeitweilig auf einen weniger beanspruchten Teil Ihrer Plattform legen, oder in die Cloud verlagern, während sich Entwickler mit dem Problem befassen.
- Erleichtern Sie manuelle Eingriffe. Wie bereits erwähnt, müssen Überwachungssysteme vorhanden sein, um Probleme zu identifizieren und zu melden. Darüber hinaus müssen Administratoren in der Lage sein, Ereignisse zum Drosseln von Workloads auszulösen, um ihren Ressourcenzugriff einzuschränken.
So bewältigen Sie Noisy-Neighbor-Probleme in Public Clouds
In einer Public-Cloud-Plattform hat Ihr Unternehmen weniger Kontrolle als in einem Colocation-Zentrum, in dem Workloads auf Ihrer eigenen Infrastruktur laufen. In einer Public Cloud nutzen viele verschiedene Kunden mit unzähligen weiteren Workloads die Infrastruktur gemeinsam.
Solche massiven Hyperscale-Public-Cloud-Plattformen sollten in der Lage sein, den Bedarf an dynamischen Rechen- und Speicherressourcen ohne allzu große Probleme zu decken. Das hängt jedoch davon ab, wie der von Ihnen verwendete Teil der Cloud konfiguriert ist und was in Ihrem Vertrag steht. Probleme können auch durch unzureichende WAN-Ressourcen entstehen, da wahrscheinlich viele Unternehmen denselben Link verwenden.
Einige der Lösungsansätze, die verhindern, dass Ihre eigene Workloads zu Noisy Neighbors für andere Nutzer werden, gelten in der Cloud genauso wie im Colocoation-Zentrum – zum Beispiel saubere Codes und Stresstests. Es gibt aber auch spezifische Strategien zum Vermeiden von Noisy-Neighbor-Problemen in der Cloud:
- Den Cloud-Vertrag verstehen. Der Vertrag mit dem Cloud-Anbieter kann je nach Modell – Plattform as a Service (PaaS) oder Infrastructure as a Service (IaaS) – enthalten, wie er mit Ihren Workloads umgehen soll, wenn sie mehr Ressourcen benötigen. Sehr wahrscheinlich ist es Ihre Verantwortung, dafür zu sorgen, dass Ihre Workloads nicht zu Noisy Neighbors werden. Zeitgleich müssen Sie sich dessen bewusst sein, wann und wie Cloud-Anbieter Workloads drosseln, um zu verhindern, dass sie andere Kunden beeinträchtigen. Außerdem sollten Sie im Blick behalten, was das Überschreiten des vereinbarten Nutzungsrahmens kostet.
- Schaffen Sie so viel Transparenz in der Cloud-Plattform wie möglich. Sie können zwar keine detaillierten Informationen über die Workloads anderer Cloud-Benutzer erhalten, doch Sie sollten in der Lage sein, die Gesamtleistung der Public Cloud zu bewerten. Auf diese Weise können Sie erkennen, wenn ein Problem vorliegt und den Anbieter bitten, nach der Ursache zu suchen.
- Informieren Sie sich, wie der Anbieter Workloads Unbeteiligter schützt. Wenn Ihre Workloads ohne eigenes Verschulden über einen längeren Zeitraum mit zu wenig Ressourcen versorgt sind, dann stimmt etwas nicht mit dem Setup der Cloud. Der Anbieter sollte in der Lage sein, Ressourcen neu zuzuweisen und Workloads mit problematischen Verhalten je nach Schwere des Problems zu drosseln, zu verschieben oder sogar herunterzufahren. Stellen Sie sicher, dass Auslöser und Zeitpläne im Vertrag aufgeführt sind.
- Nutzen Sie angemessene Ressourcengrößen und dynamische Zuweisung. Viele Cloud-Anbieter bieten statische Umgebungen mit großzügig bemessenen Ressourcen, aber einige von ihnen ermöglichen keine dynamische Ressourcenzuweisung. Achten Sie bei der Bereitstellung von Ressourcen auf hohe Flexibilität und Kontrolle. Dadurch können Sie besser eingreifen, wenn Sie feststellen, dass Sie ein Noisy Neighbor sind.
Probleme mit ressourcengierigen Workloads können Ihre Anwendungen und die Anwendungen anderer zum Erliegen bringen. Diese Probleme anzugehen, wird umso einfacher, je mehr Informationen Sie zur Bereitstellung und zur Gesamtsituation vorliegen haben.