Application Delivery Controller: ADC für neue Anforderungen
ADC-Geräte haben sich weiterentwickelt und bieten nun eine Vielzahl von Funktionen, etwa Web Application Firewall, Schutz vor DoS, SSL-Offload und skalierbare Performance.
Application Delivery Controller, abgekürzt ADCs, sind physische oder virtuelle Geräte, die zwischen Anwendungen und Benutzern bereitgestellt werden. Sie überwachen den Session Traffic zwischen Anwendungen und Nutzern und bieten eine breite Palette an Funktionen, um die Anwendungserfahrung der Endanwender so zu optimieren, dass der Vorgang sowohl für die Endnutzer als auch die entsprechende Anwendung oder den Service transparent ist.
Auf oberster Ebene liefert ein ADC-Gerät Load Balancing, Quality of Service (QoS), Hochverfügbarkeit und häufig Sicherheitsfunktionen mit kleinem Footprint – ein zugehöriges Gerät am anderen Ende der Verbindung ist nicht nötig. ADCs fungieren im Wesentlichen als Proxy für Anwendungsserver, so dass ein Pool von Backend-Anwendungsservern für die Nutzer aussieht wie ein einziger Anwendungsserver.
Die Load-Balancing-Funktion eines ADCs verteilt ankommende Lasten auf verschiedene Weisen. Dabei kann es sich um einen einfachen Ansatz handeln, etwa eine Round-Robin-Verteilung. Oder es wird ein komplexeres Verfahren verwendet, wie ein Alerting des ADC-Geräts vor dem Lastniveau auf Servern und Zuweisen von Sessions auf Basis der verfügbaren Ressourcen.
Application Delivery Controller verwenden unterschiedliche Methoden, zum Beispiel Heartbeats, um keinen Traffic an Server zu schicken, die nicht reagieren oder ausgefallen sind.
In der Vergangenheit wurden ADCs am Edge bereitgestellt, wo das Application Data Center mit Clients kommuniziert, die sich über ein WAN verbinden – typischerweise das Internet. Heutzutage werden Application Delivery Controller auch im Intranet von Unternehmen oder innerhalb von Cloud-Data-Centern bereitgestellt und verbinden LAN-basierte Clients mit LAN-basierten Anwendungsservern. Die meisten ADC-Geräte verwalten den Traffic zu und von Servern, die für sie lokal sind – zum Beispiel im gleichen LAN. Doch einige bieten globale Funktionen, mit denen der Traffic transparent über das WAN zu anderen Remote-Anwendungsservern umgeleitet wird.
Mit ADCs der neuesten Generation lassen sich Ressourcen von Backend-Servern sogar noch differenzierter und dynamischer nutzen. Zu diesem Zweck werden ADCs perfekt positioniert, um einen Singe Point of Service für viele Backend-Server zur Verfügung zu stellen. SSL-Offload (Secure Sockets Layer), Web Application Firewall (WAF) und verwandte Funktionen können alle im ADC implementiert werden. Dieser Ansatz ist in der Regel deutlich rentabler, als wenn jeder einzelne Server über diese Funktionen verfügt. Es ist sicherlich viel einfacher, diese Funktionen in nur einem ADC zu verwalten als separat in Dutzenden von Servern. Auf diese Weise lassen sich zudem die Ressourcen von Backend-Servern für Anwendungsdienste anstatt für Sicherheits- oder Kryptografiefunktionen nutzen.
Die Entwicklungsgeschichte von Application Delivery Controllern
In den 1990er Jahren zwang die fehlende Rechenleistung von Servern Unternehmen wie Amazon, CNN und andere dazu, große Serverfarmen zu betreiben, um Client-Anforderungen abzudecken. Allerdings war es für die Clients von Endnutzern nicht praktikabel, sich alle verfügbaren Serveradressen zu merken. Das war die Geburtsstunde des Load Balancers. Das Gerät ermöglichte es den Anwendern, zu einer bestimmten Webadresse zu navigieren, beispielsweise amazon.com, ohne dass diese Genaueres über die Server hinter den Anwendungsdiensten wissen mussten.
Bevor es ADCs gab, wurde der Traffic bei der Kommunikation zwischen Client und Server auf Layer 2 (Switching) und Layer 3 (Routing) bewegt. Die Geräte für Layer 2-3 sahen sich das Paket nur bis zur Adresse des IP-Subnetzwerks auf Layer 3 an, um Forwarding-Entscheidungen zu treffen. Auf diesem Layer ist die Anwendung nicht sichtbar. Daher konnten Switches für Layer 2-3 keine Anwendungsdienste bereitstellen.
Im Gegensatz dazu waren Load Balancer in der Lage, in das Paket zu sehen und auf relevante Anwendungsdaten zu reagieren. Wie erwähnt, war das erste Problem, das diese Geräteklasse löste, Frontend- beziehungsweise Client-Lasten durch eine Backend-Gruppe von Anwendungsservern auszugleichen. Als anspruchsvollere Funktionen hinzukamen – zum Beispiel Web Application Firewall, DoS-Schutz und SSL-Offload – verwandelten sich diese Geräte schließlich in ADCs.
Die ersten ADC-Geräte – sogar als sie mehr als nur Load Balancing boten – basierten auf angepassten ASICs (Application-specific Integrated Circuits), wodurch sie recht teuer waren. Die steigende Leistungsfähigkeit von handelsüblichen Intel-Chips wirkte sich allerdings auf verschiedene Arten auf ADCs aus. Als Anwendungsserver durch mehrere Kerne, riesige Mengen Arbeitsspeicher sowie Festplatten mit hoher Geschwindigkeit und Kapazität immer leistungsstärker wurden, sank die Zahl der für die Serverfarmen erforderlichen einzelnen Server. Infolgedessen wurde die ursprüngliche Load-Balancing-Funktion weniger wichtig – oder zumindest weniger anspruchsvoll.
Zur gleichen Zeit konnten die Anbieter dank leistungsfähigerer PCs rein auf Software basierende ADCs entwerfen, die ohne teure ASICs auskamen. Obwohl softwarebasierte ADCs sich nicht für allzu umfangreiche Installationen eigneten, waren sie drastisch günstiger und für viele Bereitstellungsszenarien brauchbar.
In den letzten Jahren trafen die zunehmende Popularität virtueller Appliances und Software-ADCs zusammen. Nun sind die meisten dieser Produkte als fertige virtuelle Appliances in Umgebungen wie Microsoft Hyper-V oder VMware ESXi verfügbar.
Die Vorteile von ADC-Geräten
Application Delivery Controller decken die folgenden Anforderungen ab:
Hochverfügbarkeit. Falls Ihre Anwendungen zwei oder mehr Backend-Server erfordern, soll die Load-Balancer-Funktionalität – mindestens – sowohl Hochverfügbarkeit als auch Server Resource Balancing beherrschen. Weil jede wichtige E-Commerce- und Unternehmensanwendung fast schon per Definition Hochverfügbarkeit benötigt, wird so gut wie jeder Kunde vom Deployment eines ADCs für externe und interne Anwendungen profitieren.
Offload. Der ADC eignet sich optimal dafür, einige Verarbeitungsaufgaben der Backend-Server zu übernehmen. Das SSL-Protokoll, das für E-Commerce-Transaktionen genutzt wird, ist ein Paradebeispiel für einen an ADCs ausgelagerten Prozess. Dadurch kann ein einziges ADC-Gerät Kryptohardware nutzen, um die SSL-Sitzung zu beenden, anstatt dass kryptografische Funktionen auf jedem Backend-Server laufen. Einige ADCs bieten Caching-Dienste, so dass die Backend-Server nicht auf wiederholte Anfragen nach denselben Daten antworten müssen. Der ADC kann bestimmte statische Daten speichern und sie im Auftrag der Server an Clients liefern.
Schutz vor Distributed Denial of Service (DDoS). Als die Stelle, an der Internetnutzer mit Anwendungen in Kontakt treten, eignet sich der ADC perfekt, um Sicherheitsdienste im Namen der Server in der Backend-Farm bereitzustellen. Der Schutz vor DDoS-Angriffen ist ein häufiger Sicherheitsdienst von ADCs. Deshalb müssen Backend-Server selbst keinen DDoS-Schutz unterstützen. Indem ADCs die Verantwortung für den Schutz von Servern vor DDoS-Attacken übernehmen, erhöhen sie gleichzeitig die Verfügbarkeit einer Anwendung.
Der ADC-Markt allgemein und führende Anbieter
Vor einigen Jahren war der Markt für Application Delivery Controller ausschließlich dem Premiumsegment vorbehalten, da alle ADCs ASIC-basiert und entsprechend teuer waren. Heute finden sich ADC-Geräte sowohl im Highend-Segment für große E-Commerce-Sites als auch im mittleren Marktsegment als Lösung für kleine und mittlere Unternehmen, die geringere Performance-Anforderungen und ein kleineres Budget haben.
Citrix, F5 Networks und Radware Corp. waren in Gartners Magic-Quadrant-Bericht von 2016 unter den marktführenden ADC-Anbietern, A10 Networks wurde hierin als Marktherausforderer beschrieben. Alle bieten Highend-Systeme mit hoher Performance und haben ihr Produktportfolio diversifiziert, so dass virtuelle Appliances ebenfalls zur Produktpalette zählen.
Anbieter wie Array Networks Inc., Barracuda Networks und Kemp Technologies konzentrieren sich auf das mittlere Marktsegment. Diese Unternehmen begannen mit dem Verkauf von hardwarebasierten Produkten – gelegentlich mit Boards, die sich für den Offload eigneten –, bieten mittlerweile aber auch rein softwarebasierte Versionen.
Avi Networks und NGINIX liefern Software, die nur auf Commodity-Servern läuft.
Zu guter Letzt hat das Wachstum von Cloud Computing Produkte entstehen lassen, die lediglich für die Nutzung in der Cloud existieren – zum Beispiel Amazon Web Services Elastic Load Balancer und Microsoft Azure Load Balancer. Diese werden nicht als anspruchsvollere ADCs vermarktet, sondern als einfache Load Balancer.
Folgen Sie SearchNetworking.de auch auf Twitter, Google+, Xing und Facebook!