Our guest blog post today comes from James Donkin, General Manager Ocado Technology at Ocado, the only dedicated online supermarket in the UK and the world’s largest online grocery retailer.

Ocado is the world's largest online-only grocery retailer, reaching over 70% of British households, shipping over 150,000 orders a week or 1.1M items a day.

Ocado doesn’t operate out of physical stores. Instead, our customers place their orders online via our webshop and mobile applications. These orders are then picked and packed in huge automated Customer Fulfilment Centres (CFCs), the largest of their kind in the world. They are then delivered to customers’ kitchens in one hour delivery slots by our own delivery fleet.

Technology is at the core of almost everything Ocado does. We consider ourselves a technology company that also does retail. Our culture and make-up is much closer to that of Google than it is a bricks and mortar retailer. We started shipping orders in 2002 and over the past 12 years we have been engaged in a continual process of rapid innovation. Our solution is as unique as our business model and the fact that we own almost every line of source code in this solution means we can evolve it, optimise it and exploit it.

We have a unique business model that is considered highly disruptive within the retail sector, due in part to the scale of automation that we employ.

From the customer’s perspective it’s all about delivering the highest levels of service, quality and choice at a compelling price that all flow from our level of automation - it’s also about providing a customer experience that is irresistible in terms of its convenience and simplicity.

However under the surface, that simplicity does not come easily and is achieved by a huge level of complexity in terms of the processes, automation, software, algorithms, optimisations and data that make it happen. We rely on Google Cloud Platform to do the heavy lifting on data processing and integration so we can focus on what we do best: getting quality groceries to customers in the quickest time possible.

Six months ago, we were ready to make the shift to the cloud and researched Cloud Platform. We were familiar with Google's offerings since we've used Google Apps since 2010. We wanted to evaluate App Engine so we ran a series of intern development projects on this platform and found that the service is easy to use, offers security features like auditing and integrates nicely with other Cloud Platform products including Google Compute Engine and Google Cloud Storage, which increases the productivity and performance of the overall platform. App Engine also scales on demand automatically so that we don’t have to overprovision up front. We can get something live very quickly by just adding a small amount of code and pushing it out, compared to other cloud services where we would have had to build the whole stack from scratch.
big-data-architecture_v01.png
We use Compute Engine to run a big data processing pipeline based on Hadoop and process a terabyte of data per week in order to build better experiences for our customers. Compute Engine is flexible, has a great API, works well with App Engine and has high quality, consistent performance, particularly when starting new instances. We’re moving from more traditional relational database technologies to distributed processing, and with Compute Engine, we can try new technologies quickly and be more agile, rather than having to provision and install additional physical machines. We also use Google Cloud Datastore, which scales easily on demand to handle massive amounts of data.

We use Cloud Storage for secure storage of all data we send to and receive from third-parties and partners. It automatically backs up the data and has a good REST API. Meanwhile, we are experimenting with Google Cloud SQL and are finding it makes it easier to port existing applications to the cloud, and supports immediate atomic consistency, an important feature for some solutions. We don’t have anything in production at the moment but are excited about Cloud SQL’s recent general availability.

Cloud Platform is constantly developing and releasing new products and features that allow us to do even more with our data and applications. The data processing features and web analytics capabilities enable us to optimize our site to provide our customers with the best online experience. The ease, integration and scalability that Google offers with Cloud Platform allow us to offer the simplest, fastest and best online grocery shopping around, which is why customers choose to shop with us.

-Posted by James Donkin, General Manager, Ocado