michelangelus - Fotolia

Application Performance Tools für verteilte Systeme

Skalierbarkeit, Hochverfügbarkeit und gleiche Leistung unabhängig vom Ort des Zugriffs – verteilte Anwendungs-Architekturen bieten viele Vorteile.

Virtualisierung, Cloud Computing und Big Data heben verteilte Systeme (Distributed Computing) in Unternehmen auf eine neue Stufe. Mittlerweile überwiegen die Vorteile von verteilten Anwendungsarchitekturen, die Nachteile verlieren an Bedeutung.

Doch trotz all dieser Fortschritte im Bereich Distributed Computing gibt es weiterhin Bedenken. In diesem Artikel zeigen wir, welche Vorteile verteilte Systeme für die Leistung von Anwendungen bringen und warum sich die IT-Verantwortlichen von Unternehmen so stark für diese Technologie interessieren.

Darüber hinaus beschreiben wir mögliche Probleme für die Leistung verteilter Anwendungen und wie Firmen mit Hilfe von Applikations-Performance-Tools und -Techniken diese Probleme lösen können.

Darum funktioniert Distributed Computing so gut

Es gibt viele Gründe, warum die IT-Abteilungen von Unternehmen viele ihrer Anwendungen von einer traditionellen, zentralisierten Rechenarchitektur auf ein verteiltes Modell migrieren. Der am häufigsten genannte ist Skalierbarkeit. Dank der verteilten Architektur können Firmen bei Bedarf einfach horizontal auf zusätzliche Computing-Ressourcen zugreifen und diese genauso einfach wieder reduzieren. Für Anwendungen, die in Bezug auf die Anzahl der aktiven Benutzer und Leistung skalieren müssen, stellen verteilte Modelle eine gute Wahl dar.

Ein weiterer wichtiger Vorteil ist die Hochverfügbarkeit von verteilten Anwendungsarchitekturen. Code von Anwendungen im Frontend, Datenbanken, Web Services und Analytics lassen sich alle über eigene Rechenzentren, in einem Hybrid- oder Multi-Cloud-Szenario verteilen. Wenn sie richtig konzipiert sind, können diese Architekturen eine weitaus bessere Leistung und Redundanz als eine zentrale Bereitstellung von Anwendungen bieten.

Ein weiterer großer Vorteil von verteilten Architekturen im Vergleich zu älteren App-Modellen hat mit der geografischen Verfügbarkeit zu tun. Dank Trends in der Business-IT wie Mobile Computing und verteilt arbeitenden Teams ist der Zugang auf Anwendungen sowohl regional als auch international möglich. Dank Technologien des Distributed Computings wie Application Delivery Controllern (ADC) können Firmen Anwendungen in strategischen Standorten bereitstellen und mit intelligentem Load Balancing eine einheitliche Latenz und Leistung im Netzwerk erreichen, unabhängig davon, wo der Endbenutzer wohnt beziehungsweise von welchem Standort aus er auf das Firmennetz zugreift.

Checkpoints und Application Performance Management

Einige Techniken, die Entwickler verwenden, um den DevOps-Prozess zu beschleunigen, können verteilte Anwendungen behindern. Ein Beispiel dafür sind transparente Checkpoints. Ein Checkpoint stellt eine Momentaufnahme, einen Snapshot einer virtuellen Maschine dar. Ein Checkpoint ermöglicht es dem DevOps-Team, in einen früheren Zustand zurückzukehren, wenn Code-Änderungen unvorhergesehene Probleme verursachen.

Der Nachteil von Checkpoints: Da Entwickler für jede Anwendung – oftmals mehrfach – neue Checkpoints schreiben müssen, kann dies für große, verteilte Anwendungen sehr zeitaufwändig sein.

Transparentes Checkpointing ist ein Tool, das für mehrere Applikationen genutzt und wiederverwendet werden kann – und viel Zeit spart. Da sich die Anwendungen und die Infrastruktur jedoch permanent verändern, kann der Einsatz von Checkpointing-Tools zum Erstellen von Snapshots einer virtuellen Maschine zu Situationen führen, in denen Sicherheit, Speicher und Lizenzierung nicht mehr in allen Teilen der verteilten Architektur reibungslos funktionieren und sich somit negativ auf die Leistung auswirken.

