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

Microsoft möchte mit Coco den Blockchain-Einstieg erleichtern [14.08.2017]

Microsoft möchte Firmen den Einstieg in die Blockchain-Welt mit seinem 'Coco-Framework' erleichtern. Während aktuelle Blockchain-Protokolle oft komplexe Entwicklungstechniken erfordern, um die operativen und sicherheitsrelevanten Anforderungen von Unternehmen umzusetzen, verringere das Coco-Framework diese Komplexität etwa durch die Automatisierung von Bereitstellungsprozessen der Infrastruktur sowie die sichere Integration in Bestandssysteme. [mehr]

Notebook nicht nur fürs Auge [2.08.2017]

Toshiba baut sein Angebot an Business-Notebooks um die Modellreihe 'Tecra X40-D' aus. Punkten will der Hersteller unter anderem mit erweiterten Sicherheitsfunktionen wie dem SecurePad mit Fingerabdruckleser und dem schlanken und leichten Design. [mehr]

Frohen SysAdmin Day [28.07.2017]

Tipps & Tools

Erste Hilfe bei hängenden Windows-Updates [18.08.2017]

Auf einem Windows-10-PC, der länger ausgeschaltet war, laufen die Windows-Updates nicht mehr richtig durch und bleiben irgendwann hängen. Im Netz gibt es Dutzende von Tipps, was in so einem Fall zu tun ist. Ein erster Ansatz besteht darin, die Windows-Update-Optionen anzupassen. [mehr]

Download der Woche: Ultracopier [14.08.2017]

Die Bordmittel von Windows bieten sich für häufige Kopiervorgänge nur eingeschränkt an. Mit dem kostenfreien Tool 'Ultracopier' können Sie die Standard-Kopierfunktion durch ein Programm mit erweiterten Funktionen ersetzen. So lässt sich mit Ultracopier die Kopiergeschwindigkeit bei Bedarf begrenzen und der Kopiervorgang pausieren sowie wieder aufnehmen. [mehr]

Buchbesprechung

Datenschutz-Grundverordnung

von Niko Härting

Anzeigen