Was ist ein Application Delivery Controller (ADC)?

Als PDF herunterladen  

Application Delivery Controller (ADC) haben sich im letzten Jahrzehnt immer weiter verbreitet. Dies liegt größtenteils daran, dass veraltete Load-Balancing-Appliances heute oft nicht mehr in der Lage sind, alle Anforderungen an die Anwendungsbereitstellung und die Anwendungs-Performance zu erfüllen.

Application Delivery Controller sind Netzwerk-Appliances, die entwickelt wurden, um die Performance, Sicherheit und Widerstandsfähigkeit von Anwendungen zu erhöhen, die über das Internet bereitgestellt werden.

Anwendungsbereitstellung

Anwendungen haben sich über die Jahre deutlich weiterentwickelt. Unter dem Begriff „Bereitstellung“ versteht man allgemein die Übertragung einer Anwendung an den Anwender in Zeiten von Mobility und Cloud. Geschäftliche Anwendungen in Unternehmen sind nicht länger nur Desktop-Software, die auf einem lokalen Server installiert wurde und auf die von Anwendern im LAN zugegriffen wird. Moderne Anwendungen müssen sich über alle Arten von Netzwerken ausführen lassen, auch außerhalb des physischen Arbeitsplatzes.

Application Delivery Controller sind ein wichtiger Teil der Infrastruktur vieler Unternehmen und sorgen dafür, dass sich Anwendungen an die heute genutzten Netzwerke und Protokolle anpassen. Sie stellen zudem sicher, dass Anwendungen mit optimaler Performance ausgeführt werden, immer verfügbar sind und keine Sicherheitsrisiken für den Anwender oder das Unternehmen darstellen.

Anwendungsverfügbarkeit

Anwender erwarten heute, dass die Endgeräte und Anwendungen, mit denen sie täglich interagieren, immer funktionieren und dass Informationen nach Bedarf sofort verfügbar sind. Diese Erwartungen übertragen sie auf andere Endgeräte und Anwendungen, die sie verwenden. Um die Mitarbeiter von heute zufriedenzustellen, müssen Unternehmensanwendungen so intuitiv und benutzerfreundlich wie diejenigen sein, die sie für private Aufgaben und zur Unterhaltung nutzen.

Viele Mitarbeiter sind nicht länger auf abgeschottete Endgeräte im Unternehmensbesitz beschränkt, sondern können ihre privaten Endgeräte nutzen, um zu arbeiten, wo immer sie wollen. Da Menschen zu jeder Tages- und Nachtzeit arbeiten können, muss die IT sicherstellen, dass die Server und Anwendungen am Arbeitsplatz rund um die Uhr verfügbar sind. Unternehmen investieren viel Geld in IT-Infrastruktur, mit der sichergestellt wird, dass Mitarbeiter bei Bedarf stets Zugriff auf Anwendungen und Informationen haben.

Server können natürlich aus vielerlei Gründen ausfallen: von mechanischen Problemen bis hin zu Überlastung und Sicherheitsverstößen. Wenn ein Server ausfällt, können Anwendungen, die auf ihm ausgeführt werden, nicht mehr genutzt werden.

IT-Organisationen können sich auf diese Situationen vorbereiten, indem sie ihre Infrastruktur ausfalltolerant auslegen. Zusätzliche Server im Rechenzentrum oder an einem externen Standort einzurichten sind typische Failover-Strategien. ADCs können dabei helfen, mithilfe eines nahtlosen Failovers die Hochverfügbarkeit von Anwendungen sicherzustellen. Dies wird erreicht, indem Anwendungs-Workloads auf ein Cluster aus aktiven Servern an einem oder mehreren Standorten verteilt werden.

Wie das Load Balancing von Servern hilft

Server Load Balancing hilft beim Verteilen des Traffics auf ein Server-Cluster, um die Nutzung zu optimieren, die Reaktionsfähigkeit zu verbessern und die Verfügbarkeit zu erhöhen.

