Citrix lijft Cedexis in

Twee weken geleden kondigde Citrix aan Cedexis gekocht te hebben.

Ik moet bekennen dat ik persoonlijk nog nooit gehoord had van Cedexis voordat ik het tweet van Citrix  en het daarop volgende persbericht had gelezen.

In de factsheet PDF van Cedexis wordt Citrix wel al genoemd:

ADC solutions, however, including industry veterans and leaders like F5 and Citrix Netscaler, were not designed for today’s modern, distributed applications. Contemporary architecture demands a cloud-native system:  a truly software-defined delivery platform that enables IT Ops, Developers, and DevOps teams to automate and optimize without having to commit to monolithic system replacements and expenses.

De productlijn van Cedexis bestaat uit meerdere componenten die samen het Cedexis Applicatie Delivery Platform, ADP, vormen.

Je kunt de technology van Cedexis vergelijken met de navigatie app Waze.

Met Waze wordt je route in realtime dynamisch aangepast aan de hand van grote hoeveelheiden data en informatie die wordt verzameld door alle Waze gebruikers.

Die productlijn bestaat onder andere uit de volgende drie componenten:

Radar

Radar verzamelt real-time experience data van 50.000 netwerken wereldwijd. Met deze data kan het ADP de applicatie delivery voorspellen en verzekeren dat het juiste pad gekozen wordt op basis van deze al real-time data. Volgens Cedexis is Radar ’s werelds grootste user experience measurement netwerk.

Deze statistieken zijn live te bekijken via https://live.cedexis.com/

Sonar

In tegenstelling tot Radar is Sonar een real-time, synthetische monitoring oplossing die de gezondheid van de onderliggend resources analyseerd en controleerd of deze niet overbelast worden of voor onderhoud offline gehaald zijn.

Fusion

Fusion kan gebruik maken van 3rd party data voor zijn beslissingsmatrix en daarmee het optimale pad voor het verkeer uit te zetten.

Hiervoor kan bijvoorbeeld gebruik gemaakt worden van AWS Cloudwatch data of bijvoorbeeld HTTP GET metrics.

Ik ben benieuwd te zien hoe Citrix de technologie van Cedexis gaat integreren in hun bestaande Netscaler portofolio, Netscaler ADC en SD-WAN.

Citrix zou bijvoorbeeld de GSLB functionaliteit kunnen uitbreiden met de metrics van Cedexis. Voor Netscaler zou dat SD-WAN bijvoorbeeld kunnen betekenen dat de de optimale route niet alleen bepaald wordt op basis van bijvoorbeeld de kosten van de verbinding maar door gebruik te maken van Cedexis technologieën ook op basis van beschikbaarheid van de verbinding.

Loadbalancing Ivanti Relay servers

Sinds versie 2012 van RES Workspace Manager heeft RES de mogelijkheid om gebruik te maken van de optionele RES Relay servers. Hiermee verbinden de RES agents niet direct naar de database, maar via één of meerdere Relay servers. In deze blog zal ik uitleggen hoe je de Loadbalancing van de Relay servers kan regelen met behulp van de Netscalers van Citrix.

Voordelen RES relay server

Ivanti geeft aan dat in een single-site topology het gebruik van Relay servers de load op de datastore kan helpen verminderen. De Relay server chachet de informatie uit de datastore en kan hiermee een groot aantal agents bedienen.

Decreasing Datastore load and increasing scalability

Een additioneel voordeel is dat er door het te maken van meerdere Relay servers het niet noodzakelijk is om een database cluster op te zetten voor de datastore om zodoende een hoogbeschikbare omgeving verkrijgen.

De Workspace Control omgeving wordt daarnaast veiliger omdat de agents geen directe verbinding meer nodig hebben naar de database. De Relay servers maken daarentegen gebruik een environment password voor de communicatie met de Agents. Dit environment password geeft namelijk geen toegang tot de database.

Beperkingen

Het gebruik van de Ivanti Relay servers in de standaard opzet, zonder loadbalancing, heeft een aantal beperkingen.

In het eerste geval is er geen monitoring op de backend services. Daarnaast wordt er geen load distributie gedaan. Wanneer een agent verbinding wil maken met een Relay server zal hij verbinding maken met de eerste server die antwoord, ongeacht zijn load.

 Selected connection methods are handled in order of appearance; and the Agent will stop looking for additional connections as soon as a valid connection is found.

