Service Oriented Architectures and the distributed internet.
(taken from medium)
How the idea of Richard Hendricks’ Pied Piper can save the world of e-commerce in real life.
Everyone who has seen HBO’s Silicon Valley knows about Richard Hendricks and the Pied Piper (yes they have an actual website!) groups ambition to create a new internet that cuts out fictional ‘big brother’ Hooli; or in real life giants like Google, Amazon, telecommunications giants and Facebook. Their idea is in basic simple: use a peer-to-peer network built atop of every smart device on the planet, such as phones and even smart fridges, and with that making huge data centers full of servers obsolete.
“If we could do it, we could build a completely decentralised version of our current internet,” Hendricks says. “With no firewalls, no tolls, no government regulation, no spying. Information would be totally free in every sense of the word.”
Some might argue that the main internet is already a decentralised network that no one owns, which in theory is true. In practice however, a small number of enormous companies control much of the internet. Anyone can publish what they want on the internet, but without Google, Twitter or Facebook, nobody would see it or find it. Amazon does not just own the web’s biggest online store, but also a cloud computing service so large and important that when part of it went down briefly in 2017, the internet itself seemed to go down. Same happened when hackers attacked a company called Dyn, now owned by Oracle, in 2016, large parts of the internet came crashing down.
Not just companies owning servers can be seen as ‘owners’ of the internet, a handful of telecommunications giants, like Verizon, Vodafone and AT&T control the market for internet access and have the technical capability to block users from accessing particular content, sites or apps. In some countries even a state-owned telco controls the internet access completely for all its inhabitants.
Comparing this to the world of e-commerce, it is basically dominated by big giants as well — for both the way they do business as the way their software is built. Besides shops like Amazon and Zalando, who write their own software basically from scratch, the majority of shops in the world are running on (self) hosted platforms like Magento — recently acquired by Adobe — Shopify, BigCommerce, WooCommerce or Demandware. These platforms are, in some cases, open source, but all built with a monolithic architecture. Meaning all functionally distinguishable aspects are all interwoven, rather than containing architecturally separate components. Such structures are robust blocks and prevent easy scaling, extensibility and make merchants dependent on the platform. Whatever this platform chooses to do or become, you either go with it or go down. The same as the internet: when the software goes down, everything goes. An error in one simple functionality can take down the entire shop.
When talking about optimising e-commerce, most talk a lot about customer experience, conversion optimisations and usability. Many of these optimisations come with innovation of services: advanced search and product features, ship to store, real time stock information and alternatives, wide selection of payment methods etc. At the same time, growing retailers launch new storefronts for international customers or serve new market segments, they expand their assortment by introducing worldwide drop shipments, multi-store retailers merge their online and offline stores in one systems and many more.
However, many retailers discover very soon that it is not that easy to evolve their business as fast as they would like. These monolithic, legacy, and even dinosaurs, architectures prevent online retailers from implementing cutting edge experiences, customer service and functionalities that customers are expecting.
To expand and continue growth, most retailers who started with one of the big platforms, start to update the platform several times, each time patching new functionalities on top of what has already been built. They are stuck with hacked integrations and systems that are hard to replace of even extend. All services, like order management, storefronts, customer and inventory management are so tightly coupled, it is nearly impossible to switch one system out for another without affecting other services. Other problems include duplicate data, no consistency and no master point of data.
Replacing such systems in a traditional way is too expensive, complicated and could take years, causing many retailers to get stuck in their growth, while competitors forge ahead.
Basically the only solution, besides starting your own software from scratch, for these retailers is doing what Hendricks and his Pied Piper team are trying to do: decentralizing and decoupling the platform. Cutting out the major middleman, getting rid of the single-platform dependency, building services independently and connecting them all as a kind of peer-to-peer network. In IT terms we are talking about switching the monolithic architecture to a Service Oriented Architecture (SOA).
In a SOA, all services like for example order management, storefronts, customer and inventory management are working as a stand-alone service, while the data is being exposed so they can be consumed by delivery channels that need to use them, like storefronts, call centers and warehouses. A Service Oriented Architecture is the foundation to get back-end and front-end systems working together. It helps to ease migration to a new e-commerce platform, using the current system as a basis to start from. Components can then be easily updated, integrated and even replaced without impacting operational integrity, one at a time if necessary. Brand defining or business specific services can be custom developed, while commoditised services (like for example payment) can be outsourced.
And last but not least: with the use of a Service Oriented Architecture, time to market for new e-commerce functionality is reduced drastically, giving the retailer time after time an advantage over their competitors.
The idea of decoupling platforms is not new. Not only did HBO build a whole series around this subject in an extreme form, softwares developed on such architectures have been around for years but for some reason just not widely available for e-commerce.
But luckily that is about to change now!
During Magento Live Europe 2018 in Barcelona, Adobe talked about their concept for the new architecture of their recently acquired e-commerce platform Magento. Magento Commerce Modular Architecture: a more modularised codebase that allows for near-limitless scalability and simpler upgrades. Switching slowly from a Monolithic architecture to a Service Oriented Architecture. Sounds promising and definitely steps in the right direction, however it will probably take a long time before the first stable version of the complete refactoring of the platform is done.
Luckily to help migrating to service oriented architectures and getting a head start of competitors, there is no need to wait for tech giants to complete the transformation of their platform. By design, Service Oriented Architectures allow users to start decoupling services one by one.
One of such services, and one recommended to start with, is the front-end. Being it the Point of Sales, the place where the transaction takes place and where small changes in experience, uptime and performance can make a huge difference for the revenue: optimising the front-end is the place to start. Decoupling a back-end from the front-end is also referred to as “going headless”.
By decoupling the back-end, the front-end becomes a stand-alone service which connects with the back-end services through API or GraphQL. The back-end in this case can be either fully service oriented as well — but more easy and fast is to start with the already existing setup. Many software platforms such as Shopify, Magento and BigCommerce have ready-to-go API’s or GraphQL ready to connect to a stand-alone front-end service.
And guess what? Such stand-alone, headless, decoupled and fully optimised front-ends are now available out of the box to build great experiences! An example of such software is DEITY Falcon, an Open Source Library to build decoupled websites, as a Progressive Web App, built with NodeJS, ReactJS, GraphQL and other modern technologies. DEITY Falcon is built fully component based: a true Service Oriented Architecture making it limitlessly scalable, extensible and integratable — so you don’t have to worry about scalability and performance, or when you want to build custom components and integrate new data sources. Later when you are ready to switch your back-ends fully, or partially — your architecture on the front will help you to do so.
The team behind DEITY Falcon has been building custom-built Service Oriented Architectures for a couple of years now. With the release of their first stand-alone product being the front-end DEITY Falcon, it is planning to release back-end e-commerce products with similar decoupled architectures in the near future.
While Richard Hendricks and the Pied Piper team is trying to fight and decouple the internet completely, we in real life can start decoupling our webshops and other web based platforms today in a fairly easy way. So what are you waiting for? Join the revolution of Pied Piper and start decoupling today by going headless — and save the world of e-commerce.