Ein Application Delivery Controller nutzt Algorithmen und Richtlinien, um zu bestimmen, wie eingehender Anwendungs-Traffic verteilt wird. Das Rundlauf-Verfahren (Round Robin) ist eine ziemlich einfache Form des Load Balancing. Hierbei werden Client-Anfragen nacheinander an die einzelnen Server weitergeleitet. Diese Methode geht davon aus, dass alle Server identisch sind: Sie berücksichtigt weder Zustand noch Reaktionsfähigkeit. Ein Administrator kann zusätzliche Richtlinien einrichten, die Server auf bestimmte Kriterien hin überprüfen, bevor sie entscheiden, an welchen Server die eingehende Anfrage gesendet werden soll. Der Application Delivery Controller kann die Paket-Header nach Stichworten oder angeforderten Dateitypen durchsuchen und die Anfrage anhand dieser Informationen an den geeigneten Server weiterleiten.

Abbildung 1: ADC stellt durch aktives Monitoring sicher, dass Anfragen zu verfügbaren Servern gesendet werden

Application Delivery Controller werden auch besonders wegen ihrer Monitoring-Funktionen benötigt. Diese Funktionen für die Überwachung des Systemstatus und -zustands eines Servers gehen über den Standard-Ping hinaus. Wenn sich beim Monitoring herausstellt, dass ein Server ein Problem hat oder bestimmte Systemkriterien, die die Zuverlässigkeit eines Servers bescheinigen, nicht erfüllt werden, leitet der ADC den Traffic zu einem alternativen Server um, sodass eine mögliche Unterbrechung vermieden wird (siehe Abbildung 1).

Application Delivery Controller können zudem Echtzeit- und Verlaufsanalysen für Anwender- und Netzwerk-Traffic bereitstellen, darunter Statistiken für Paketumlaufzeiten, Bandbreitennutzung sowie Rechenzentrums- und WAN-Latenzen. Diese Informationen helfen Help-Desk-Mitarbeitern dabei, Zeit bei der Identifizierung einer Problemursache einzusparen und Anwendern eine schnellere Lösung zu bieten.

Server Load Balancing über mehrere Standorte

Load Balancing ist ein wichtiger Service in jedem Rechenzentrum mit hohem Datenaufkommen. Ein Application Delivery Controller kann Traffic jedoch auch zu einem Server-Cluster in einem ganz anderen Rechenzentrum weiterleiten. Dies wird Global Server Load Balancing genannt. Die Server im anderen Rechenzentrum können einen weiteren ADC als Front-End verwenden, der gemeinsam mit der ersten Appliance arbeitet. Diese beiden Standorte können entweder für den Aktiv/Passiv- oder Aktiv/Aktiv-Modus konfiguriert werden. Letzterer ermöglicht es, dass an beiden Standorten aktiver Support für eingehenden Traffic geboten wird. Jeder Application Delivery Controller erkennt, welchem Rechenzentrum ein Anwender am nächsten ist und leitet die Client-Anfrage zu einem Server in diesem Rechenzentrum weiter. Durch diesen Prozess werden die Latenz und die Paketumlaufzeiten für Anwenderanfragen minimiert, um einen besseren Benutzerkomfort zu ermöglichen.

Diese Konfiguration ermöglicht auch Business Continuity, sollte ein Rechenzentrum komplett ausfallen. Wenn Datenverkehr zu diesem Rechenzentrum geleitet wird, leitet der ADC ihn zu einem verfügbaren ADC an einem verbundenen Standort um. Dieser ADC kann den Datenverkehr dann an einen funktionierenden Server weiterleiten.

Anwendung-Performance

Wenn die Performance von Anwendungen den Erwartungen von Anwendern nicht gerecht wird, kann ihre Produktivität signifikant darunter leiden. Ein Application Delivery Controller kann zahlreiche Mechanismen einsetzen, um die Anwendungs-Performance zu verbessern, besonders in mobilen Netzwerken und Netzwerken mit hoher Latenz.

