Ik krijg geregeld de vraag naar het ‘server park’ waarop de services van Coret Genealogie, zoals Genealogie Online en het Stamboom Forum draaien. In juni 2009 schreef ik reeds twee artikels op Blog Coret over met name de software:
Tijd voor een vervolg, waar ook het ‘ijzer’ de revue passeert. Let op: alleen voor techies.
Hardware, dedicated
De eerste ‘server’ was een stevige thuis PC die via een consumenten Internet verbinding service leverde. Een dergelijk opstelling was genoeg om websites beschikbaar te maken.
Met de groei van services en gebruik hiervan schakelde ik over op virtual private servers. Naast de flexibiliteit kwam er door plaatsing in een commercieel datacentre ook verbeterde bandbreedte en IPv6 connectivity. Maar op een gegeven moment waren het er een stuk of 4 wat het beheer er niet makkelijker op maakte. Ook de beperktere I/O snelheid en opslag van VPS-en begon een bottleneck te worden.
De volgende stap was een stevige dedicated server in hetzelfde datacentre. Door nieuwe softwarecomponenten ontstond de behoefte om services te verdelen, wat een tweede dedicated server betekende. De specificaties zijn gekozen voor enerzijds webserver (veel opslag) en database/searchserver (veel geheugen). Een derde ‘server’ is puur voor de back-up faciliteit.
Software, open-source
Qua operatingsystem heb ik de voorkeur voor Linux Debian, dit is in de afgelopen 10 jaar niet veranderd. Een ontwikkel/testmachine op basis van Oracle VM VirtualBox met Debian image is ook in een handomdraai opgezet.
Qua software componenten vormen Perl en PHP ook al jaren de basis. De dynamische pagina’s die gegenereerd worden via PHP, achter de Apache webserver, worden ondersteund door Memcache. De statische content wordt geserveerd via Lighttpd.
Grootste wijzigingen de afgelopen tijd hebben zich op het vlak van databases en search enige voltrokken. Apache Solr is de full-text search server die tegenwoordig gebruikt wordt (dus niet meer Swish-e).
Lange tijd heeft MySQL dienst gedaan als database. Echter, door de overname van Oracle van MySQL wordt het open-source karakter aangetast, ook de doorontwikkeling lijkt te stagneren. Vandaar de overstap naar drop-in-replacement MariaDB, een open source fork van MySQL. Naast een relationele database is er ook de noSQL documenten database MongoDB in gebruik genomen, zodat er complexere map/reduce acties uitgevoerd kunnen worden op grote datasets.
Services
Tenslotte nog iets over de gebruikte services. In de 2 blog artikels werd er melding gemaakt van gebruik van Amazon S3 en Amazon Cloudfront (als content delivery network). Dit was een leuk experiment. Alhoewel de services van Coret Genealogie veel bezoekers hebben (ongeveer 300K unieke bezoekers en 7M paginaweergaven per maand) is het gebruik van dedicated servers in een datacentre qua kosten en performance (mits je slim gebruik maakt van caching en je bijv. Javascript & CSS bestanden minified) toch in het voordeel boven Amazon (of Google App Engine).
Andere (gratis) services, zoals Google Analytics, Google Feedburner en Scribd worden nog steeds naar tevredenheid gebruikt.