e-commerce back-end trends

5 back-end trends voor e-commercebedrijven

De e-commercesector is een van de meest innovatieve sectoren als het gaat om technologische vernieuwingen. Niet alleen technologieën die voor de eindklant te zien zijn, maar juist binnen back-end technologie vinden innovaties plaats. In dit artikel zoomen we in op 5 back-end trends die voor de e-commercesector relevant zijn.

1. Cloud native

Cloud-native is een benadering voor software-ontwikkeling, waar de software met name gericht wordt op een manier die goed past binnen de principes van cloud computing – het bouwen en opschalen van applicaties in een moderne, dynamische omgeving zoals public cloud, private cloud of hybrid clouds.

Technologieeën zoals containers, microservices, serveless functies, declaratieve API’s worden vaak geschaard onder ‘cloud-native’. Ook is het vaak zo dat er een sterke mate van automatisering van toepassing is, en dat het merendeel van de technologie als code wordt geïmplementeerd (software-defined).

Een voorbeeld van een cloud-native applicatie is dat deze opgebouwd is met meerdere microservices die in Docker containers runnen, en dat deze containers vervolgens beheerd worden door Kubernetes. Het beheren en implementeren van alle code gebeurd doorgaans op een DevOps-manier en met een CI/CD workflow via bijvoorbeeld GitHub of Gitlab.

Een stichting die deze omschrijving volledig omarmt is de Cloud-Native Computing Foundation (CNCF), een dochterstichting van de Linux Foundation. De CNCF zet zich onder andere in om de adoptie van deze technologieën te vergroten door een ecosysteem te stimuleren waar open-source en ‘leverancier-neutraal’ verder ontwikkeld kan worden.

Zie ook de definitie van de CNCF op GitHub.

2. Microservices

Een andere back-end trend is microservices. Microservices kun je het best zien als hele kleine applicaties. Het is een manier om de architectuur van de software te bepalen. In plaats van alles in één blok te bouwen (wat we monolitisch noemen), zijn microservices allerlei kleine blokjes (applicaties) die met elkaar communiceren.

Van vrijwel elk onderdeel in een applicatie kun je een microservice maken. Denk bijvoorbeeld aan het maken van een profielpagina in een webapplicatie. Daar zitten specifieke functies in, zoals het uploaden van een profielfoto. Een microservice is te maken voor de gehele profielpagina, of voor alleen die ene specifieke functie voor het uploaden van een foto. Een simpel voorbeeld, maar dan heb je een beetje een idee hoe veelzijdig je microservices kunt inzetten.

Het voordeel van microservices is dat je ze kunt bouwen in de programmeertaal naar wens. Wil je bijvoorbeeld een functie of set aan functies bouwen in een populair framework zoals Laravel? En een andere set aan functies juist met Javascript? Met microservices kan het.

API’s

Alle microservices bij elkaar moeten nog wel met elkaar communiceren. Dat gebeurt aan de hand van Application Programming Interface (API’s). Een API kun je het uitleggen aan de hand van een stekker en een stekkerdoos. De stekkerdoos is de applicatie – in dit geval de microservice. De stekker is de API. Als de stekker in de stekkerdoos zit, kan de API met de microservice communiceren. Maar vanuit diezelfde stekkerdoos is er ook een koppeling te maken met een andere stekkersdoos. Zo ontstaat er een web aan verschillende stekkerdozen en stekkers die bij elkaar de back-end applicatie vormen.

Front-end

Binnen de softwarewereld heb je te maken met de front-end en de back-end van systemen. De back-end is alle technologie die de eindgebruiker van een systeem als het goed is niet te zien krijgt. De front-end is het visuele plaatje.

Microservices werken met name op de achtergrond, in de back-end. Door een goede front-end te bouwen merkt een eindgebruiker hier echter niets van. Hoewel het allemaal kleine mini-applicaties zijn op de achtergrond, is het voor de eindgebruiker gewoon één applicatie omdat deze één front-end ziet.

Lees ook: Microservices: waarom inzetten voor je applicatie?

3. Containers

Zeg je microservices, dan zeg je vaak ook containers. Containers zijn de volgende stap in het verpakken en implementeren van applicaties op het web.

Virtualisatie

Voor elke applicatie op het web heb je een server nodig. In sommige gevallen gebruikt men nog fysieke servers (bare-metal), in andere gevallen wordt een server vaak gevirtualiseerd en geclusterd. Virtualisatie maakt het mogelijk dat een fysieke server in meerdere stukjes wordt verdeeld. Alle hardwarematige compontenten zoals de processor, geheugen, opslag enzovoorts worden verdeeld, waardoor het mogelijk wordt om meerdere websites op een server te hosten.

Bij het installeren van een virtuele server is er altijd naast de ‘host OS’ altijd een extra besturingsysteem (guest OS) nodig. Ook is het nodig om per applicatie de binaries (programmeertalen) te installeren.

