By Michael Parkinson
Head of Engineering - River Island
The retail sector, particularly established bricks and mortar businesses, tend to have a legacy of evolved software platforms. Many of these highly sophisticated software platforms have provided a stable platform for growth for many years and remain core to the success of multi-million pound retailers. However, these monolithic legacy systems have become increasingly difficult to maintain and are starting to slow down a retailer’s ability to deliver technology change.
Managing and developing highly complex legacy systems has become a dark art. Doing so with any level of agility is a serious challenge. Typically, master data is held on multiple diverse systems and the ability of the IT department to innovate and drive change is severely impeded. With long project lead times, it is incredibly difficult to innovate – the business can only hope to just about keep up with the competition.
Technology is moving ever faster and is now so deeply embedded in the retail experience that we need to be able to move at pace to meet customer expectations. At River Island, we see this as a challenge. We have rebuilt our infrastructure to allow us to deploy new technology more rapidly and, of course, we have taken the huge step of moving to the cloud, in the shape of Amazon Web Services. It is here that we decided to start using microservices as a way of decoupling our legacy architecture and giving us the launchpad for our future IT landscape.
We are actively moving from our old-style co-hosted fixed tin and are now focusing increasingly on using AWS as a means of creating a more resilient and repeatable platform for our success. Using automation technologies like Terraform to create our infrastructure as code, we can quickly and reliably spin up an environment. When the business needs to change, instead of this being a deep vertical change through multiple heavyweight legacy technical stacks demanding a lot of regression testing, our increasingly decoupled architecture makes each change small and independent, minimising its impact across the estate.
We strongly believe that Golang (Go) is the right programming language for microservices and whilst this is a challenging area to recruit into, it is the right tool for the job.
As part of this fundamental technology shift we have adopted Agile and Lean ways of working, deeply embedding the Agile and Lean principles into our engineering teams, portfolio management and are now driving out more DevOps ways of working into our operations and support functions. In short, we have fundamentally changed our culture at River Island.
We can now develop a new plug-in for a particular set of APIs in our microservice domain and implement it very quickly, test it and check it has had the desired impact on the bottom line. If it has, we can move on and roll out the change more widely. If it has not worked as we hoped, we can simply scrap it and go in a different direction. This Fail Fast, Fail Early attitude is enabled not only by our adoption of Agile and our ever-evolving CICD stack but, more importantly, by the top down empowerment that allowed us to bring in Microservices to start with.
This way, instead of it taking six months to make a change, it could take as little as two weeks. There is minimal cost to failure. We are really excited about the way this gives us the ability to be responsive to our customers, our stores and our internal customers. We can access data that had previously been siloed in multiple systems in real time to make real-time decisions based on a single view of the customer or the product. Microservices is fundamental to that.
River Island is not alone in seeing the benefits of microservices – Tesco and Sainsbury’s and the likes of Netflix and Uber are using microservices technology, too.
Businesses trying to boil the ocean will fail. Here at River Island, we evolve our way of working in a way that is sustainable. We began with a successful proof of concept for microservices. We then took on our first project using microservices, implementing RFID for stock taking, and that was very successful.
We learned from that and we are now running many projects using microservices. We have started decoupling things like order management and providing payment as a service, rather than as a deeply integrated piece of code. Now if we want to introduce new payment methods, we can do that in a relatively short timescale.
The AWS infrastructure also provides significant resiliency. In the past, if part of the system failed it could take the whole thing down like a deck of cards. Now, if one element fails it is isolated and we can recover from it more gracefully.
It has been challenging for established bricks and mortar retailers to compete with the likes of pure plays such as Asos. However, using the microservices approach, we can compete on agility while having the advantage of owning extensive, valuable data and having deep customer relationships formed over decades.
Artificial intelligence and machine learning are increasingly helping us make the most of this data. Even six months ago AI was a nice to have. Now it is becoming critical to the retail business. There are many opportunities within the business for innovating with AI and ML to facilitate decision-making and to expose data that we weren't aware of previously, in a way that is flexible and easy to manage. The key is to give AI the scope to tell us things we didn't know!
Help us innovate
River Island has been very successful for many years but its IT systems were lagging behind. Now, with AWS and microservices we are in a fantastic position to leapfrog over legacy technologies. We are right on the cutting edge with the technology we are using and we don't want to stop innovating. We want to hire people who are pioneers. In return, we will empower them with the ability to control their own destiny and to get involved in something that is genuinely exciting.
We are looking for people who will take ownership and pride in what they’re doing, enjoy problem-solving and who simply get on with the job of making innovation work for the business.
For more information on the type of engineering roles we have on offer please see our vacancies page.