Travelbags
https://www.travelbags.nl
Travelbags is een online retailer die zich primair richt op het verkopen van koffers, tassen en accessoires. Het assortiment kenmerkt zich door dat het groot is in zowel de hoeveelheid unieke producten maar ook in de verscheidenheid van de producten. Veel koffers zijn beschikbaar in verschillende formaten en tal van kleuren. Maar ook de hoeveelheid verschillende accessoires maken het een uitdaging om een webshop te realiseren die al deze producten snel en overzichtelijk toont.
Voor we bij XSARUS begonnen met het ontwerp hebben wij eerst goed gekeken naar wat er op dat moment in gebruik was. Hoewel de webshop zelf prima te gebruiken was, lag het knelpunt in de beheeromgeving. Het zoeken naar het juiste product was daarin een enorme uitdaging. We zijn aan de slag gegaan en hebben op alle vlakken de webshop volledig vernieuwd. Er is een nieuw design gemaakt waarbij het uitgangspunt was dat alle producten in categorieën opgenomen worden en dat per categorie specifieke filters beschikbaar zouden komen. Het heeft namelijk geen zin om te filteren op 'aantal wielen' in de categorie 'laptoptassen'.
Die filters waren overigens een uitdaging. Er zijn veel verschillende merken en elk merk levert de data net even anders aan. Het was dus zaak om de data netjes op te nemen en zo te bundelen dat deze goed te gebruiken waren door de bezoekers van de webshop. En nadat de data goed was gekoppeld, moesten de filters ook nog allemaal getoond worden in de webshop, zonder dat de bezoekers het overzicht kwijt raakten. Dit is uiteindelijk heel goed gelukt.
Belangrijk: deze website is gerealiseerd door XSARUS. Ik ben hierbij betrokken als Senior Developer.
Er zijn voor mij een aantal zaken bijgebleven tijdens dit project, maar zeker ook in de periode na oplevering. Ik heb het geluk gehad om mijzelf lang in te mogen spannen voor Travelbags en daarbij heb ik altijd direct contact gehad met de beide eigenaren. Het contact was altijd erg prettig! We hebben jarenlang de webshop mogen doorontwikkelen, zowel qua vormgeving als qua beheeromgeving.
Op technisch vlag heb ik erg veel geleerd tijdens mijn werkzaamheden aan de webshop van Travelbags. De grote hoeveelheid 'kenmerken' van het assortiment van Travelbags zorgt er voor dat de performance snel achteruit gaat als er inefficiënte code geschreven wordt. Dat probleem wordt daarnaast heel snel vergroot als de bezoekersaantallen omhoog schieten in een korte tijd. Tijdens een aantal momenten per jaar was dit heel goed merkbaar: voor de vakantieperiode worden altijd meer koffers besteld en ook de 'Back to school'-acties zorgen altijd voor meer bezoekers dan gemiddeld.
De grootste piek wordt echter veroorzaakt op het moment dat Travelbags een programma op tv sponsort. Tijdens de reclameblokken op tv maken heel veel mensen snel even gebruik van de mogelijkheid de webshop te bezoeken en dan gaan de bezoekersaantallen op een hele korte tijd explosief omhoog. We hebben in samenwerking met onze systeembeheerders de webshop zo geoptimaliseerd en de hosting zo ingericht dat deze bezoekersaantallen geen probleem meer waren. Door slim gebruik te maken van caching in de browser, maar ook een opstelling met load balancing en caching software (Varnish) hebben we het voor elkaar gekregen deze webshop draaiende te houden tijdens piekmomenten.
Veelgestelde vragen
Daarna hebben we gekeken naar welke filters (of productkenmerken) er getoond moeten worden in de webshop categorieën. Het heeft weinig zin om 'aantal wielen' te tonen bij laptoptassen, of 'laptop vak' te tonen bij 'portemonnees'.
Als laatste hebben we de code van de webshop geoptimaliseerd om er voor te zorgen dat het filteren de performance niet negatief beïnvloed.
Om er voor te zorgen dat de webshop zoveel mogelijk bezoekers aan kan, zijn alle pagina's (behalve de winkelwagen, checkout en 'mijn account') voorzien van zoveel mogelijk caching. Om elke pagina voor elke bezoeker helemaal vanaf 0 op te bouwen kost behoorlijk wat servercapaciteit. Als die pagina's er dan ook nog eens (grotendeels) hetzelfde uitzien, dan is het verstandig om zaken te cachen. Dat is exact wat wij hebben gedaan. Alles wat niet uniek is voor een specifieke bezoeker wordt door middel van Varnish gecached. Om verdere schaalvergroting mogelijk te maken is er gekozen voor een load balancing opstelling, waarbij meerdere cache servers worden gebruikt. Al met al een behoorlijk complexe opstelling maar die zorgt er wel voor dat de webshop ook in op piekmomenten bereikbaar blijft.
Binnen dit project gebruikte technieken: