Fachartikel

Loadbalancing in der AWS-Cloud

Pfad-basiertes Routing war bisher das Mittel der Wahl, um mit dem AWS Application Load Balancer ein Elastic Load Balancing für den Cloud-Traffic zu gewährleisten. Damit können Administratoren für jede Art Anfrage genau die passende Processing-Umgebung festlegen. Seit Kurzem gibt es jedoch im Kosmos von Amazon Web Services eine weitere Art des Routings. In unserem Fachartikel erklären wir im Detail, welche Funktionen sie bietet und wie die Administration aussieht.
Mit dem Application Load Balancer von AWS ist es möglich, den Traffic basierend auf der Applikationsarchitektur zu verteilen.
Geht es um große Web-Plattformen, sind Microservices das Mittel der Wahl. Kleine Applikationen, die jeweils in einem eigenen Prozess laufen, ermöglichen schnellere und unkompliziertere Anpassungen an neue Anforderungen und insgesamt agilere Entwicklungen. Dabei kommen häufig Container-Lösungen wie Docker zum Einsatz, in denen sich Microservices einfach verpacken lassen.

Bislang war es schwierig, einen Microservices-Ansatz mit den Vorteilen des Loadbalancing, also der Verteilung des Traffics auf mehrere Systeme, zu kombinieren. Mit dem neuen Application Load Balancer von Amazon Web Services (AWS) geht das viel einfacher. Der Vorteil des neuen Angebots: Der Application Load Balancer analysiert die URL und entscheidet anhand dieser Informationen, wohin der Traffic geschickt werden soll. Das Verfahren können Entwickler beispielsweise für eine Web-Applikation nutzen, die in verschiedene Teile segmentiert ist. So kümmert sich etwa ein Teil um die User-Verwaltung, also etwa alle URLs, die mit "/user" anfangen. Ein anderer Teil ist mit der Auslieferung von Content beschäftigt und ein dritter Teil ist für die Assets verantwortlich.
(Auf)teilen und herrschen
So ist es über den Application Load Balancer möglich, den Traffic basierend auf der Applikationsarchitektur zu verteilen. Zugleich stellt auch die Aufteilung in Microservices kein Problem dar. Ein Webshop kann beispielsweise seine drei Services "Ansehen des Produktkataloges", "Bestellungen verwalten und betrachten" und "als neuer Benutzer registrieren" in drei Microservices unterteilen. Anhand unterschiedlicher URLs (etwa "www.shop.de/account", "www.shop.de/bestellungen" und "www.shop.de/register") ist der Service dann klar segmentiert. Mit Hilfe des Application Load Balancers ist es in diesem Szenario möglich, getrennte Infrastrukturen laufen zu lassen und diese von einem gemeinsamen Loadbalancer aus anzusprechen. Darin unterscheidet sich die AWS-Lösung von herkömmlichen Loadbalancern.

Der Application Load Balancer unterstützt das WebSocket Protokoll und HTTP/2 und arbeitet auf dem Application Layer. Beim Content-basierten Routing lassen sich Web Requests auf mehrere Services beziehungsweise Container aufteilen, je nachdem, wie der Request aufgebaut ist. Das reduziert die Komplexität einer Anwendung erheblich – die Entwicklung erfolgt einfacher.

Das Werkzeug bietet hohe Verfügbarkeit, eine automatische Skalierung und robuste Sicherheit durch Unterstützung von VPCs und HTTPS. Ebenso lässt sich ankommender Applikations-Traffic über mehrere EC2-Instanzen in verschiedenen Verfügbarkeitszonen routen, um gegen Rechenzentrums-weite Ausfälle geschützt zu sein. Gleichzeitig ist ein permanentes Monitoring zum Status einzelner Services möglich. Der Application Load Balancer ist in eine Reihe von AWS-Services integriert. Dazu gehören Auto Scaling, AWS CloudFormation, Amazon EC2 Container Service (ECS), AWS Certificate Manager, AWS CodeDeploy und AWS Identity and Access Management (IAM).

