Mit Application Performance Management (APM) Cloud-Engpässe beheben

Application Performance Management (APM) lässt sich auch für Cloud-Apps verwenden. Oberstes Ziel ist es, Leistungsengpässe der Anwendungen zu beheben.

Eine Anwendung in die Cloud zu bringen bedeutet nicht, einfach ein Image zu generieren. Die Migration in die Cloud...

könnte die Data-Center-Infrastruktur gefährden, die die Integrität der Anwendungen sowie Leistung, Sicherheit und Compliance unterstützt. Zunächst muss aber jede Anwendung darauf getestet werden, ob sie die Unternehmensziele in der Cloud erfüllt. Application Performance Management (APM) ist hierfür sowohl ein praktischer Ansatz als auch ein Toolkit. Zudem ist es wichtig, um aktuelle APM-Praktiken in die Cloud zu übertragen und die gegenwärtige Praxis durch Cloud-freundliche Äquivalente zu ersetzen.

Traditionelles APM konzentriert sich auf die Leistungssteigerung eines oder mehrerer der folgenden Punkte:

  • Komprimierung des Traffics zur Verbesserung des effektiven Datendurchsatzes;
  • Priorisierung des zeit- oder leistungskritischen Traffics an den Zugangsknoten;
  • spezialisierter Ersatz des Transmission Control Protocols (TCP), um besser auf Paketverluste zu reagieren;
  • mehrere parallele Pfade durch das Netzwerk zu erstellen, um die effektive Bandbreite zu erhöhen; und
  • bessere Lastverteilung des Datenverkehrs auf mehrere Server.

All dies wird normalerweise über eine Appliance oder einen Software-Agenten an beiden Enden der Verbindung - Nutzer und Server - implementiert. Wenn der Server aber in die Cloud abwandert, kann eine solche Umsetzung problematisch sein. Dies gilt besonders, wenn Netzwerk-Appliances involviert sind. Cloud Provider erlauben es ihren Nutzern nur selten, in ihren Rechenzentren Geräte zu installieren. Und selbst wenn sie es tun, ist die Zuordnung einer Anwendung zu einer virtuellen Maschine (VM) in der Cloud problematisch.

Die Lösung dieses Problems liegt darin, statt Hardware APM-Tools zu verwenden. Aus Effizienzgründen sollte dabei das APM-Tool als Netzwerk-Middleware zur Verfügung stehen und im Image der Applikation enthalten sein. Falls gewünscht, können softwarebasierte Agenten auf der Serverseite weiterhin mit Geräten kombiniert werden. Diese Kombination kann zumindest einen Teil der Funktionen aktueller APM-Praktiken unterstützen.

Performance-Engpässe bei Cloud-Anwendungen beheben

Load Balancing birgt dabei spezifische Probleme. Nicht nur, weil Appliances wahrscheinlich nicht vom Cloud Provider akzeptiert werden. Sondern vor allem, weil sich in der Cloud mehrere Instanzen einer Appliance nicht im selben Rechenzentrum befinden dürfen. Zwar gibt es Mechanismen für softwarebasiertes, verteiltes Load Balancing mit DNS, aber das verlangt eine Optimierung der Anwendung.

Der nächste Schritt ist, sich um die Probleme der Netzwerk-Performance zu kümmern, die aus dem Cloud-Betrieb entstehen. Cloud-Anbieter stellen in der Regel eine Verbindung zum Benutzer über das Internet bereit, die Best-Effort-Services anbietet. In einem Best-Effort Service kann jede Anwendung so oft und so viele Daten senden wie sie möchte, ohne das Netzwerk benachrichtigen zu müssen. Das Netzwerk liefert die Daten aus, wenn es dazu in der Lage ist.

Wenn Unternehmen eine bessere Leistung möchten, sollten sie ein Virtual Private Network (VPN) verwenden. Der Haken: Nicht alle Cloud-Anbieter erlauben VPN-Verbindungen in ihrer Cloud. Auch wenn ein VPN unterstützt wird, kann es zu Einschränkungen bei der Nutzung von VPN-Diensten kommen. Ein VPN kann sich auf Cloud-Funktionen, wie die Verteilbarkeit von Hosting-Punkten in geographische Zonen, auswirken. Wer eine Cloud plant, muss jede VPN-Option kennen, die von jedem potenziellen Cloud-Anbieter verfügbar ist und sich über die Laufzeit solcher Vereinbarungen informieren.

