Met de komst van steeds meer unieke projecten hebben wij onze ervaring mogen opdoen met verschillende mooie softwarepakketten. Bij vrijwel alle implementaties was de kennis van de software al voorhanden. Door zelf te testen hebben wij onze kennis opgedaan om zowel kleine colocatie-opdrachten te realiseren als ook de grote private clouds waarbij failover centraal staat. Hieronder hebben wij een opsomming gemaakt van enkele softwarepakketten welke wij gebruiken om op softwarebasis een uitstekende bezoekerservaring te leveren.
Bent u op zoek naar een complete oplossing voor uw VPS of dedicated-/colocatieserver? Neem gerust contact met ons op of spreek ons aan via de chat.
Varnish is een krachtige en snelle reverse proxy server, die voorkomt dat Apache zich moet bezighouden met het verzorgen van vaak opgevraagde statische content. Denk bij statische content aan afbeeldingen, Flash, Javascript en css-bestanden. Met Varnish is het ook mogelijk complete pagina's te cachen, het beste is dit te combineren in een situatie waar de pagina's van te voren worden gegenereerd of waar er geen dynamische content geladen wordt. Varnish heeft een eigen cache die via een swap-file of in het geheugen wordt bijgehouden. Met een uitgebreide configuratie kan er een gemiddelde hitrate van ongeveer 90%+ behaald worden. Door deze Varnish cache voor Apache te gebruiken zal in deze situatie slechts 10% van de totale aanvragen worden doorgestuurd naar Apache, de rest zal door Varnish direct aangeleverd worden.
Nog steeds met grote voorsprong de nr.1 webserver in de Linux omgeving. Het gemak van de configuratie alsmede de beschikbare modules maken Apache de keuze voor een dynamische webserver. Het bijna niet uit de hosting te denken PHP sluit hier naadloos op aan. Qua modules zijn er voor een verbetering van de bezoeker bijvoorbeeld: mod_rewrite, mod_deflate en mod_expires. De tools om uw "Google PageSpeed ranking" te verbeteren. Als beveiliging wordt vaak de hulp van de mod_security module aangeroepen om kwaadwillende bezoekers te weren. Wij beschikken over uitgebreide geteste configuraties voor deze en de overige populaire Apachemodules.
Keepalived is een routing software die voor services zoals Apache, MySQL en andere Linux daemons kan worden gebruikt. Het belangrijkste doel waar wij deze software voor gebruiken is failover, een hoge beschikbaarheid voor Linux gebaseerde services. De Keepalived daemon houdt via een configuratie bij welke servers er beschibaar zijn en welke de hoogste prioriteit hebben om de taak aan te leveren aan de eindgebruiker. Door middel van een Heartbeat principe wordt er elke seconde gekeken welke servers er nog beschikbaar zijn. Via een virtueel IP kan elke server die aangewezen is in de configuratie snel worden aangesproken om de taak uit te voeren. Deze software is ideaal voor MySQL clusters, Fileservers en andere redundant gehouden servers.
Elke (web-)developer kent MySQL, tot op de dag van vandaag het nr.1 database management systeem op het internet. MySQL is gebaseerd op de structured query language die in 1986 ANSI en in 1987 ISO standaard werd. In de loop der jaren hebben wij standaardconfiguraties gemaakt voor verschillende groottes in database-server formaat. Met gebruik van replicatie en failover kan MySQL continu voorzien van de databaseaanvragen van webservers.
De relatief nieuwe webserver Lighttpd brengt veiligheid, snelheid, compliance, en flexibiliteit. Zoals de makers zelf zeggen herdefiniëren ze de efficiëntie van een webserver, het is ontworpen en geoptimaliseerd voor hoge prestatieomgevingen. Met een kleine memory footprint in vergelijking met andere web-servers, effectief beheer van de cpu-belasting en geavanceerde feature set is lighttpd de perfecte oplossing voor elke server die snel statische content(afbeeldingen, flash, pdf, html, etc.) wilt serveren aan de bezoekers.
Het softwarepakket DRBD is ontworpen om als bouwsteen te fungeren voor High Availability (HA) clusters. Dit wordt gedaan door het spiegelen van elk blok op de hardeschijf. Zodoende wordt er een netwerk-gebaseerde RAID-1 formatie gecreëerd van de configureerde partitie/data over een reeks van servers. Alleen al in combinatie met Keepalived kan er zo een HA cluster worden gerealiseerd. Deze data kan daarna worden geserveerd door een daemon zoals Apache of bijvoorbeeld MySQL.
Een Loadbalancer draagt zorg voor het verdelen van de workload en het controleren van de huidige status en stand van load op alle aanwezige Slaves. Door een loadbalance situatie kunt u uw diensten over meerdere servers verspreiden, zodoende is het bijvoorbeeld mogelijk om een webserver op te delen in meerdere servers die dezelfde website(s) en pagina's serveren. Deze service kan toegepast worden voor Apache, Lighttpd, MySQL, etc.
Met memcached is het mogelijk om een supersnel caching-systeem op te zetten. Dit kan bestaan uit meerdere webservers, het is optimaal schaalbaar. Het is voornamelijk bedoeld om de load op databases af te laten nemen, maar kan voor meerdere caching-doeleinden gebruikt worden. Memcached wordt o.a. gebruikt door Youtube, Flickr, Wikipedia en Wordpress.com.