De capaciteit van de infrastructuur van reserveringswebsite Booking.com is de afgelopen jaren vertienvoudigd. Dat levert niet alleen hoofdbrekens op over onder andere stroomverbruik, maar vraagt ook veel van de applicaties en onderliggende architectuur. Die is bij Booking.com zoveel mogelijk gebaseerd op open source-software.
Booking.com biedt de mogelijkheid om online hotels te reserveren. "Wij contracteren hotels die hun kamers via onze site beschikbaar stellen," vertelt senior developer Herald van der Breggen. Daarmee heeft het bedrijf de afgelopen jaren een enorme groei doorgemaakt. Booking.com groeide van zeventig werknemers in 2003 naar zevenhonderd nu. Het merendeel daarvan zijn account managers die contact onderhouden met de hotels en de mensen van de klantenservice. Zij zorgen dat de boekingen goed verlopen.
"We zijn een soort zoekmachine voor hotels," legt Bert Lindner, manager ICT infrastructure, uit. "Mensen die ons bellen, bijvoorbeeld omdat ze hulp nodig hebben bij hun boeking, worden te woord gestaan in hun eigen taal. Dat ze op internet browsen en onze site weten te vinden, wil nog niet zeggen dat ze in staat zijn een elektronische boeking te doen. Bovendien ondersteunt onze website niet alle functionaliteit die klanten van ons vragen."
Gat in de markt
"Net als veel anderen zijn wij begonnen in het dotcom-tijdperk," vervolgt Lindner. "Iemand zag een gat in de hotel-markt en is daar in gesprongen. Alles werd gebouwd met Perl, MySQL en andere open source software. In 2003 is het bedrijf overgenomen door mensen die daar dezelfde ideeën over hadden. Ruim twee jaar geleden zijn we opnieuw overgenomen, nu door een club die goed is in de doorgroei van startups."
Ondanks dat het bedrijf al jaren lang enorm snel groeit, gelooft men bij booking.com nog steeds in het zo veel mogelijk zelf doen. "Wij maken nog steeds alle tools zelf," zegt Lindner, "Daarbij loop je wel het risico dat je soms te veel doet."
Desondanks zweert booking.com bij open source. "De licentie-kosten zijn maar een deel van het verhaal," aldus van der Breggen. "’Being in control’ is voor ons belangrijker dan ‘being cheap’. Als er bijvoorbeeld een bug in MySQL zit, dan kan dat heel snel worden opgelost. Dat houdt ook niet op bij hun code. Mocht die bug uiteindelijk worden veroorzaakt door een probleem in Linux, dan wordt gewoon verder gekeken. Bovendien ben je niet de enige gebruiker. Als er een probleem is, dan zijn anderen daar vaak ook al tegenaan gelopen."
Legertje programmeurs
Dat is volgens Lindner een enorm verschil met een bedrijf als SAP. "Zij leveren hun product wel op Linux, maar alleen voor een heel specifiek platform. Bovendien levert de verkoop van hun licenties al veel geld op. MySQL is voor zijn inkomsten afhankelijk van de support die ze leveren. Dat is waar zij van moeten leven."
Mocht er echt een onoverkomelijk probleem zijn, dan is er altijd nog de vrij beschikbare broncode. In theorie zou je daar een klein legertje programmeurs op kunnen inzetten of voor inhuren bij een externe dienstverlener. "In de praktijk escaleert het echter nooit zo," aldus Lindner. "Vaak is het een kwestie van contact opnemen met de makers van de software."
Beschikbaarheid van specialisten
In een ver verleden is ook nog wel eens gekeken naar Postgres, maar daar is uiteindelijk nooit wat mee gedaan. Die database is nooit echt volwassen geworden, maar een beetje in het academische blijven steken. "De replicatie van MySQL was op papier bijvoorbeeld wat minder," aldus Lindner, "maar het werkte wel."
Voor het Linux besturingssysteem heeft booking.com gekozen voor de CentOS distributie. Dat is de gratis variant van Red Hat Enterprise Linux (RHEL), die vanwege het ontbreken van het support-contract met bijbehorend prijskaartje ideaal is voor bedrijven die zelf over voldoende Linux-expertise beschikken. "De distributie maakt eigenlijk niet zo veel uit," aldus Lindner. "We hebben daarom gekozen voor een breed ondersteund platform."
Booking.com heeft ooit ook met BSD gewerkt, maar de beschikbaarheid van specialisten heeft een belangrijke rol gespeeld bij de overstap naar Linux. "Als je een oudere kernel gebruikt, maakt het niet veel uit of je voor Linux of BSD kiest. Maar er is een groot verschil in het aantal ontwikkelaars en het aantal bedrijven dat in deze besturingssystemen investeren. Daarnaast kiezen we ook voor Linux omdat het ook op grote systemen en door storage-leveranciers wordt ondersteund."
Jonge nerds
Vroeger was open source software nieuw," vervolgt Lindner, "maar de afgelopen tien jaar is er wat dat betreft veel veranderd. Nu gebruikt iedereen open source. Er is een hele generatie jonge nerds opgegroeid met Linux. Ze hebben ermee kunnen spelen en ermee leren werken. Al dat talent heeft een hoop ervaring."
Volgens Lindner ligt dat heel anders bij gesloten systemen, zoals bijvoorbeeld van Cisco. "Wij werken intern met Cisco VoIP (Voice over IP, IP-telefonie). Dat is een geweldig duur product en het is heel moeilijk om daar mensen voor te krijgen. Dat is voor Linux, Apache en MySQL veel gemakkelijker."
Naast mensen op deze expertise-gebieden heeft booking.com op dit moment zo’n dertig Perl-ontwikkelaars in dienst. Hoewel de meesten op het hoofdkantoor in Amsterdam gestationeerd zijn, werken er bijvoorbeeld ook ontwikkelaars in Portugal, Mexico en Bulgarije. "Daar zitten ook bekende Perl-mensen onder," zegt van der Breggen. "Dat trekt ook weer nieuwe programmeurs aan."
Lindner zegt op zoek te zijn naar mensen, maar ontkent dat personeelsproblemen op dit moment een rem zijn op de groei van het bedrijf. "We proberen om het niet zo ver te laten komen, maar het is wel een voortdurend punt van zorg. Al hebben we hier nog niet zulke goede koks als bij Google, je kunt hier wel veel bereiken. Verantwoordelijkheden liggen hier bij kleine groepjes op een laag niveau. Mensen hebben veel vrijheid. Wat ons interessant maakt is de combinatie van taal en schaal." Volgens van der Breggen is het verloop onder de ontwikkelaars dan ook extreem laag.
Stroomvoorziening
De schaal van het systeem is een ander belangrijk aandachtspunt bij Booking.com. De website trekt maandelijks twintig miljoen bezoekers. Dat betekent dat er op een drukke dag meer dan één miljoen bezoekers langskomen.
Om al die mensen van dienst te kunnen zijn, heeft booking.com tussen de 250 en driehonderd servers draaien. Met een groei van tientallen procenten per jaar zullen dat er alleen maar meer worden. Als gevolg daarvan heeft men de database onlangs in drieën moeten knippen. Op dit moment werkt het bedrijf dus met drie master databases die elk een deel van de gegevens bevatten. De inhoud daarvan wordt gerepliceerd naar de batterij database-servers die de back-end van de portal voeden. "We hebben op deze manier een flinke sprong kunnen maken," vertelt Lindner, "maar het zou heel goed kunnen dat we de database in de toekomst nog verder moeten opknippen."
Lindners grootste zorg voor de toekomst is de stroomvoorziening. "We doen nu voor het eerst iets met centrale opslag en blades. Blades maken het gemakkelijker om servers te vervangen. Maar we kwamen erachter dat je een rek niet helemaal vol kunt stopppen. Je moet heel goed letten op je stroomverbruik. In plaats van twee of drie kun je daarom maar één bladechassis in een rek kwijt."
Datacenters
Vanwege de groei in de aantallen bezoekers, hotels en reserveringen en het verder uitbouwen van de aangeboden functionaliteit heeft Booking.com de afgelopen jaren de capaciteit van de infrastructuur al met een factor tien moeten vergroten. "In de toekomst zullen we onze systemen over meerdere datacenters moeten verspreiden," aldus Lindner. "Voor je het weet heb je een hele grote suite."
"Op dit moment draait alles in één datacenter in Londen. We zijn nu in Amsterdam een fallback aan het inrichten. De meeste datacenters hebben problemen met hun koeling, sommige met hun stroomleverancier. Als we een nieuwe suite inrichten, moeten we zorgen voor meerdere netwerkleveranciers, en voor verbindingen naar onze kantoren en naar de fallback-locatie. Behalve met het datacenter en de carriers, praten we dus soms ook nog met een verhuurder. Dat maakt het een lastige klus."
Daarnaast heeft Booking.com er na de laatste overname een datacenter bijgekregen. Priceline.com heeft namelijk nog een dochter in Thailand. "We zijn een Europees bedrijf," zegt Lindner, "maar we willen meer." Uitbreiding naar aanpalende activiteiten zoals het boeken van vluchten is daarbij niet aan de orde. "We doen nu waar we goed in zijn, en daaraan hebben we onze handen meer dan vol. Zolang we in de hotelboekingen nog kunnen groeien, blijven we dat doen. De huidige focus zullen we voorlopig houden."
Mooi artikel over ons bedrijf. Het verbaasd me alleen dat u hotels noemt/toont die niet op onze website staan.
Geachte medewerkers/sters,
Wij zien onze omzet met sprongen omhoog gaan sinds we aangesloten zijn bij booking.com.
Met vriedelijke groet.www.pension-zonnestraal.nl De Koog Texel.
Al vele malen via Booking Com heb ik een hotel gereserveerd en steeds naar volle tevredenheid.Thans loopt er een reservering voor Hotel Nopal in Puerto de la Cruz op Tenerife van 5 December 2008 tot 4 Januari 2009. Deze boeking had als essentie ROKEN EN KAMER MET BALKON. Ik heb 3 x een e-mail naar dit hotel gestuurt om een bevestiging te krijgen over de beschikbaarheid van een KAMER ROKEN EN BALKON maar krijg geen antwoord op mijn e-mails ? De e-mails zijn verzonden naar het e-mail adres nopal@solvasa com. Ik snap niet dat men niet reageert!