Etrias is een keten van online speciaalzaken die zich richt op het midden en hoge segment van niche producten. De organisatie is een allround e-commerce speler: alles wat er bij online verkopen komt kijken, doet Etrias zelf. Van een eigen klantenservice tot warehouses en verzending.
True x Etrias
Kubernetes maatwerk-oplossingen voor een groeiend e-commerce bedrijf
Groei-ambitie: een steeds relevantere speler op de Europese markt worden
“Daarbij zijn we internationaal actief: we hebben webwinkels in Nederland, België, Frankrijk en Duitsland. En dat doen we al vrijwel vanaf het begin van onze onderneming. We zijn in 2011 gestart, een jaar later in Duitsland begonnen en weer een jaar later in Frankrijk”, zegt Stan Verhoeven, oprichter en mede-eigenaar van Etrias. “Onze ambitie is om een nog relevantere speler op de Europese markt te worden.
Het bijzondere aan Etrias: alle software die nodig is, ontwikkelen ze zelf in huis. Stan: “We zijn wel ooit met Magento gestart, maar kwamen er snel achter dat we meer nodig hadden en maatwerk. Alle software ontwikkelen we zelf, van een eigen ERP en CMS tot aan een WMS (Warehouse Management Systeem).”
Drie concrete zaken voor een hoog staaltje hosting
Dat brengt ook de nodige eisen en wensen aan hosting met zich mee. “Na overwegingen hebben we besloten om die expertise niet in huis te halen en het zelf te doen. We zochten een partner die ons daarbij kon ondersteunen, ook in maatwerk-oplossingen en vonden die bij True”, zegt Stan. “In het begin zijn we voor 3 concrete zaken met True gaan samenwerken. Als eerste: schaalbaarheid. De applicatie kon een grote groei in veel gebruikers niet aan. Als tweede: redundantie, zorgen dat je niet afhankelijk bent van één server of één service. Met redundantie zorg je dat een server of service meervoudig is uitgevoerd. Gaat er dan onverhoopt iets kapot of werkt iets niet, dan wordt het op een ander onderdeel opgevangen. Het voorkomt veel problemen! En als derde: we wilden een aantal componenten in eigen beheer uitvoeren en naar eigen wens inzetten, zoals Redis, Varnish en Nginx. Dat kan als je samenwerkt met de engineers van True!”
Migratie naar Kubernetes
Alle applicaties van Etrias staan inmiddels op het Kubernetes platform. Hoe is deze overgang naar Kubernetes gegaan? “Voor de migratie zijn we begonnen om zoveel mogelijk afhankelijkheden in de applicatie weg te halen. Vervolgens hebben we een Proof-of-Concept (PoC) gemaakt met Kubernetes, dat voor ons de gewenste oplossing kon bieden, met een eigen ontwikkelmachine en mini-kube (een lokaal Kubernetes platform). Ook dit hebben we grotendeels in-house gedaan”, zegt Stan. “En ja, dat ging met vallen en opstaan! Het is heel bewust veel kennis opdoen van Kubernetes, er een eigen platform mee opzetten, tegen uitdagingen aanlopen, daarmee omgaan. Met alle expertise en feedback van True Kubernetes engineers zijn we steeds een stap verder gekomen.”
Die stappen begonnen met de kleinste applicaties, geeft Stan mee. Met helm charts worden die op het Kubernetes platform deployed. De helm chart voorziet in alle benodigdheden voor de applicatie. “Voor deze helm charts hebben we het advies gegeven om ze op te splitsen”, zegt Joris de Josselin de Jong, Kubernetes engineer bij True. “Onze ervaring leert dat je anders tegen maximale file limieten aan gaat lopen op je platform. Dit soort best practices hebben we meegegeven, voor optimaal gebruik van helm charts.”
Maatwerk-oplossingen van je hosting-partner
“Ons ontwikkelteam bestaat uit 4 personen, een klein team dat precies weet waar ze mee bezig zijn en waarin iedereen een eigen specialisatie heeft. In het proces naar Kubernetes hebben we veel goede begeleiding van True gehad, voor finetunen van services binnen Kubernetes. Zo fijn om alle kennis van True te kunnen gebruiken!” zegt Stan.
Instellen van probes
Bij het finetunen van services gaat het in het geval Etrias bijvoorbeeld om instellen van alle probes. “Readiness en liveness probes checken of een applicatie beschikbaar is. Ze geven ook aan als een applicatie moeite heeft met requests, om zo naar andere containers te kunnen schakelen”, zegt Joris. “Gaat bijvoorbeeld de readiness probe af, dan wordt de pod gezien als ‘unhealthy’. Door die status wordt er geen specifiek verkeer meer naar die pod gestuurd. De pod blijft nog wel draaien. Als het proces binnen de container niet zelf herstelt, dan wordt de liveness probe gebruikt om de container te herstarten. Dit vormt een manier van redundantie binnen de Kubernetes-omgeving.”
Oplossing voor cache uitdaging
Stan: “Daarnaast zorgen engineers van True voor oplossingen op maat. Onze Varnish storage was eigenlijk te groot voor het geheugen, maar moest wel snel genoeg zijn voor normale data opslag. Dat heeft True opgelost door het vergroten van de lokale disk en lokaal opslaan van cache. We zijn heel blij dat zo’n maatwerk-oplossing in samenspraak ontwikkeld is!”
Samenwerking tussen developers en engineers
Joris: “Het is heel fijn samenwerken met Etrias. We vullen elkaars kennis aan. De developers van Etrias hebben alle kennis op applicatieniveau, die ze ons meegeven. Vervolgens zetten wij de juiste elementen op hun Kubernetes platform op en geven die technische kennis weer aan hen mee. Dan gaat een samenwerking veel sneller en haal je er veel meer uit!”
Dat is bijvoorbeeld zichtbaar in het samen oplossen van issues, waarbij mogelijkheden aan beide kanten (development en engineering) worden benut. “Denk bijvoorbeeld aan het issue als een applicatie te veel RAM (systeemgeheugen) gebruikt en daarmee trager gaat werken. Aan de kant van development kun je dan bijvoorbeeld de resource request limits verlagen en de resources tweaken. Aan onze kant kunnen we bijvoorbeeld de disks vergroten voor de omvang van de cache”, zegt Joris. “Door de inrichting van de applicatie aan de kant van Etrias en door onze inrichting van het Kubernetes platform is Etrias veel beter in staat om pieken in het verkeer van klanten op te vangen.”
Ambities letterlijk verwezenlijkt: schaalbaar, redundant en in eigen beheer
Het resultaat van de samenwerking met True: “alle ambities zijn letterlijk verwezenlijkt. We hebben een schaalbaar platform, waardoor ik me geen zorgen meer maak over Black Friday of een piek aan klanten na een mailing of campagne. Het systeem is redundant; als er iets kapotgaat, wordt het automatisch opgevangen. En we hebben de elementen die we in eigen beheer willen, ook daadwerkelijk in eigen beheer”, zegt Stan.
Wat is de volgende technische stap voor Etrias? Stan: “Wensen en ambities te over om te doen! Op onze roadmap staat nu om onze applicaties in microservices op te knippen. Dat geeft meer controle over bijvoorbeeld releases, en zorgt er ook voor dat we de front-end met Javascript kunnen genereren. Dat levert weer voordelen voor onze klanten op en op het gebied van zoekmachine-marketing. Als klanten zoeken op bijvoorbeeld een heel specifiek type regenlaarzen van een bepaald merk, dan moeten ze bij onze webshops uitkomen!”
Zelf met Kubernetes aan de slag?
Steeds meer ontwikkelteams verkennen containerisatie en microservices. Het levert veel voordelen op maar kan ook complex zijn. Managed Kubernetes van True helpt ontwikkelteams met meer efficiëntie en zorgvuldigheid te ontwikkelen.