North Trade Building
T +32 (0) 3 275 01 60
Noorderlaan 133/8
F +32 (0) 3 275 01 69
B-2030 Antwerpen
www.nucleus.be
kiNEpoLiS.CoM: StEEdS bESChikbaar EN bErEikbaar iN dE ‘CLoUd’ Sinds november 2011 draait de kinepolis.com infrastructuur bij Nucleus. kinepolis, met 23 bioscoopcomplexen in belgië, frankrijk, Spanje, polen en zwitserland, heeft Nucleus gekozen voor de hosting van al hun websites. Samen zijn deze kinepoliswebsites goed voor ruim 100.000 unieke bezoekers per dag, een veelvoud aan pageviews, massa’s video downloads en continue online reserveringen. De websites zelf maken verder ook gebruik van een eigen banner/advertentie systeem dat nieuwe films promoot of andere topics de nodige commerciële aandacht kan geven. Per film kan er verder ook gekozen worden om de trailers in 480p high definition te streamen vanaf de website. De belangrijkste doelstelling is om elke bezoeker snel toegang te bieden tot zijn/haar (gepersonaliseerde) content en dan zo vlot mogelijk naar de ticketverkoop door te verwijzen. Gelet op het belang van de online ticket verkoop voor Kinepolis, kreeg Nucleus de uitdaging om een “always on” hosting model op te stellen.
jo de pelsmaeker,
voorbereiden, waarop we onze nieuwe
oplossing kon aanbieden.
iCt Competence Centre
consumentenwebsite zouden bouwen.
Ondertussen hebben ze de daad bij
Voor enkele belangrijke eisen moest de
het woord gevoegd. De infrastructuur
leverancier zelf een garantie voorstellen.
stond er op de afgesproken deadline
“Midden 2011 stelden we zeven
Onvoorspelbare pieken opvangen
en op incidenten en aanpassingen
leveranciers voor een ernstige
bijvoorbeeld of snel reageren op
wordt snel en professioneel
uitdaging: op iets meer dan
onverwachte situaties. Nucleus was één
gereageerd. Kinepolis.com heeft
een maand tijd moesten ze een
van de weinige leveranciers die daarvoor
met Nucleus zijn veilige thuishaven
uitgebreide virtuele omgeving
op basis van ruime ervaring een correcte
gevonden.”
Manager bij kinepolis:
NUCLEUS | Hosting Solution Builder
1
Meerdere servers en proactieve monitoring: hardware falen uitgesloten
en een cluster van Red Hat Enterprise Linux systemen. De keuze van Apache werd in dit geval gemaakt om de web ontwikkelaars de vrijheid te geven nog steeds via
Alle servers die in dit project gebruikt worden, worden
.htaccess bestanden selectief configuratie-onderdelen
door Nucleus beheerd in haar public Cloud. De Nucleus
van PHP en Apache te overschrijven. Een alternatieve
public Cloud is een VMWare omgeving uitgebouwd op
configuratie had bijvoorbeeld uit Nginx en PHP-FPM
tientallen servers en storage clusters.
kunnen bestaan.
Op deze manier is elke vorm van hardware falen uitgesloten. Als er een fysische machine faalt, worden
Load balancing nodig
de Cloud servers onmiddellijk op andere hardware binnen de public Cloud overgenomen. Uitgebreide resource monitoring maakt het eveneens mogelijk om flexibel en schaalbaar in te spelen op de wisselende noden van Kinepolis. Er kan zowel scale up als scale out toegepast worden. Proactieve monitoring van zowel de Cloud systemen als de applicatie zelf, waarschuwt de Nucleus NOC 24/7 van (dreigende) problemen, waardoor bijkomend manueel kan ingegrepen worden door de Nucleus systeembeheerders.
Een site van deze orde van grootte heeft nood aan load balancing om de belasting te spreiden over meerdere systemen. Zo volstaat één webserver niet om alle
Drupal als basis: flexibel contentmanagement maar toch schaalbaar
bezoekers te bedienen. Meerdere webservers moeten
De Kinepolis website is volledig gebouwd op Drupal 7.
Die load balancer zal een bezoeker naar één van de
De vele plugins en uitbreidingen aan Drupal gaven de
beschikbare webserver nodes sturen om het verzoek
web ontwikkelaars een stevige basis om de website
te verwerken. Als één van die webservers toch
verder te ontwikkelen.
onbereikbaar zou worden, wordt die automatisch uit
worden ingeschakeld na een load balancer die de workload verdeelt over de actieve webservers.
de pool van beschikbare nodes gehaald zodat de load Door te kiezen voor Drupal werd geopteerd de Kinepolis
balancer geen nieuwe verzoeken lanceert naar dat
infrastructuur uit te bouwen met PHP, MySQL, Apache
systeem. Voor de bezoeker van de site gebeurt dit volledig transparant. Een load balancer zorgt dus niet enkel voor de verdeling van de workload, maar tevens voor high availability (hoge beschikbaarheid van het systeem) en failover.
North Trade Building | Noorderlaan 133/8 | B-2030 Antwerpen T +32 (0) 3 275 01 60 | F +32 (0) 3 275 01 69 | www.nucleus.be
NUCLEUS | Hosting Solution Builder
2
Redundantie troef
Een opgesplitste database: een bijkomende veiligheid
De gehele omgeving voor Kinepolis is gebouwd met maar één doel voor ogen: altijd beschikbaar zijn. De website geldt immers als het belangrijkste middel om cinema tickets te verkopen. Daarom wordt elke server in de infrastructuur dubbel uitgevoerd om redundantie te garanderen en de site beschikbaar te houden. De achterliggende database voor Kinepolis wordt Zo zijn er ook meerdere load balancers die in een
voorzien door MySQL als de-facto keuze voor Drupal.
Active/Passive configuratie staan. Beiden bevatten
We maken gebruik van MySQL replicatie om meerdere
dezelfde configuratie, maar slechts één is er altijd
database servers te voorzien: één master en meerdere
actief. Bij het falen van één van de load balancers zal
slave servers.
de andere het automatisch overnemen. Bij zo’n failover gaan ook de IP adressen automatisch mee naar de
Alle schrijf-bewerkingen (Update, Delete, Insert)
nieuwe load balancer zodat de gebruiker geen last heeft
worden naar de master database gestuurd en
van DNS aanpassingen.
gerepliceerd naar de slaves. Alle lees-bewerkingen gaan naar de slave database server(s). Doordat de site voornamelijk bestaat uit lees-bewerkingen kunnen die
De juiste webserver voor de juiste taak
perfect opgevangen worden door de slave database
De Kinepolis omgeving maakt gebruik van meerdere
De meest frequente data wordt ondertussen ook in
webservers: Apache en Lighttpd. De Apache server
Memcached ondergebracht om het aantal queries op de
behandelt alle dynamische verzoeken. Elke pagina
database tot een minimum te beperken.
servers.
die dus door PHP verwerkt moet worden komt op de Apache webserver uit.
To cache or not to cache, steeds even snel Kinepolis biedt haar bezoekers de mogelijkheid om in te loggen en een persoonlijke account aan te maken met eigen filmvoorkeuren. Niet iedereen heeft echter zo’n account, wat maakt dat je de bezoekers kan opdelen in 2 grote groepen: anonieme bezoekers of ingelogde gebruikers. Alle statische inhoud (afbeeldingen, css, javascript-
Een anonieme bezoeker ziet steeds dezelfde pagina .
bestanden, trailers, ...) worden door Lighttpd verwerkt.
Of men nu anoniem vanaf het werk of van thuis de site
Dat is een lightweight webserver die ideaal geschikt
bezoekt, de homepage en alle film-pagina’s zijn gelijk.
is om statische content aan te leveren. Hier wordt
Een ingelogde gebruiker kan pagina’s personaliseren.
nergens PHP verwerking gedaan.
Dat betekent dat een ingelogde gebruiker een unieke
North Trade Building | Noorderlaan 133/8 | B-2030 Antwerpen T +32 (0) 3 275 01 60 | F +32 (0) 3 275 01 69 | www.nucleus.be
NUCLEUS | Hosting Solution Builder
3
site te zien krijgt, enkel en alleen voor hem/haar.
Na de succesvolle staging volgt een deploy naar de live omgeving.
De pagina’s voor anonieme bezoekers kunnen we dus in een “cache” plaatsen, zodat die niet telkens helemaal
Deze stappen worden mee begeleid door het devops
gegenereerd moet worden door PHP. We doen dat door
team van Nucleus zodat er reeds in een vroeg stadium
gebruik te maken van een Varnish caching server die de
een stevige samenwerking is tussen systeembeheerders
pagina’s uit die cache kan aanleveren aan de gebruiker.
en ontwikkelaars. Dit spoort niet alleen tijdig
Het betekent een grote snelheidswinst voor zowel de
bottlenecks op, maar zorgt ook voor dual way feedback
bezoeker (die krijgt de pagina veel sneller te zien) als
over de optimalisatie van code én systemen.
de server (want die krijgt veel minder PHP pagina’s te verwerken). Tegelijk betekent die caching een verlaging
Door diezelfde samenwerking van de developers bij
van de belasting op de hele omgeving: als er minder
de webbouwer en de operators bij Nucleus kan er kort
pagina’s door PHP verwerkt moeten worden, zullen er
op de bal gespeeld worden om technische problemen
ook minder MySQL/memcached requests zijn en dat
snel en to-the-point op te sporen. De techies begrijpen
ontlast de hele infrastructuur.
elkaar en communiceren zo in hun eigen taal.
Op deze manier blijven er voldoende resources over voor het genereren van de gepersonaliseerde pagina
Conclusie
voor de ingelogde gebruikers, zodat zij ook geen snelheidsverlies opmerken.
Kortom, de nieuwe web infrastructuur van Kinepolis komt perfect tot zijn recht bij Nucleus. Door de nauwe samenwerking met de webbouwers, het bewezen Cloud platform van Nucleus en de know-how die intern aanwezig is kunnen we garanderen dat de Kinepolis site de hoogst mogelijke beschikbaarheid krijgt.
Meer informatie? Heeft U een project waarbij schaalbaarheid en uptime belangrijk zijn? Of wenst U advies over hoe
Geen development zonder goede staging
uw infrastructuur optimaal zou kunnen draaien in een datacenter zodat U kosten kan besparen?
De webontwikkelaars maken aanpassingen aan de website(s) eerst op lokale machines. Vervolgens wordt
Contacteer ons:
een “release” gemaakt die naar de staging server wordt
www.nucleus.be
gezet, waar een kopie van de hele infrastructuur op
[email protected]
draait: van Varnish caching tot Apache, PHP, MySQL
03/275.01.60
en Memcached. Een goede staging omgeving moet namelijk een correcte representatie zijn van de echte
Download gratis “Het is Cloudy vandaag” op
omgeving.
www.nucleus.be/cloudy
North Trade Building | Noorderlaan 133/8 | B-2030 Antwerpen T +32 (0) 3 275 01 60 | F +32 (0) 3 275 01 69 | www.nucleus.be
NUCLEUS | Hosting Solution Builder
4
Over Nucleus Nucleus is een hosting solution builder. Dat wil zeggen dat Nucleus gespecialiseerd is in professionele hosting, gaande van shared hosting oplossingen en domeinnamen tot complexe colocation, managed dedicated en Cloud server oplossingen. Als Hosting Solution Builder levert Nucleus adequate hosting oplossingen op maat van de klant. Het hoofdkantoor van Nucleus is gevestigd te Antwerpen en het bedrijf opereert vanuit vier onafhankelijke datacenters (Antwerpen, Diegem, Nossegem en Zaventem). Nucleus beheert momenteel meer dan 1600
North Trade Building
T +32 (0) 3 275 01 60
servers binnen zijn netwerk en heeft een redudante
Noorderlaan 133/8
F +32 (0) 3 275 01 69
hosted Cloud oplossing.
B-2030 Antwerpen
www.nucleus.be
NUCLEUS | Hosting Solution Builder
5