Flexibele hosting voor Medi-Market

  • Flexibele hosting op basis van AWS en Kubernetes
  • Snelle scaling, updates zonder downtime en auto-healing
  • Infrastructure-as-code aanpak voor maximum controle en testing

Medi-Market is een keten van parapharmacieën van het Belgische bedrijf Medi-Market Group en is actief in de apotheek- en parapharmaciesector. Het is de missie van Medi-Market om het meest uitgebreide assortiment van hoogkwalitatieve producten toegankelijk te maken voor zoveel mogelijk mensen aan de laagste prijs. Medi-Market beschikt over een 40-tal verkooppunten in onder andere België, Frankrijk en Italië.

Medi-Market was geen onbekende voor ACA IT-Solutions. Eén van onze projectteams zorgde voor een nieuwe applicatie voor het stockbeheer van hun winkels en magazijnen. Met het oog op groei en uitbreiding naar het buitenland vroeg Medi-Market immers om zo’n applicatie, die bovendien gemakkelijk uitbreidbaar en aanpasbaar moest zijn. Alle informatie over dat deel van het project staat in deze case study.

De uitdaging: hosting van een groeiend en divers applicatielandschap

Sinds de start van ons traject bij Medi-Market heeft het bedrijf een grote groei gekend in het aantal applicaties. Eind 2018 begon één van onze ontwikkelingsteams met het schrijven van één applicatie. Ondertussen draaien er al 13 verschillende applicaties waarvan de infrastructuur in België en Italië wordt gebruikt.

Bij het ontwikkelen van de diverse applicaties voor Medi-Market gebruikten we Docker containers. Door het gebruik van deze containers zorgen we er onder andere voor dat de applicaties van Medi-Market sneller geüpdatet kunnen worden en ze een pak minder resources gebruiken.

Om al de applicaties van Medi-Market correct te laten werken, zijn er ook heel wat bijkomende tools nodig. Zo maken de applicaties gebruik van ElasticSearch en Kafka. Wat betreft de infrastructuur voor de applicaties zorgt Datadog voor monitoring, metrics en logging. Als laatste zijn er ook enkele tools ter verbetering van de beveiliging, bijvoorbeeld Sealed Secrets en Calico. 

Ook bijkomende tools draaien elk in aparte containers. In totaal draaien er bij Medi-Market zo’n 60 containers met daarin tools en applicaties. Het manueel beheren van zo’n groot aantal containers wordt echter al snel een hele klus. Medi-Market had dus behoefte aan meer automatisatie én betrouwbare hosting, zodat er veel minder manueel beheer nodig is om alle applicaties correct te laten draaien.

docker containers voor Medi-Market

Onze oplossing: flexibele hosting op basis van AWS en Kubernetes

Om een flexibele en kostenefficiënte oplossing aan te kunnen bieden, maakten we gebruik van cloud provider Amazon Web Services (AWS). AWS is een container management platform dat het beheren van containers ondersteunt. Op de virtuele machines van AWS startten we dan de Docker containers nodig voor een correcte werking van de applicaties van Medi-Market. Dankzij de flexibiliteit die AWS biedt, konden we starten met het minimaal aantal benodigde virtuele machines. Wanneer er nieuwe containers of applicaties bijkomen, kunnen we snel extra capaciteit opzetten.

flexibele hosting op basis van AWS en Kubernetes

Gebouwd volgens een transparante en Agile aanpak

We gebruikten Kubernetes als container orchestrator, de ideale tool om het groot aantal containers bij Medi-Market te kunnen beheren. Het Kubernetes platform zorgt dus voor een correct management van de diverse applicaties, ondersteunende tools en monitoring die binnen Medi-Market draaien. Dat betekent dat alle applicaties, waaronder de applicatie voor automatisch stockbeheer, enkel draaien op de capaciteit die op dat moment nodig is. Zodra er meer of minder capaciteit nodig is of als er nieuwe applicaties bijkomen, schaalt Kubernetes de hosting mee naar boven of beneden. Op deze manier betaalt Medi-Market dus nooit voor een onbenutte overcapaciteit, maar beschikken ze wél over een efficiënte hosting die flexibel meeschaalt.

Vanwege de uniforme opzet van het Kubernetes platform kunnen er snel bijkomende applicaties of ondersteunende tools draaien, zonder dat daar veel ontwikkelingswerk aan vooraf moet gaan. Een ander voordeel is dat het gemakkelijk is om capaciteit aan te passen op basis van de huidige vereisten. Ook het updaten van een applicatie naar een nieuwe versie kan eenvoudig, automatisch en in veel gevallen zonder downtime. Hierdoor kan Medi-Market steeds in een veilige omgeving werken en gebruikmaken van de nieuwste features. Het Kubernetes platform ondersteunt ook ‘auto-healing’: kapotte hardware of een crashende machine worden automatisch opgemerkt en vervangen, terwijl er slechts een minimale impact is op de performantie of beschikbaarheid. In veel gevallen merkt de eindgebruiker er helemaal niets van.

Kubernetes als container orchestrator

Infrastructure-as-code aanpak voor maximum controle en testing

We maken gebruik van een infrastructure-as-code aanpak aan de hand van Terraform. Bij een infrastructure-as-code aanpak wordt infrastructuur neergeschreven als uitvoerbare code. Door deze aanpak kunnen we snel nieuwe omgevingen toevoegen, bijvoorbeeld een test- of productieomgeving. Ook kunnen we door deze aanpak snel en gemakkelijk wijzigingen eerst testen in een testomgeving vooraleer deze in productie gaan. Doordat alles beschreven is in code, hebben we ook steeds een nauwgezette controle over wijzigingen. 

Een ander voordeel is dat we de infrastructuurcode kunnen behandelen zoals alle andere code. We kunnen dus ook pull requests maken en een review van de code van enkele teamleden vereisen voordat deze in de codebase wordt opgenomen. Hierdoor behouden we extra controle over wat we precies in AWS aanmaken.

Sterke en proactieve monitoring

Binnen de Kubernetes cluster draait een datadog-agent. Deze staat in voor het doorsturen van monitoring metrics en de logs van de diverse applicaties. Via monitors die we opzetten, worden de binnenkomende metrics voortdurend geëvalueerd. Zodra er een kritieke waarde bereikt wordt, wordt het team automatisch op de hoogte gebracht via een alert in OpsGenie. Zo kunnen we snel en proactief op potentiële problemen reageren.

Wil je meer informatie over ons of deze case?

Peter staat voor je klaar.

Peter Jans
Peter Jans
Cloud and Innovation Architect & Business Unit Manager

Gerelateerde customer success stories