Retail and logistics firm Ocado is running an OpenStack-based private cloud at its latest warehouse, allowing it to automate the infrastructure underpinning its robotics systems.
One of the striking features of Ocado’s latest warehouse is the thousands of ‘bots’ used to collect shopping items from crates and pack them for delivery to customers. The robotic ‘pickers’ travel at high speeds on rails along a grid, missing each other by small margins. “These bots move at a very high velocity - up to four metres per second - and they run past each other with literally centimetres of separation,” says Ocado Technology head of infrastructure, Chris Dabrowski.
Managing these machines creates some interesting technical challenges for the Ocado IT team. It has required, for example, that the company set up its own 4G network to provide real-time control and monitoring communications between its machines.
The wireless control system provides a guaranteed connection 10 times a second to each of 1,000 robots per access point – all working within a 50-metre radius. This requires fast connections and rules out moving data to public cloud provider's data centres due to distance.
“To avoid collisions we wanted to have very low-latency communication protocols to manage the bots in the entirety of the fleet. And if that was to be hosted further away - and orders of magnitude higher in milliseconds - it would be problematic to our management of these bots,” Dabrowski explains.
With this in mind, Ocado chose to build an OpenStack-based private cloud as part of its Smart Platform technology that is both used at its Andover customer fulfilment centre and sold to supermarkets such as Morrisons.
“For Ocado Smart Platform some of services naturally lend themselves towards being customer-facing, and therefore on a public cloud. However other elements of the same service are very closely coupled to the underlying automation, robotics and IT we have in our warehouses,” says Dabrowski.
“For low-latency reasons we needed to provide environments that offer flexible hosting close to those systems. And so that is where the driving force arose for having OpenStack, which is based on-prem in our newer facilities.”
Ocado’s OpenStack systems currently span 5,000 CPU cores, with 27 terabytes of RAM running 1,750 virtual machines. It supports several applications, including those related to the control system of the robots, says Dabrowski. “We also use databases to store status information from robots and pick stations - all of this is running on top of OpenStack.”
While the low-latency requirements are met by the on-premise data centre, much of the analytics on the data generated is carried using Google Cloud. There are a number of reasons for this, partly due to the ability to scale the amount of data stored. In total, Ocado now has half a petabyte of data stored in Big Query – twenty times what it had running on its on-prem Oracle databases previously.
“We are a big fan of 'big data' analysis,” says Dabrowski. “We pump out huge amounts of data from every aspect of our workflows and technologies and systems of monitoring, and the bot data is captured locally and then proxied through our systems up to the cloud for further analysis.”
The use of OpenStack is part of the company’s move away from using off-the-shelf software and adopt open source tools more widely. This includes Apache Tomcat, Kubernetes, Docker, Django, CoreOS and NGINX. It is also using Google’s open source TensorFlow tools for machine learning projects.
“OpenStack aligns our strategy and philosophy of using more open source technologies. So when we wanted to revamp our stack entirely, we went as far as we could to use external community projects, rather than commercial off the shelf ones. We felt the open source nature allowed us to add features and modify them to our requirements more easily than commercial software provides.
“Our older, initial deployments of our customer fulfilment centres, they were originally built 15 or so years ago. They were cutting edge at the time as enterprise systems. We had a mixture of Oracle, VMware, NetApp. All the enterprise systems which were the current flavour of the month,” he says.
“Those have moved on and the industry has advanced in terms of having better, more agile, more flexible, lower cost, dynamic, self managed systems, and so we have moved with that, pushing the boundaries as we go along.”