iPhoned: de vergelijker voor je iPhone

Hoe we een vergelijkingstool ontwikkelden voor een high traffic eCommerce website

  • Roland

Roland heeft hier aan gewerkt

Experts op het gebied van mobiele tech, apps, games en devices

Bigspark is uitgever van een aantal grote websites op het gebied van mobiele technologieën, die samen maandelijks meer dan 2 miljoen bezoekers opleveren. BigSpark geeft met geavanceerde product- en prijsvergelijkers gerichte aankoopadviezen aan haar bezoekers. Een mooi voorbeeld hiervan is iPhoned.nl; een platform waar je verschillende iPhone-abonnementen en -toestellen kunt vergelijken.

Up to date blijven bij dagelijkse veranderingen

Niets is zo veranderlijk als de wereld van de technologie. Nieuwe toestellen volgen elkaar in een rap tempo op en telefoonproviders bedenken telkens nieuwe aanbiedingen om potentiële klanten te verleiden. Al deze veranderlijke elementen moesten geïntegreerd worden in de productvergelijkers. Daarnaast moest de architectuur van de software zo ingericht worden dat er door verschillende developers aan doorontwikkeld kon worden, zonder dat hier kennis over serverconfiguratie voor nodig was. Een flexibel platform dus, wat voor elke developer te begrijpen is.

CMS op maat

We zijn begonnen met het bouwen van een CMS dat kan voldoen aan de dagelijkse veranderingen in de markt. Je wilt natuurlijk dat zo’n stuk software ook blijft werken bij duizenden verschillende producten, dus hebben we bij de start al nagedacht over de schaalbaarheid. Door het mogelijk te maken het CMS op meerdere servers te plaatsen, hebben we de schaalbaarheid weten te garanderen. Maar dan ben je er natuurlijk nog niet! Bij eCommerce is snelheid cruciaal; iedere seconde dat jouw website sneller wordt, levert je gemiddeld 3% extra conversie op. Als een vergelijkingstool vervolgens een aantal minuten bezig zou zijn met het ophalen van alle informatie van alle verschillende websites en aanbieders, dan haakt een eindgebruiker natuurlijk snel af. Door gebruik te maken van Elasticsearch hebben we een super snelle zoekmachine gebouwd waarmee het mogelijk is om op oneindig veel categorieën te sorteren, óók als die categorieën dagelijks veranderen.

Door geautomatiseerde processen tijd over voor de puntjes op de ‘i’

Om de flexibiliteit te waarborgen die een platform als iPhoned.nl nodig heeft, hebben we de software opgedeeld in losse microservices. Hierdoor zijn aanpassingen snel gemaakt zonder dat de hele architectuur van de webapplicatie op de schop moet. En door een waterdicht GitLab-versiebeheersysteem dat naadloos aansluit op Kubernetes, kunnen deze aanpassingen ook nog eens supersnel getest en doorgevoerd worden. Geen ellenlange ontwikkelprocessen dus, maar razendsnel nieuwe features en updates.

Maar dan zijn we er nog niet. Volgens ons kan het allemaal nog makkelijker en duurzamer. Met de kant-en-klare softwarepakketten van AWS (Amazon Web Services) wordt namelijk ook het managen van de database een eitje. Deze populaire service neemt het handmatig configureren naar de server uit handen, wat niet alleen veel tijd scheelt maar er ook voor zorgt dat een developer zonder kennis van serverbeheer met de webapplicatie uit de voeten kan. Automatisering verminderd de kans op foutjes wat de stabiliteit van je applicatie ten goede komt.

De waarde van DevOps

Door de bestaande software op te delen in microservices is de applicatie-architectuur een stuk overzichtelijker geworden. Dit bevordert het doorontwikkelen van het platform, óók met eventuele nieuwe developers. Het grote voordeel zit ‘m in de soepele overgang van ontwikkeling naar beheer, bekender onder de term DevOps. Door dit proces zoveel mogelijk te automatiseren en te stroomlijnen, hebben we een omgeving gecreëerd waarin de developers van BigSpark los kunnen gaan met hun code; zonder dat ze zich zorgen hoeven te maken over de online infrastructuur en schaalbaarheid. Door deze implementaties is de uptime van iPhoned.nl gewaarborgd. En dat is wel zo fijn, als jouw business afhankelijk is van je webapplicatie.

Roland
Plannen voor een webapplicatie?

Denk je na over het starten van een eigen platform, maar kan je hier wel wat hulp bij gebruiken? Wij vertellen je graag wat er allemaal komt kijken bij een succesvol platform!