Suchen

Definition Was ist ein Application Delivery Controller (ADC)?

Ein Application Delivery Controller (ADC) ist ein Netzwerkgerät, das zwischen Firewall und Anwendungsservern installiert ist. Es verwaltet die Clientverbindungen und sorgt für eine sichere und performante Bereitstellung der Anwendungen. Typische Funktionen sind Loadbalancing, Caching und Komprimierung.

Firma zum Thema

Die wichtigsten IT-Fachbegriffe verständlich erklärt.
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - stock.adobe.com)

Die Abkürzung ADC steht für Application Delivery Controller und lässt sich mit "Kontrollinstanz zur Anwendungsauslieferung" übersetzen. Es handelt sich um ein Netzwerkgerät, das typischerweise hinter einer Firewall und vor der demilitarisierten Zone (DMZ; Demilitarized Zone) mit ihren Anwendungsservern installiert ist.

Der Application Delivery Controller kann als physisches Gerät, als Softwarefunktion oder als virtueller Service realisiert sein. Er ist in der Lage, viele Clientverbindungen zu verwalten und die Auslieferung der Anwendungsdaten über diese Verbindung zu steuern und zu sichern. Unter anderem regelt er den Datenfluss zwischen Servern und Clients und verteilt die Last. Weitere Funktionen sind Caching, Kompression der übertragenen Daten und das Monitoring der Server.

Ziel ist es, die Performance, Sicherheit und Verfügbarkeit der Anwendungen zu steigern. Die zentrale Lage des ADC unterstützt die Erreichung dieser Ziele. Häufig kommen Application Delivery Controller bei Cloud Providern zum Einsatz. Sie sorgen dort für beschleunigte, hochverfügbare Anwendungen und ermöglichen ein einfaches Skalieren der Leistung. Hersteller von ADC-Lösungen sind beispielsweise A10 Networks, Citrix oder NGINX.

Die verschiedenen Funktionen eines Application Delivery Controllers

Es existiert keine allgemeingültige Definition, welche Funktionen ein ADC unterstützt. Die Lösungen der verschiedenen Hersteller bieten teils unterschiedliche Funktionsumfänge. Eine der zentralen Funktionen des Application Delivery Controllers ist das Loadbalancing. Es verteilt die vielen Anfragen der Clients nach bestimmten Algorithmen auf die Anwendungsserver. Neben einfachen Round-Robin-Verfahren kommen Verteil-Algorithmen zum Einsatz, die die unterschiedlichen Auslastungen und Kapazitäten der Server oder Informationen des HTTP-Headers berücksichtigen.

Eine weitere wichtige Funktion des Application Delivery Controllers ist das Caching. Hierbei werden von den Anwendungsservern gelieferte Inhalte lokal vom ADC zwischengespeichert und den Clients zur Verfügung gestellt. Dies reduziert die Last der Server und beschleunigt die Auslieferung der Daten.

Viele ADCs unterstützen die Komprimierung von Anwendungsdaten. Beispielsweise werden Bilder, Videos oder JavaScript-Code vor der Auslieferung an die Clients komprimiert. Dadurch reduziert sich die Netzlast und die Übertragungsgeschwindigkeit der Anwendungsnachrichten steigt.

Gängige Praxis ist es für Application Delivery Controller, durch Offloading von SSL-Prozessen die Server von Ver- und Entschlüsselungs- oder Authentisierungsaufgaben zu entlasten. In diesem Fall fungiert der ADC gegenüber dem Client als SSL-Endpunkt der Verbindung.

Weitere Funktionen des Application Delivery Controllers sind:

  • Web Application Firewalling
  • Rate Shaping
  • Dynamic Site Acceleration (DSA)
  • Front-End Optimization (FEO)

Was sind die Vorteile beim Einsatz eines Application Delivery Controllers?

Durch den Einsatz eines Application Delivery Controllers ergeben sich zahlreiche Vorteile für die Anwendungsbereitstellung und -auslieferung. Die Vorteile liegen in diesen Bereichen:

  • Optimierung der Performance
  • Steigerung der Sicherheit
  • Steigerung der Verfügbarkeit
  • Einsparung von Netzwerkressourcen

Zentral oder über das Internet bereitgestellte Anwendungen müssen hohe Anforderungen hinsichtlich Verfügbarkeit und Performance erfüllen. Durch die intelligente Verteilung der Clientanfragen, Caching, Komprimierung und die Entlastung der Server durch Funktionen wie SSL-Offloading werden die Anwendungsdaten mit höherer Geschwindigkeit und Zuverlässigkeit bereitgestellt. Gleichzeitig können die Server mit ihren Ressourcen mehr Clients bedienen, da ihnen der ADC Aufgaben abnimmt. Beispielsweise übernimmt der Application Delivery Server das rechenintensive Ver- und Entschlüsseln von Daten oder kümmert sich um die Prüfung und Bereitstellung von Zertifikaten.

Ein weiterer Vorteil ist die verbesserte Sicherheit durch den Einsatz eines Application Delivery Controllers. Dank seiner zentralen Lage fungiert der ADC als Kontrollpunkt für alle Verbindungen. So kann er beispielsweise die Rolle des SSL-Endpunkts übernehmen und Daten ver- und entschlüsseln oder Clients authentifizieren. Steigen die Anfragen von außen auf ein ungewöhnliches Maß an, da beispielsweise ein Distributed Denial-of-Service-Angriff (DDoS) im Gange ist, erkennt das der Application Delivery Controller und trifft geeignete Gegenmaßnahmen. Darüber hinaus sind viele ADCs in der Lage, Angriffsmethoden wie SQL-Injection oder Cross-Site-Scripting (XSS) zu erkennen und abzuwehren.

Um die Verfügbarkeit der Anwendungsserver zu steigern, beherrschen Application Delivery Controller verschiedene Failover-Strategien. Sie können die Anwendungslast flexibel, intelligent und nahtlos auf Server an verschiedenen Standorten verteilen. Selbst der Ausfall eines kompletten Rechenzentrums lässt sich abfangen. Zur Optimierung der Verfügbarkeit sind zudem die Möglichkeiten des ADC im Bereich Server-Monitoring nutzbar. Der ADC erkennt Probleme eines Anwendungsservers und verteilt die Clientanfragen automatisch an fehlerfrei arbeitende Server. Das Monitoring basiert nicht nur auf dem Layer 2 oder Layer 3 des OSI-Schichtenmodells, sondern bezieht die Anwendungsebene mit ein. Auf Basis der bereitgestellten Statistiken über Antwortzeiten und Server- oder Netzwerkauslastung lassen sich Engpässe oder Probleme identifizieren und beseitigen.

Die Komprimierung von Daten und das intelligente Handling der TCP-Sessions helfen, Netzwerkressourcen einzusparen. Insbesondere, wenn Clients über mobile Netzwerke zugreifen, ergeben sich enorme Vorteile. Es kommen Techniken wie das Domain Sharding zum Einsatz. Mit der Technik kann das Laden von Inhalten auf mehrere Subdomains verteilt werden, wodurch sich die Seitenladezeiten durch parallele Datenübertragungen reduzieren.

(ID:45804317)

Über den Autor