Performance-Management in der Cloud kann auch Optionen bieten, die im Rechenzentrum nicht ohne weiteres verfügbar sind. Über ein Drittel der Cloud-Interessenten wollen beispielsweise "Cloud Bursting" verwenden, um Rechenzentrumsleistung als Antwort auf die zunehmende Belastung in die Cloud verschieben zu können. Viele native Cloud-Anwendungen können inzwischen "horizontal skalieren" oder automatisch neue Kopien von Apps instanziieren, um damit die Zahl der Nutzer oder Transaktionen, die bedient werden können, zu erhöhen. Die Herausforderung besteht darin, dass diese Skalierung eine sorgfältige Planung und Änderungen an den Anwendungen erfordert.

Um den Nutzen und die Anforderungen für die horizontale Skalierung zu verstehen, sollten Sie zuerst ein einfaches Workflow-Diagramm bauen. Damit lässt sich zeigen, wie ein bestimmter Nutzer oder eine Transaktion mit der Anwendung bedient wird. In vielen Fällen wird dies über einen Web-, Anwendungs- oder Datenbank-Server geschehen.

Eine Analyse der aktuellen Performance wird Ihnen zeigen, welches dieser Elemente tatsächlich Performance-Engpässe verursacht. Wenn eine bestimmte Anwendung 80% ihrer Rechenressourcen im Web-Server verwendet, während die Benutzer in Produkt-Katalogen stöbern, dann wird ein zweiter Web-Server (und Katalog) erhebliche Auswirkungen auf die Leistung der Anwendung haben. Wenn nur 20% der Zeit dort verbracht wird, wird die Bereitstellung von mehreren Kopien des Web-Servers wahrscheinlich nicht die Leistung verbessern - und das bedeutet, dass der Engpass durch etwas anderes verursacht wird.

Ein Datenbankzugriff schafft oft einen neuen Cloud-Engpass, da Unternehmen nur ungern zusätzliche Access- und Storage-Kosten zahlen und Sicherheit sowie Compliance-Risiken, die mit der Migration kritischer Anwendungsdaten in der Cloud verbunden sind, in Kauf nehmen. In diesem Fall müssen einige Cloud-Anwendungen Daten über das Netzwerk aus dem lokalen Netz ziehen. Beim Cloud Bursting ist dies fast immer erforderlich, da die Primärdaten in der Regel in dem Rechenzentrum liegen, in dem die Anwendung normalerweise läuft.

APM-Strategien planen

Entscheidend ist es, einen effizienten Datenweg zu finden. Für die Datenbankverbindung zwischen der Cloud und dem Data Center kann das bedeuten, APM-Maßnahmen hinzuzufügen. Das Problem ist, dass Kompression zu Verzögerungen führt und somit für einige Datenzugriffsstrategien ungeeignet ist.

Der beste Ansatz ist daher, den Einsatz eines Datenbank-Servers zu planen, der statt Block-Level- I/O-Befehle Queries akzeptiert. Dies wird die Datenmenge reduzieren und die akkumulierte Verzögerung beseitigen, die mit dem Verschieben einzelner Records über die Schnittstelle verbunden ist. Der Query/Result Austausch ist nicht so verzögerungsempfindlich, so dass Sie der Verbindung aus Anwendung und Datenbank zusätzlich Kompressions- und andere APM-Features hinzufügen können, um die Leistung zu verbessern.

Über den Autor: Tom Nolle ist Präsident von CIMI, einem strategischen Beratungsunternehmen im Bereich Tele- und Datenkommunikation.

Folgen Sie SearchEnterpriseSoftware.de auch auf Facebook, Twitter und Google+!

Artikel wurde zuletzt im Mai 2014 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Business-Software

0 Kommentare

Älteste Beiträge 

Passwort vergessen?

Kein Problem! Tragen Sie Ihre E-Mail-Adresse unten ein. Wir werden Ihnen eine E-Mail mit Ihrem Passwort schicken.

Ihr Passwort wurde an die folgende E-Mail-Adresse gesendet::

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchDataCenter.de

Close