Einige Techniken, die Entwickler verwenden, um den DevOps-Prozess zu beschleunigen, können verteilte Anwendungen behindern. Ein Beispiel dafür sind transparente Checkpoints. Ein Checkpoint stellt eine Momentaufnahme, einen Snapshot einer virtuellen Maschine dar. Ein Checkpoint ermöglicht es dem DevOps-Team, in einen früheren Zustand zurückzukehren, wenn Code-Änderungen unvorhergesehene Probleme verursachen.

Der Nachteil von Checkpoints: Da Entwickler für jede Anwendung – oftmals mehrfach – neue Checkpoints schreiben müssen, kann dies für große, verteilte Anwendungen sehr zeitaufwändig sein.

Transparentes Checkpointing ist ein Tool, das für mehrere Applikationen genutzt und wiederverwendet werden kann – und viel Zeit spart. Da sich die Anwendungen und die Infrastruktur jedoch permanent verändern, kann der Einsatz von Checkpointing-Tools zum Erstellen von Snapshots einer virtuellen Maschine zu Situationen führen, in denen Sicherheit, Speicher und Lizenzierung nicht mehr in allen Teilen der verteilten Architektur reibungslos funktionieren und sich somit negativ auf die Leistung auswirken.

Noch funktioniert nicht alles perfekt

Die Vorteile, die Anwendungen und die entsprechenden Application Performance Tools aus verteilten Systemen ziehen, lassen sich vor allem im Vergleich zu den Nachteilen weit besser verstehen. Der Grund: Die Probleme entstehen im Wesentlichen aufgrund der inhärenten Komplexität von verteilten Plattformen und des Anwendungscodes im Vergleich zu einem zentralisierten Anwendungs-Bereitstellungsmodell.

Zum Beispiel basieren verteilte Modelle, insbesondere diejenigen der externen Cloud-Dienstleister, auf unterschiedlichen Netzwerkinfrastruktur-Komponenten. Und obwohl Softwareentwickler versuchen, die zugrunde liegende Infrastrukturkomponenten von den oberen Schichten zu abstrahieren, wird es weiterhin Leistungsunterschiede zwischen den einzelnen Netzwerken geben.

Das Design einer Frontend- und einer Backend-Anwendung, die zusammenarbeiten, ist ein kontinuierlicher Kampf. Um hier das Gleichgewicht zu halten, müssen diese Anwendungen Daten und Steuerinformationen zwischen den Netzwerken austauschen, vor allem in Bezug auf die Planung der Ausführung, das Verwalten von Antwortzeiten und den Datenaustausch.

Außerdem fällt es nicht einfach, festzustellen, ob das beobachtete Leistungsproblem auf die Infrastruktur oder die Anwendung selbst zurückzuführen ist. Codierungsprobleme wie Datenbank-Deadlocks und ausgeschöpfte Ressourcen können zu großen Leistungsproblemen bei vielen verteilten Anwendungen beitragen. Das Problem: Verteilte Anwendungen sind nicht immer transparent bezüglich End-to-End-Anwendung und Datenfluss. Es ist durchaus möglich, dass während der Suche nach Fehlern wichtige Informationen übersehen werden. Dies wiederum kann eine Situation schaffen, in der die Suche nach einem unbedeutenden Bug für Ihr DevOps-Team zur sprichwörtlichen Suche nach der Nadel im Heuhaufen führen kann.

Verteilte Systeme, was funktioniert und was nicht.
Abbildung 1: Verteilte Systeme, was funktioniert und was nicht.

Rettet Application Performance Management den Tag?

Tools für Application Performance Management (APM) werden immer beliebter, da sie die komplexen Probleme bei der Leistung verteilter Anwendungen identifizieren und diagnostizieren. Dazu sammeln sie End-to-End-Metriken, entdecken Abhängigkeiten oder Wechselwirkungen zwischen den Anwendungen und prüfen die Funktionsweise der einzelnen Anwendungen selbst. APM behebt zwar nicht automatisch alle Probleme von verteilten Anwendungen, liefert aber die dringend benötigte Transparenz zur Leistung der Anwendungen.

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

Nächste Schritte

Anwendungs-Performance-Management: APM in komplexen IT-Umgebungen

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

Drei essenzielle Ziele für Application-Performance-Tests

So finden Sie den optimalen Application Delivery Controller für Ihr Unternehmen

Artikel wurde zuletzt im Juli 2017 aktualisiert

Pro+

Premium-Inhalte

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

Erfahren Sie mehr über Software, Tools und Utilities für das Netzwerk-Management

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchDataCenter.de

SearchEnterpriseSoftware.de

Close