Es könnte mittlerweile bis in die letzte Ecke vorgedrungen sein. VMware hat mit der Akquise von Avi Networks im Jahre 2019 einen weiteren Coup zur Erweiterung der NSX Familie gelandet. Wäre da nicht schon ein Load Balancer innerhalb der NSX Familie vorzufinden gewesen, würde sich nicht die Frage stellen: „Wieso holt sich VMware einen weiteren Load Balancer ins Portfolio?“ Dieser Frage möchte ich in diesem Blogbeitrag gerne auf den Grund gehen.
Stellen wir zunächst das Wissenswerte gegenüber
VMware NSX Data Center ist inzwischen zu einem weitreichenden Software Defined Networking gewachsen. Konnte es zuvor nur für den VMware eigenen Hypervisor genutzt werden, so kann es mittlerweile in unterschiedlichste Virtualisierungslösungen, wie Vmware ESXi, KVM und Kubernetes integriert werden. Hauptaufgabe ist dabei die Bereitstellung von virtuellen Netzwerk-Funktionen, sowie einer entsprechenden Netzwerk-Security, welche sich über die Integration von Drittanbietern in ihrer Funktion erweitern lässt.
Zu den virtuellen Netzwerk-Funktionen gehört unter anderem die Load Balancing Funktionalität. Das Load Balancing dient der Lastverteilung von Diensten auf eine ausgelegte Anzahl von Serversystemen im Hintergrund (Performance). Neben der Lastverteilung ist ein weiteres Hauptmerkmal die Gewährleistung einer höheren Verfügbarkeit von Diensten (High-Availability).
Die NSX Data Center Load Balancing Funktionalität wird über sogenannte Edges bereitgestellt. Genauer ausgedrückt, werden innerhalb der Edges sogenannte Service Router Instanzen gestartet, welche den LB Service beherbergen.
Der NSX Data Center (LB) unterstützt u.a. folgende Merkmale (keine vollständige Aufzählung):
- Layer 4 – TCP / UDP
- Layer 7 – HTTP / HTTPS
- Server pools – Static und Dynamisch mit NSGroup
- Persistence – Source-IP und Cookie persistence mode
- Health check monitors – Active Monitor (HTTP, HTPPS, TCP, UDP, and ICMP) und passive Monitor
- SNAT – Transparent, Automap und IP List
- In-line und One-arm mode
- WebUI und API
Da sich Load Balancer zu einer zentralen Netzwerk-Komponente bei der Kommunikation mit Diensten/Anwendungen entwickelt haben, wurden Stück für Stück neue Features in den Load Balancer implementiert. Die dadurch gewonnenen neuen Möglichkeiten entpuppen sich nun zu einem Application Delivery Controller (ADC), einer zentralen Service Komponente die dem Ziel dient, Anwendungen so modern, agil, transparent und sicher wie möglich bereitzustellen.
VMware NSX Advanced Load Balancer (ehemals auch bekannt als Avi Networks Plattform) ist ein Distributed Application Delivery Controller (ADC). Der VMware NSX Advanced Load Balancer wurde mit dem Fokus entwickelt, sich in unterschiedlichste Cloud Infrastrukturen integrieren zu können. Daher ist die Wahl zu einer reinen Softwarelösung nicht schwergefallen. VMware NSX Advanced Load Balancer basiert auf einer SD Architektur, das bedeutet, getrenntes Management, Control und Data Plane, was ihm einen sehr flexiblen Einsatz ermöglicht. Ausstattungen wie eine Intelligent Web Application Firewall (iWAF), erweiterten Analyse-Funktionen, Data-Script Funktionalitäten, nativen Cloud und Infrastruktur Integrationen, automatische/elastische Deployments und vieles mehr lassen den ADC zu einer flexiblen Lösung mit hohem Einsatzgrad reifen. Getreu dem Motto „Any application on any cloud, running on VMs, containers, or bare metal.“
Der NSX-T Advanced Load Balancer unterstützt u.a. folgende Merkmale (keine vollständige Aufzählung):
- Identischen Funktionsumfang von NSX Data Center (Load Balancer)
- Layer 7 – DNS, SIP, …
- Global Server Load Balancing
- Cloud/Infratsruktur Integrationen – VMware, Kubernetes, AWS, GCP, Cisco APIC, Microsoft Azure, Openstack, und weitere
- Auto-Discovery (Networks, Pool Members, Server Configuration, etc.)
- Data Script – Load Balancing nach eigenen Vorgaben
- Intelligent Web Application Firewall
- End-To-End Visibility und Analytics (Troubleshooting)
- (Predictive) Auto-Scaling von Anwendungen
Technisch gesehen unterscheiden sich beide Lösungen deutlich voneinander, was sowohl den Funktionsumfang als auch deren Architektur betrifft. Dabei ist der NSX Advanced Load Balancer eine schöne Ergänzung der NSX Familie und folgt dem Bestreben der VMware Vision – Any Cloud, Any Application, Any Device…
Wann entscheide ich mich für welche Lösung?
Die Frage kann mit einer pauschalen Aussage leider nicht beantwortet werden. Die individuellen Gegebenheiten einer Infrastruktur sollten im Vorfeld einer Anschaffung genau betrachtet werden.
Ist bisher noch keine Load Balancing Komponente im Einsatz oder soll ausschließlich eine vorhandene Load Balancing Komponente abgelöst werden, bietet sich wahrscheinlich der Einsatz von NSX Advanced Load Balancer an. Kostentechnisch liegt der Einstieg hierbei unter dem Einstieg des NSX Data Center. Das ist nachvollziehbar, denn das NSX Data Center bietet insgesamt einen größeren Funktionsumfang, auch wenn es auf die LB Funktionen reduziert, hintenansteht.
Ist bereits NSX Data Center im Einsatz, so sollte genau betrachtet werden, welcher Umfang eines Load Balancers tatsächlich genutzt werden soll. Nicht selten kommt es vor, das reines TCP oder HTTPS Load Balancing einer einfachen Anwendung ausreichend ist.
Als Leitfaden könnte folge Formulierung dienen – „Je komplexer die zu lösende (Load Balancing) Aufgabe, desto wahrscheinlicher wird der Einsatz von NSX Advanced Load Balancer.“