Loadbalancing jetzt auch Host-basiert
Vor Kurzem wurde der Application Load Balancer durch eine weitere Routing-Option erweitert. So ist es nun möglich, dort Regeln zu erstellen, die den ankommenden Traffic auf Basis des Domain-Namens, der im Host Header spezifiziert ist, zu routen. So können Anfragen an "api.beispiel.de" an eine Zielgruppe geroutet werden. Anfragen an "www.beispiel.de" landen an einer anderen Stelle. Alle sonstigen Anfragen lassen sich automatisiert an eine dritte Stelle leiten. Zudem lassen sich Regeln anlegen, die das Host-basierte Routing mit der Pfad-basierten Variante kombinieren. Somit könnte zum Beispiel eine Anfrage für "api.beispiel.de/production" an eine andere Stelle geleitet werden als diejenigen für "api.beispiel.de/sandbox".

In der Vergangenheit haben einige AWS-Kunden mehrere Proxy-Server betrieben und exklusiv für das Host-basierte Routing genutzt. Mit der Einführung des Host-basierten Routings im Application Load Balancer ist dieser Umweg nicht länger nötig. Schließlich kann das Routing direkt über Application-Load-Balancer-Regeln erfolgen. Indem dieser Layer entfällt, wird die Architektur wesentlich einfacher und der operative Overhead verkleinert sich. Außerdem werden Kosten für die nicht länger benötigte Proxy-Schicht gespart.

Fazit
Gerade Nutzer von Containern profitieren von Features wie Port Mapping, umfangreichen Statusmeldungen (health checks) und der Nutzung von Pfad und Host-basiertem Routing für ein vereinfachtes Service Discovery. Dadurch können Microservices einfach in vielen individuellen Containern vom Amazon EC2 Container Service (ECS) verwaltet und gemeinsam konsolidiert und effizient auf Amazon EC2 betrieben werden, ohne den Überblick zu verlieren, weil sie von einfach verständlichen Host- und Pfad-basierten URLs aus ansprechbar sind, auch wenn sie über dynamisch zugeordnete Port-Nummern angesprochen werden. Das hilft Entwicklern und Administratoren, das Service-Discovery in einer Microservices-Umgebung stark zu vereinfachen.
19.07.2017/ln/Constantin Gonzalez, Principal Solutions Architect bei Amazon Web Services

Nachrichten

Kleiner IoT-Server von QNAP [12.12.2017]

QNAP präsentiert mit 'QBoat Sunny' einen kleinen und gleichzeitig leistungsstarken IoT-Mini-Server unter der Firmware QTS Lite. Entwickler im Bereich Internet der Dinge können mit dem Server eine Verbindung zu vielseitigen IoT-Entwicklungsboards, Geräten und Anwendungen herstellen. [mehr]

Tablet für harte Umgebungen [7.12.2017]

Mit dem 'Caterpillar T20' fällt der Startschuss für ein neues Tablet, das extremen Belastungen standhalten und sich daher ideal für den Außeneinsatz eignen soll. Zu den Highlights zählen Wasserdichtigkeit, Stoßfestigkeit, ein helles Spezialdisplay und ein extrem leistungsfähiger Akku. [mehr]

Tipps & Tools

Powerbank im Fake-Autoschlüssel [9.12.2017]

Wenn Ihnen die derzeit angebotenen Powerbanks für Gadgets entweder zu bieder oder zu poppig sind, sollten Sie sich den schicken Zusatzakku in Form eines modernen Autoschlüssels genauer ansehen. Das Zubehör steht sowohl mit Lightning- oder Micro-USB-Anschluss zur Verfügung und muss weder in der Hosentasche noch dem Rucksack verstaut werden – hängen Sie es einfach an den Schlüsselbund. [mehr]

Bildsauger mit Ausschlusskriterien [8.12.2017]

Wer zu Recherchezwecken oder für Präsentationen eine größere Anzahl von Bildern von einer Webseite speichern muss, verfällt schnell in Monotonie. Wenn Sie die Auswahl sowie den Download vereinfachen wollen, kann das kostenfreie Tool '1A Bildsauger' weiter helfen. Das Programm dient dem automatisierten Herunterladen der Bilder einer Website, beschleunigt den Vorgang um einige Stunden und erlaubt das Vorgegeben unterschiedlicher Kriterien. [mehr]

Ab in den Schuber! [4.12.2017]

Buchbesprechung

Citrix XenMobile 10

von Thomas Krampe

Anzeigen