Voor een hele kleine microservice (zoals bijv. een profielpagina) zou dat betekenen dat er vrij veel geïnstalleerd moet worden. Als je dit voor elke microservice moet doen, ben je veel resources kwijt. En dat slechts voor één microservice. Als je een applicatie hebt met honderden, zo niet duizenden microservices dan is het hosten van elke microservice op een virtuele server niet efficiënt. Containers kunnen echter het verschil maken.

Voor containers is het namelijk niet nodig om elke keer een guest OS te installeren en is het mogelijk om de binaries (programmeertalen) te delen over meerdere applicaties. Containers hebben daarnaast meer voordelen. Ze zijn gemakkelijk over te dragen. Je kunt een containerized applicatie dus ontwikkelen op je laptop, en deze vrij gemakkelijk overdragen naar bijvoorbeeld compute power in de cloud.

Containers maken het simpelweg een stuk eenvoudiger om microservices in te zetten.

4. Kubernetes

Wanneer je te maken hebt met heel veel containers, wordt het beheersbaar houden van de containers een stuk ingewikkelder. De software Kubernetes helpt daarbij.

Kubernetes, ook wel k8s genoemd, is kort gezegd een open-source systeem beheren van grote groepen containers en containerized applicaties. Met de software zijn containers te groeperen en in theorie eenvoudig(er) te beheren.

Binnen het platform zijn diverse componenten te orkestreren die komen kijken bij de ‘hosting’ van een containerized applicatie, zoals computing, netwerk, storage en allerlei type workloads. Het bevat veel van de handelswijzen die je wellicht kent van een Platform-as-a-Service provider (of van een Infrastructure-as-a-Service provider (zoals Azure of Amazon Web Services): veel opties om alles aan elkaar te knopen en om je ideale set-up te creëren voor een containerized applicaties of een Kubernetes-cluster.

Omdat containers overal ter wereld kunnen staan, fungeert Kubernetes als een orkestrator die grote hoeveelheden containers kan beheren.

Lees ook: 'Wat is Kubernetes?'

5. Headless CMS

Een headless CMS is een back-end content management systeem (CMS) die het mogelijk maakt om de content te serveren via RESTful API’s. Het voordeel hiervan is dat je content via één CMS te serveren is op elk apparaat.

De term headless komt van het concept dat het hoofd (de front-end) van het CMS wordt afgehakt van het lichaam (de back-end). Een headless CMS heeft slechts één focus: het opslaan en leveren van gestructureerde content naar diverse apparaten en schermen.

Het tegenovergestelde van een headless CMS is een monolitische CMS, waarvan WordPress misschien de meest bekende is (al is WordPress ook headless te maken).

Het gebruiken van een headless cms heeft veel voordelen. Je bent bijvoorbeeld platformonafhankelijk, kunt zelf kiezen welke technologie gebruikt en hoe ingewikkeld je de code maakt. Het is dan ook niet gek dat headless CMS’en steeds populairder worden.

Bekende Headless CMS’en zijn bijvoorbeeld Netlify, Ghost, Strapi en Directus.

Conclusie

Op het vlak van back-end gebeurt er veel binnen de e-commercewereld. Cloud-native, microservices, containers, Kubernetes en headless CMS’en zijn absoluut technologieën waar de komende jaren meer van zullen horen.

Wil je meer te weten komen over de inzet van cloud-native technologie? Bekijk dan onze Managed Kubernetes dienst.

Hebben we nog een belangrijke trends gemist? Laat het ons weten op Twitter.

e-commerce back-end trends
Kilian Drewel
Techblogger

schrijf je in voor de nieuwsbrief

Ontvang de nieuwste blogs van True elke twee weken in je mail

Cloud-native - 15.10.2020

Containertechnologie heeft de traditionele infrastructuurwereld flink opgeschud. Containers zijn ideaal voor microservices en omgevingen die snel moeten schalen en te maken hebben met veel releases. Het adopteren van containers brengt echter ook complexiteit met zich mee, bijvoorbeeld op het vlak van beheer. Als een soort dirigent orkestreert Kubernetes alle bewegende onderdelen en containers in de […]

Cloud - 05.10.2020

De manier waarop webapplicaties worden ontwikkeld gaat steeds vaker op een microservices-manier. Per microservice wordt er een container of meerdere containers ingezet. Als dat er veel worden ontkom je niet aan om Kubernetes in te zetten. Maar hoe monitor je alle data die microservices, containers en Kubernetes genereren? Een tool als Prometheus helpt je daarbij. […]

Cloud - 26.08.2020

De afgelopen jaren wordt er steeds meer ontwikkeld meet containers. Containertechnologie hebben veranderd hoe we software leveren en hoe we microservices inzetten om applicaties te bouwen. Doordat alles compacter wordt gebouwd en verpakt, is ook de noodzaak voor management groter geworden. Kubernetes vs Docker (Swarm) zijn twee van de grote softwareoplossingen als het gaat om […]

Blijf op de hoogte en schrijf u in voor onze nieuwsbrief
Schrijf u in voor de nieuwsbrief

Vraag offerte aan

Vul onderstaand formulier in. True neemt zo snel mogelijk contact met u op.