Load Balancing von SQL-Datenbanken ist ein Mechanismus, der zu Performance-Steigerungen führen kann. Das SQL Load Balancing nutzt viele der Techniken, die beim Load Balancing von TCP-Traffic genutzt werden, setzt diese aber auf Datenbankebene um. Für jede SQL-Transaktion wird eine richtlinienbasierte Logik eingesetzt. Dadurch wird die Anzahl der Anfragen und Verbindungen verbessert, die innerhalb des Datenbank-Clusters verarbeitet werden können.

Andere übliche Services zur Optimierung der Anwendungs-Performance, die Application Delivery Controller ermöglichen, sind das Offloading von rechenintensiven Aufgaben, Verbindungs-Multiplexing, Komprimierung und Caching.

SSL und TLS sind Voraussetzungen für geschäftliche Transaktionen über das Internet. Traffic mit neuen Verschlüsselungen zu managen ist sehr rechenintensiv. Application Delivery Controller können besonders hohe Mengen an verschlüsseltem und nicht verschlüsseltem Traffic verarbeiten. Der ADC kümmert sich um Zertifikate und entschlüsselt Traffic, bevor er den Server erreicht.

TCP-Multiplexing ist eine effektive Methode, um große Mengen an eingehenden Server-Anfragen zu verarbeiten. Durch TCP-Multiplexing werden aktive Verbindungen zwischen dem ADC und den Servern aufrechterhalten. Sobald Traffic den ADC erreicht, nutzt dieser diese offenen Kanäle und leitet Anfragen um. Dadurch wird das ineffiziente Öffnen und Schließen jeder Transaktion vermieden, durch das die Server-Performance negativ beeinträchtigt wird.

Performance-Optimierung in mobilen Netzwerken

Application Delivery Controller können außerdem Leistungsvorteile in mobilen Netzwerken bieten. Webseiten, die für High-Speed-Internetgeschwindigkeiten entwickelt wurden, bieten oft nicht denselben Benutzerkomfort auf einem mobilen Endgerät, das sich über ein Netzwerk mit geringer Bandbreite verbindet.

Ein Application Delivery Controller kann mithilfe mehrerer kreativer Mechanismen die Bereitstellung von Webinhalten über mobile Netzwerke optimieren. Ein Beispiel ist das Domain Sharding. Die Optimierung auf der Verbindungsebene wird auf eine einzelne Domain angewandt. Inhalte auf jeder Seite werden in eine Reihe von Subdomains unterteilt, sodass eine größere Anzahl von Kanälen geöffnet werden kann. Dadurch werden die Seitenladezeiten verringert und die Performance verbessert.

Application Delivery Controller haben Einblick in die bereitgestellten Inhalte und können die Bereitstellung von Webseiten mit großen Bilddateien weiter optimieren, indem sie GIF-Dateien in das effizientere PNG-Dateiformat konvertieren.

Andere große Komponenten einer Webseite sind umfassende Skripte und CSS-Dateien (Cascading Style Sheets). ADC können diese komprimieren, indem sie überflüssige Zeichen und Leerzeichen entfernen.

Im komprimierten Zustand werden Dateien deutlich schneller über das Netzwerk übertragen. Dadurch werden Download-Zeiten erheblich reduziert.

Sicherheit von Anwendungen und Anwendern

Die Bereitstellung über das Internet brachte neue Gefahren und Sicherheitslücken mit sich, mit denen sich traditionelle LAN-basierte Anwendungen niemals befassen mussten. Während Mitarbeiter immer mobiler wurden und Remote-Zugriff auf Anwendungen und Daten benötigten, mussten IT-Administratoren strengere Sicherheitsmaßnahmen einführen, um sich vor externen Angriffen und Datenverlust zu schützen.

