Jest to rozwiązanie, w którym dostajemy Load Balancer, WAF, GSLB. Rozwiązanie możemy postawić zarówno w każdej dostępnej Chmurze, jak i we własnym Data Center, a do tego posiadać centralną konsolę do zarządzania. Dużym plusem rozwiązania jest to, że dostajemy bardzo fajny moduł analityczny, w którym możemy sprawdzić, jak działa nasza aplikacja z perspektywy samej aplikacji, użytkownika czy sieci.
Na starcie możemy powiedzieć, że mamy 2 wersje Basic oraz Enterprise. W wersji basic dostajemy wszystkie funkcjonalności, takie same jak w NSX Load Balancerze, który za chwilę zostanie zastąpiony. W wyższej wersji dostajemy, z kolei wszystkie funkcjonalności. Poniżej tabelka z porównaniem wersji.
Basic | Enterprise | |
L7 Load Balancing | Częściowo | Full |
SSL/TLS | Częściowo | Full |
L3/4 Policies | Częściowo | Full |
L7 Policies | Częściowo | Full |
Application Rate Limiting | Brak | Full |
DDoS Protection | Brak | Full |
Global Server Load Balancing | Brak | Full |
Intelligent Web Application Firewall | Brak | Full |
Service Type LB | Brak | Full |
Container Ingress | Częściowo | Full |
Administration | Częściowo | Full |
Application Visibility / Analytics | Full | |
Scale and HA | Częściowo | Full |
Flexible upgrades | Brak | Full |
Ecosystem automation | Częściowo | Full |
License / Entitlement | As a part of NSX-DC ADV/ENT License | NSX-ALB Enterprise License |
Rozwiązanie AVI jest bardzo elastycznym oraz skalowalnym rozwiązaniem poprzez swoją budowę i składa się z 2 elementów.
Controller, jest elementem odpowiedzialnym za centralne zarządzanie rozwiązaniem poprzez GUI, CLI czy REST API. Dzięki otwartemu podejściu do zarządzania możemy wykorzystać narzędzia: Ansible, Terraform do konfiguracji. Controller integruje się z rozwiązaniami takimi jak:
Dzięki takiej integracji możemy prowadzić orchiestrację dla Service Node.
Całe przetwarzanie analityczne oraz wyświetlanie informacji odbywa się z poziomu Controllera. Controller może zostać skonfigurowany w wersji standalone i jak wysokiej dostępności poprzez klaster trzy nodowy. Przy klastrze wszystkie nody klastra przetwarzają informacje poprzez dzielenie się zadaniami, jeden z nodów jest tzw. liderem.
Ciekawym podejściem jest to, że w ramach jednego kontrolera możemy tworzyć wiele „tenantów”. Jest to wygodne rozwiązanie, przykładowo dla wielu zespołów, które jednocześnie konfigurują rozwiązanie.
Kolejnym atutem jest zastosowanie data scriptu, który pozawala na modyfikowanie nagłówków z poziomu skryptu. Jest to wykorzystanie języka LUA.
Service Engine (SE) jest natomiast elementem odpowiedzialnym za przetwarzanie informacji w funkcji Load Balancer, GSLB czy Web application firewall. Cała konfiguracja SE jest wypychana z Controllera. Service Engine (SE) może mieć postać wirtualnej maszyny, kontenera czy fizycznego serwera. SE możemy mieć w trybie „standalone” czy HA w trybie A/A czy A/P. Sam SE jest skalowany w ramach licencji poprzez dodanie zasobów czy dodanie wielu SE do architektury.
Pojedynczy Service Engine w konfiguracji 1 vCPU ma wydajność:
1 Core | |
L4 | 5Gbps |
L7 RPS | 50000 |
L7 | 3Gbps |
SSL | 1 Gbps |
SSL TPS ECC | 2000 |
SSL TPS RSA | 750 |
Warto dodać, że w ramach jednego kontrolera może pracować maksymalnie 200 SE, możemy zbudować fajne rozwiązanie przy takiej architekturze.
Przy założeniu, że dysponujemy pełną licencją, rozwiązanie AVI ma dużo funkcjonalności z podziałem na funkcje:
Load Balancer
Security
Analityka
Tyle byłoby słowem wprowadzenia w rozwiązanie AVI, w kolejnym wpisie skupimy się na przygotowaniu środowiska oraz samej instalacji Controllera.