Revive Adserver hosting platform en techniek

Het uitgangspunt bij het ontwerp van ons Revive Adserver hosting-platform is geweest dat high volume en high availability gecombineerd moest worden. Daarom is een architectuur ontwikkeld waarin alle onderdelen minimaal dubbel zijn uitgevoerd.

Architectuur van het Revive Adserver hosting platform

hosting-platform-architectuur-schema

Schematische weergave van de architectuur van het Revive Adserver platform

De architectuur bestaat uit een aantal afzonderlijke lagen die elk een eigen specifieke taak hebben. Het schema laat zien hoe deze lagen en onderdelen met elkaar samenwerken (klik op de afbeelding voor een vergroting).

Het ontwerp is gemaakt op basis van het principe dat taken met specifieke kenmerken moeten worden afgehandeld door servers die daarvoor het meest geschikt zijn. Daarom is er onderscheid gemaakt in database servers, PHP servers en image servers.

Door de essentiële onderdelen van het platform altijd minimaal dubbel uit te voeren ontstaat redundantie, waarmee er bij een eventuele storing aan een onderdeel altijd capaciteit beschikbaar blijft door andere onderdelen die dezelfde taken hebben.

Daarnaast is er gezorgd voor schaalbaarheid doordat de delen van het systeem die de verwerkingscapaciteit bieden bestaan uit parallel geschakelde componenten waarvan er al naar gelang de behoefte meer kunnen worden bijgeplaatst.

Hieronder worden alle onderdelen van het Revive Adserver hosting platform nader toegelicht.

High availability database servers

De onderste laag bestaat uit twee krachtige database servers. De gegevens worden continue tussen beide servers gesynchroniseerd, waardoor ze op elk moment elkaar werkzaamheden kunnen overnemen. De servers monitoren elkaar voortdurend. Als bemerkt wordt dat een van de servers meer dan 10 seconden niet of te traag reageert, dan wordt het IP adres van deze server volautomatisch verplaatst naar de andere server. De virtuele servers op de bovenliggende laag krijgen daardoor vanzelf weer toegang tot de databases. Tegelijkertijd worden de technici gealarmeerd die de storing onderzoeken en herstellen. Zodra de server weer goed functioneert wordt deze weer in het platform geactiveerd. De gegevens worden weer gesynchroniseerd tussen de twee servers, waarna beiden weer ter beschikking staan.

High volume PHP servers (delivery nodes)

Op de tweede laag bevinden zich meerdere virtuele servers die de aanvragen voor banners ontvangen en verwerken. Elk van deze virtuele servers heeft contact met de database servers op de onderste laag, via het high availability mechanisme dat hierboven al beschreven is.

De virtuele PHP servers zijn identieke klonen van elkaar. Afhankelijk van de behoefte aan verwerkingscapaciteit worden er virtuele servers bij- of afgeschakeld. Dat maakt het mogelijk om snel en eenvoudig de capaciteit van het platform te vergroten.

Deze virtuele PHP servers zijn geconfigureerd voor optimale prestaties van de PHP programmeertaal van Revive Adserver. Ze maken gebruik van technieken zoals Memcached en PHP acceleration.

High capacity PHP server (management node)

Voor de medewerkers die inloggen op Revive Adserver om campagnes te beheren en statistieken te bekijken is een aparte virtuele server opgezet. Deze server voert ook elk uur het ‘maintenance proces’ van Revive Adserver uit. Omdat dit proces bij grotere Revive Adserver installaties een aantal zeer zware berekeningen moet uitvoeren, heeft de management node extra veel geheugen.

High volume Apache servers (image nodes)

Op de tweede laag bevinden zich ook een aantal virtuele servers die alleen maar als taak hebben om alle afbeeldingen (plaatjes en Flash ads) uit te leveren. De afbeeldingen die op management node worden toegevoegd via de gebruikersinterface van Revive Adserver worden automatisch naar alle image nodes gekopieerd. Deze virtuele servers zijn speciaal geconfigureerd om op grote snelheid afbeeldingen uit te leveren. In feite zijn het eenvoudige servers met voornamelijk het Linux operating system en een Apache webserver. Ook hier geldt weer dat er snel capaciteit kan worden bij geschakeld als dat nodig is, omdat de image nodes identieke klonen van elkaar zijn.

Load balancers

Op de derde laag staan de zogenaamde ‘load balancers’, dat zijn de werkverdelers die de aanvragen voor banners verdelen over de virtuele servers. Ook de load balancers zijn feitelijk dubbel uitgevoerd, en ze monitoren elkaar om er voor te zorgen dat eventuele verstoringen direct ontdekt worden.

Als een load balancer bemerkt dat een van de virtuele servers niet goed functioneert, dan wordt deze tijdelijk uit het werkproces gehaald, waarna er tijd is om de virtuele server te herstellen. Dit gaat doorgaans automatisch, maar als dat nodig is wordt een technicus ingeseind die de storing zal verhelpen. Zodra de load balancer ziet dat de virtuele server weer online is gekomen zal deze weer worden bijgeschakeld in het werkproces.

Monitoring en notificaties

Alle servers en apparaten worden voortdurend in de gaten gehouden door een monitoring systeem op basis van Nagios software. In geval van problemen gaan er direct per sms en e-mail alarmeringen naar de technici van het hostingbedrijf. Daar is 24/7 een bezetting.

Daarnaast wordt de performance van alle onderdelen van het platform continue gemeten en in grafieken weergegeven met behulp van Cacti.

Revive Adserver hosting informatie aanvragen

  • Welke ad server gebruikt u op dit moment?
  • Hoeveel impressies heeft u (ongeveer) per maand?
  • Wij sturen een ontvangstbevestiging naar dit e-mail adres.
  • In eerste instantie ontvangt u informatie per e-mail, maar als dat nodig is zullen wij u eerst bellen om uw situatie nader af te stemmen.
  • Vermeldt eventuele details die relevant zijn voor uw situatie.