Application Delivery Controller fungieren als natürliches Tor oder Gateway zum Netzwerk. Sie authentifizieren jeden Anwender, der Zugriff auf eine Anwendung fordert. Wenn die Anwendung SaaS-basiert ist, kann der ADC die Identität eines Anwenders mithilfe eines Active Directory-Datenspeichers im Rechenzentrum validieren. Dadurch müssen Anmeldeinformationen nicht in der Cloud gespeichert werden. Die macht den Prozess nicht nur sicherer sondern verbessert auch den Benutzerkomfort, da ein Single Sign-On für mehrere Anwendungen ermöglicht wird.

SAML, das auf XML basierende Protokoll, wird nun weithin verwendet, um den Anmeldeprozess für Anwendungen zu vereinfachen. Der ADC kann als SAML-Agent agieren und Anwender über Datenspeicher identifizieren und ihnen Berechtigungen erteilen. Einige Anwendungen erlauben die Nutzung von Anmeldedaten über Webseiten wie Facebook oder Google+, um die Identität zu validieren, bevor der Zugriff ermöglicht wird. ADC können in dieser Hinsicht als SAML-Identitäts- oder Service Provider agieren.

DDoS-Angriffe (Distributed-Denial-of-Service) haben drastisch zugenommen. Webinhalte von Unternehmen werden besonders häufig angegriffen, mit dem Ziel, ihre Server zu überlasten, sodass der Geschäftsbetrieb zum Stillstand kommt. Der ADC kann Maßnahmen zur Ratenbegrenzung implementieren, um interne Serverressourcen vor diesen speziellen Angriffen zu schützen. Wenn eine ungewöhnlich große Anzahl an eingehenden Anfragen auftritt, kann der ADC diese Anfragen drosseln und die von ihnen verbrauchte verfügbare Bandbreite minimieren oder die Anfragen komplett verwerfen.

Application Delivery Controller vereinen Load Balancing und fortschrittlichen Layer-7-Schutz – Funktionen, die traditionell nur in eigenständigen Lösungen verfügbar waren. Anwendungs-Firewalls können Datenpaket-Header nach verdächtigen Inhalten oder bösartigen Skripten durchsuchen, die von der Netzwerk-Firewall eventuell nicht entdeckt werden (siehe Abbildung 2).

Abbildung 2. Layer-7-Schutz, der die Fähigkeiten einer Netzwerk-Firewall übersteigt

1 Jonathan Keane. Anzahl der DDoS-Angriffe im zweiten Quartal 2015 auf Rekordniveau. Digital Trends. 19. August 2015. http://www.digitaltrends.com/computing/ddos-attacks-hit-record-numbers-in-q2-2015/

Ein Application Delivery Controller unterstützt sowohl positive als auch negative Sicherheitsmodelle. Wenn ein ADC in den „Lernmodus“ gesetzt wird, kann er den Datenverkehr analysieren, um Anwendungsmuster einer normalen Verwendung zu bestimmen. Wenn eine böswillige eingehende Anfrage z. B. über SQL Injection oder Cross-Site Scripting gesendet wird, wird diese automatisch vom ADC gekennzeichnet und blockiert. Der ADC kann zudem signaturbasierte Schutzfunktionen durch die Integration von Sicherheitslösungen von Drittanbietern wie Qualys integrieren. Durch die Kombination dieser Schutzmaßnahmen kann der ADC ein umfassendes Hybrid-Sicherheitsmodell für Anwendungen und Anwender ermöglichen.

Wie geht die Entwicklung im ADC-Bereich weiter?

ADC bieten IT-Organisationen bereits erhebliche Vorteile, indem sie die sichere Bereitstellung von Anwendungen und Daten an den Anwender garantieren. Sie werden sich jedoch weiterhin an die immer fortschrittlicheren Anwendungen anpassen. Software-definierte Netzwerke stellen hohe Anforderungen und setzen voraus, dass auch ein Application Delivery Controller als Service ablaufen kann. Da Netzwerkprotokolle anwendungsorientierter werden, müssen auch ADC sich anpassen und sich selbst automatisieren, um eine einfache Optimierung und zuverlässigen Schutz für jede Art von Anwendungen zu bieten.

Nächster Schritt