Verbetering beschikbaarheid van online diensten

DOS aanvallen komen veel voor, dagelijks zijn hierdoor vele websites, en andere online toepassingen, slecht bereikbaar. Er zijn echter ook andere redenen waarom websites niet te bereiken zijn of waarom online applicaties niet werken, bijvoorbeeld door defecte hardware of vastgelopen processen. Een methode om dergelijke calamiteiten te omzeilen wordt hieronder beschreven.

De bekende spreuk luidt, dat elke ketting zo sterk is als de zwakste schakel. Voor hosting is dat niet anders. Uiteindelijk gaat het om de beschikbaarheid van de gehele omgeving die de website, inclusief applicaties serveert. Met andere woorden, we hebben te maken met een complexe keten.

Virtualisering en beschikbaarheid
In de sector wordt vaak beweerd dat gevirtualiseerde oplossingen, zoals VMware, bijdragen aan een hogere beschikbaarheid van webservers en achterliggende applicaties, terwijl dit soort oplossingen niets anders doet dan virtual machines (VM’s) leveren. De software biedt weliswaar de mogelijkheid de beschikbaarheid van deze VM te verhogen, maar het blijft beperkt tot een hogere serverbeschikbaarheid. Het versterkt daarmee slechts één schakel in de gehele keten van applicatie beschikbaarheid.

Standaard configuratie en beschikbaarheid
Een typische configuratie voor een VM omgeving bestaat uit een cluster met aantal fysieke hosts (servers). De hosts verzorgen de processor capaciteit en het geheugen. Deze servers zijn verbonden met een SAN storage waar de virtuele disks van de uiteindelijke virtuele machines zitten. Als een fysieke host (server) in een VM cluster uitvalt wordt dit door de software gedetecteerd. De getroffen VM’s starten dan ogenblikkelijk op een andere host op. Aangezien de data op de storage staat en deze weer vanaf iedere host bereikbaar is kan de VM op de andere host meteen verbinding leggen met de juiste virtual disk. Deze functionaliteit werkt echter alleen in geval van een hardware storing. Als een applicatie service of proces vastloopt, zal de meeste VM software dit niet detecteren laat staan actie ondernemen. Dit moet op een andere manier afgehandeld worden.

Een mogelijkheid die de software van VMware biedt is Fault Tolerant (FT). Hierbij wordt een kopij van de primaire VM gecreëerd op een andere host. Deze twee VM’s worden over een apart netwerk real-time gesynchroniseerd. Dat de capaciteit van de verbinding waarover gesynchroniseerd wordt bij deze oplossing van groot belang spreekt voor zich. Mede hierdoor is deze oplossing minder geschikt in situaties waarbij de primaire en secundaire server bij verschillende datacenters zijn ondergebracht. Daarnaast zijn er nog twee punten van aandacht: niet alle applicaties en databases zijn geschikt om gebruikt te worden in combinatie met VMware FT en deze software werkt alleen in geval van een hardware storing. Als een applicatie service of proces vastloopt wordt dit niet gedetecteerd.

De oplossing: load balancing
Een oplossing die (in de praktijk) goed werkt, is het inzetten van software, zoals boven beschreven, in combinatie met load balancers. Hierbij worden de VM’s achter een load balancer geplaatst. In die setting zijn de server beschikbaarheid functies van VMware te combineren met de applicatie beschikbaarheid die een load balancer kan leveren.

Indien een host in het cluster uitvalt zal VMware High Availability (HA) de virtuele server op een andere host opnieuw starten. Doordat de load balancer detecteert dat de server down is zullen de sessies omgeleid worden naar de andere VM. De gebuiker van de dienst ondervindt minimale tot geen hinder van de hardware uitval.

Doordat beide VM’s autonoom draaien zal er in het geval van een storing, die wordt veroorzaakt doordat een proces of de applicatie ‘crasht’, alleen de getroffen server uitvallen. De dienstverlening blijft draaien op de andere server(s). Dit in tegenstelling tot VMware FT waarbij in het geval van een crash van een proces of applicatie beide VM’s down gaan.

De inzet van een load balancer biedt nog meer voordelen. Allereerst is er de schaalbaarheid. Door het simpele toevoegen van een extra VM en het koppelen van deze VM aan real-IP’s (verwijzing van load balancer naar een fysieke server) op de load balancer kan er snel extra capaciteit toegevoegd worden. Daarnaast kan de totale capaciteit van de VM’s groter zijn dan de maximale grootte van één fysieke host dan in situaties waarin slechts voor de software oplossing is gekozen.

Conclusie
Serverbeschikbaarheid is maar één schakel in de totale beschikbaarheid van een applicatie. Door het toevoegen van load balancing functionaliteit kan naast de serverbeschikbaarheid ook de applicatiebeschikbaarheid verhoogd worden. Als hoge beschikbaarheid van een applicatie een vereiste is, dan is het verstandig de (additionele) investering in een load balancer te overwegen en die af te zetten tegen de investering in uitsluitend virtualisering software.


Marc Rolsma is Technical Director bij WideXS. Hij heeft een technische achtergrond en is al meer dan 15 jaar werkzaam in de ICT. Altijd vanuit het werkveld van services. Na 9 jaar networking ervaring nam hij de verantwoordelijkheid op zich voor de ontwikkeling van nieuwe diensten en het beheer van de infrastructuur bij WideXS. De laatste jaren is Marc met zijn team vanuit technisch oogpunt verantwoordelijk voor de volledige operatie en innovatie van de dienstvelening en infrastructuur van WideXS en haar klanten.

Over Marc Rolsma

Laatste artikelen