Why the future of e-commerce should be built using micro-services.
Listen to the podcast episode here:
The story is often the same:
I’ll be approached by a startup that has created a great feature for customers that a retailer can bolt onto their service. On this occasion, the product or service I am shown passes my high bar of acceptance, and I agree to talk to my retailer network about it.
However, when we meet with the retailer’s product owner for the particular area we seek to improve, they respond with a mixture of joy and sadness. The joy that their customers would love the new feature, and sadness that there is no hope in the world that they will be able to get it live.
It’s a product owner’s job to represent their customers – designing in better features and designing out frustration. The trouble is, they’ve been able to get few changes live themselves because the e-commerce platform is creaking. “Love the feature, Nick but look, our e-commerce platform nearly went under on Black Friday with so many customers trying to places orders, so this feature going to be waaaaayy down the priority line”.
And that’s the problem: Retailers afraid to change any other than the highest priorities because their online store may well collapse.
It’s time to re-think how you ‘do’ e-commerce and, I’m glad to say, some retailers are doing just that. What? Smashing their e-commerce platform into pieces. Literally. Breaking each piece of functionality into tiny ‘micro-services’ that do their one little part of the e-commerce ‘whole’.
The analogy of Lego building bricks is unavoidable. You can build a model using these bricks then, as your creativity and mood changes, pull it all apart and create something even better with the same pieces.
A second analogy: You likely work for a company as an employee. You take input from various colleagues and other sources, perform your role of processing that information, and your output is then delivered for others to use.
Even more importantly, you stand as your own entity, loosely coupled to your colleagues to get your work done and delivered, without relying on them for your internal operations to work (such as pumping your heart or moving your limbs).
Should your role increase in demand as the company grows, they can employ a second and third person in the same role to work alongside you. The opposite direction is the case during less busy times.
This is always how it has been for employees at work. So why don’t we design our IT systems this way? Build loosely coupled, self-standing micro-services that can be reconfigured as needed to create a new customer experience, touchpoint or transactional process as needed. Should Black Friday arrive, spin up several more instances of the same micro service to cope with the load, and then spin them down afterwards to save resources.
As many organisations move their platforms to cloud services that support this form of IT design, retailers should be at the front of the queue, smashing their solid e-commerce platforms and rebuilding the same functionality in loosely coupled micro-services.
Then, when I come visiting your company with a startup and their excellent idea built into a feature, your product owner can at last jump at the chance to try it!