Wanneer we de Relay servers via de Netscaler Loadbalancen hebben we beide beperkingen ondervangen. Door middel van een Netscaler monitor kunnen we de status van de Relay server in de gaten houden en verkeer, in het geval van problemen, naar de Relay servers sturen die wel online zijn.

Configuratie

In de volgende alinea’s zal ik laten zien hoe een simpele loadbalancing setup voor de Relay servers opgezet kan worden. In de voorbeelden ga ik er vanuit dat er reeds een werkende Workspace Control omgeving inclusief twee of meer Relay servers bestaat evenals een Netscaler omgeving met één of meerdere Netscalers.

Stap 1

We beginnen met het aanmaken van de serverobjecten voor in de Netscaler voor de Relay servers.

Stap 2

Als de server objecten zijn aangemaakt kunnen we een monitor aanmaken. Met de monitor kunnen we de status van de Relay servers controleren en bepalen of de Relay servers gezond zijn en of we dus verkeer naar de server kunnen sturen.

Standaard gebruikt de Relay server TCP poort 1942. We kunnen dit controleren op de Relay server door de ‘Relay Server Configuration Tool’ te raadplegen

of via de commandline met ‘Netstat’

Bij het aanmaken van de monitor hoeven we enkel de poort op te geven en niet het IP adres. Wanneer we het IP adres leeg maken zal de monitor het IP adres van de serverobjecten die we in stap 1 aangemaakt hebben gebruiken.

Stap 3

Nu de we de server objecten en de monitor hebben kunnen we een Service Group aanmaken voor beide.

Koppel de twee server objecten als Service Group Member aan de Service Group.

Nu de Server Objecten gekoppeld zijn kunnen we de monitor toevoegen aan de Service Group.

Onder Service group -> Group Members -> monitor details kun je nu zien of de monitor probes succesvol zijn. Dit betekend dat de Relay server gezond is en verbindingen van de agents kan accepteren.

Indien we alles correct hebben geconfigureerd zal de Service Group de status ‘UP’ hebben.

Stap 4

Nu we de Service Group aangemaakt hebben kunnen we de loadbalancing vServer aanmaken. Hiervoor is een vrij IP adres nodig of een we kunnen een IP adres hergebruiken zolang de IP adres en poort combinatie maar uniek zijn.

Zoals je in het onderstaande afbeelding kunt zien hebben we bijvoorbeeld al een vServer voor de load balancing voor Storefront aangemaakt. Deze kunnen we hergebruiken omdat deze alleen op poort 443 luistert. Het IP adres voor de Navision vServer is bijvoorbeeld niet beschikbaar omdat we daar op alle poorten luisteren.

Als de vServer is aangemaakt zal deze zowel bij ‘State’ als bij de ‘Effective’ state de status ‘UP’ geven.

Stap 5

De volgende stap na de basis configuratie van de vServer, is het instellen van de de Load Balancing methode.

Ik heb in dit voorbeeld gekozen voor ‘leastconnection’ gekozen waardoor de load netjes over alle beschikbare Relay servers zal worden verdeeld.

Het ‘leastconnection’ algoritme zal proberen om alle verbindingen netjes over de Relay servers te verdelen. Het algoritme gebruikt de volgende expressie om te bepalen naar welke server de verbinding gestuurd zal worden:

N = het aantal actieve verbindingen

Wanneer alle Relay servers het zelfde aantal actieve verbindingen hebben zal het algoritme in Round Robin gebruiken om de load te verdelen.

Stap 6

Nu de Loadbalancing vServer is actief is kunnen in Ivanti Workspace Control de Agents laten verbinden naar het IP adres van de vServer. Desgewenst kunnen we in DNS aan A record aanmaken naar bijvoorbeeld resrelay.domein.local en op FQDN verbinden.

In de controle stap kunnen we verifiëren of de Agent nog verbinding heeft met de Relay Server en we kunnen de status controleren in de Netscaler.

Hier is nu ook te zien dat er er momenteel twee connecties zijn en dat deze netjes verdeeld zijn over de beide Relay Servers.

Meer informatie over het de installatie van Relay servers is te vinden op de Community website van Ivanti.