Microservices. Innovatie is de sleutel tot succes. Zeker in een markt waar verandering continu aan de orde is. Disruptive zijn in dezelfde markt is lastig, maar zeker mogelijk als je de juiste technische keuzes maakt. Ook als e-commerce platform is het mogelijk disruptive te zijn. Vooral wanneer je development en release proces op orde is.
Er zijn veel verschillende soorten eCommerce software op de markt:
Open source software zoals Magento, WooCommerce en Prestashop.
SaaS software zoals NextChapter, Demandware (Salesforce Commerce) en Shopify.
Closed Source zoals Hybris, Intershop.
Maatwerk software.
Elke soort software heeft haar eigen voor en nadelen. De vraag is welk type eCommerce software in de komende 5 jaar echt disruptive kan zijn als we het bekijken vanuit een technisch perspectief. We zien in de markt dat traditionele eCommerce software, bijvoorbeeld Magento, het lastig heeft. Veel partijen die op deze software draaien ondervinden veel problemen, bugs en het migreren naar een nieuwe versie is bijna niet te doen.
Partijen die op maatwerk software draaien investeren veel tijd en geld in nieuwe functionaliteiten, processen en het oplossen van problemen. Alles dient betaald te worden en het is lastig om bij te blijven in een markt waarin nieuwe ontwikkelingen en slimme technologieën elkaar snel opvolgen. Denk bijvoorbeeld aan Elastic Search, nieuwe manieren van hosting, nieuwe database technologieën etc…
SaaS platformen zijn het nieuwe soort eCommerce software die echt disruptive kunnen zijn als we het bekijken vanuit een technisch perspectief. Zowel voor de B2C als B2B markt.
Functionaliteiten worden centraal ontwikkeld en de klantenbase die er gebruikt van maakt is groot. Dat betekent dat iedere functie door de gehele klantenbase getest wordt. Juist omdat de klantenbase groot is wordt er veel aandacht besteed aan security en performance en wordt er altijd gebruik gemaakt van de beste en nieuwste technieken. Bugs bestaan niet meer en mochten ze er zijn, dan wordt het direct voor je opgelost en automatisch gereleased, vaak binnen het uur. Zonder meerkosten, dit is onderdeel van de licentie. Klanten kunnen zich volledig focussen op de business en marketing.
Belangrijk is dat het SaaS platform ook een API laag ontwikkelt waardoor headless commerce mogelijk wordt.
Om als SaaS platform disruptive te kunnen zijn is het belangrijk dat de architectuur van het platform hier geschikt voor is. Een microservices architectuur biedt hier de oplossing.
Ontwikkelen in microservices biedt, in combinatie met de juiste release management visie (Continuous Integration) en hosting omgeving, de oplossing om schaalbaar en flexibel te kunnen zijn/blijven. In een microservices omgeving kan je nieuwe innovaties snel ontwikkelen, automatisch testen en releasen. Test en acceptatie omgevingen bestaan niet meer (OTAP). Veranderingen in de markt kun je eenvoudig aan omdat je zeer flexibel bent. Iedere service is een op zichzelf staand stukje software. Zo heb je bijvoorbeeld voor iedere functionaliteit een eigen microservice. Voor het product, de categorie, de cart etc… De services werken onafhankelijk van elkaar, is er een bug in de cart, dan los je deze op in de cartservice en je released het automatisch. Geen gedoe meer met wat er nog meer live moet. In open source software zie je deze aanpak niet terug. Hooguit in maatwerk software echter dat wordt voor de klant een zeer dure hobby.
In de eCommerce markt zien we vaak dat software iedere maand of zelfs 1x per kwartaal wordt gereleased. Deze release duurt vervolgens de gehele nacht of een heel weekend. Los van deze release zijn alle zaken uitvoerig wekenlang getest. Mochten er echte issues ontstaan, dan moet je een rollback uitvoeren of weer de volledige OTAP straat door. Door deze zeer inefficiënte manier van development is de kans groot dat je ingehaald wordt door de concurrentie. Juist omdat de markt zo aan veranderingen onderhevig is. De software is vaak monolitisch van aard wat betekent dat het wel uit verschillende applicaties bestaat, maar met dezelfde business objecten waardoor alles elke keer live moet.
De hosting van microservices is een belangrijk aandachtspunt. Traditionele servers en databases met beperkingen in CPU, RAM etc. moet je vergeten. Ga over op containers en wordt schaalbaar als nooit tevoren. Het liefste automatisch met gebruik van een wereldwijd cloudplatform zoals Microsoft Azure, Amazon of Google. Grote namen als Netflix, Uber en the Dollar Shave Club worden al via deze architectuur gehost.
Een ander groot voordeel van microservices is dat je met verschillende teams kan werken. Vooral als je een groot platform moet onderhouden kan het handig zijn dat niet iedereen meer alle onderdelen hoeft te kennen. Omdat iedere service op zichzelf staat is kan je een team hebben die zich volledig richt op Order management, een team op de front services etc. Je wordt hierdoor ook meer flexibel in het gebruiken van de meest geschikte ontwikkeltaal en database per service.
Is microservices in combinatie met release management en hosting de enige manier om disruptive te zijn in de markt van eCommerce software? Nee, bovenstaande is puur geschreven vanuit een technisch perspectief. Functioneel moet je altijd innovatief zijn. De organisatie zelf moet ook hiermee om kunnen gaan (Agile) en development en Operations (DevOps) moeten goed met elkaar samenwerken. Juist door de snelle veranderingen en vragen vanuit de business moet je als software snel kunnen handelen. Daar is de microservice architectuur zo geschikt voor. Je moet altijd goed luisteren naar de markt, de klant en de concurrentie in de gaten houden zodat je snel kan anticiperen.
Zitten er ook nadelen aan microservices? Tuurlijk, een monolitisch systeem bouwen is eenvoudiger en makkelijker te onderhouden. Een microservice architectuur kan complex worden. Vooral wanneer het aantal services toeneemt. Het is ook een andere manier van denken voor een developer. Je moet volledig out of the box kunnen denken. Heb je dat onder de knie, dan wil je niets anders meer en wordt voorop lopen als platform een stuk eenvoudiger.
Als SaaS platform heeft NextChapter ook de keuze moeten maken voor een development strategie met het oog op de toekomst. Hierin hebben wij de keuze gemaakt om over te stappen naar een microservices architectuur. Dit is niet alleen een nieuwe manier van software development maar vormt ook een nieuwe basis van het platform.
De grote voordelen van een microservices architectuur wegen op tegen het extra werk wat ervoor gedaan moet worden. NextChapter kan met deze stap nog sneller ontwikkelen en is flexibeler en schaalbaarder dan ooit.