As CTO and Head of Engineering at Flipkart, Ravi Garikipati is the man who’s responsible for making sure that the company’s apps and sites stay cutting edge, and also keep functioning during the huge traffic spikes of the big sales that are regular fare for e-commerce sites in India. A few months ago,Flipkart announced a partnership with Microsoft, wherein it would use Azure for its cloud needs. In the past though, Flipkart has talked about how it has built out its own cloud infrastructure, and industry-watchers had speculated that the e-commerce giant could offer cloud services along the lines of Amazon’s AWS. Garikipati shuts down the idea but explains that Flipkart continues to invest in R&D and development of its own cloud infrastructure.
“We continue to stay invested in our own private cloud that is built characteristically for our own private requirements,” says Garikipati. “Azure can be useful for spikes during sales events, and also for our ad hoc data and analytical needs.”
“We also use it for performance and reliability needs before a sales event, where we can spin off instances in Azure,” he adds, saying, “and over time we also look to set up and leverage Azure cloud in a hybrid modality, where some of our services will also exist in the Azure cloud.”
Garikipati explains that artificial intelligence (AI) and machine learning (ML) are major components of the technology being applied by Flipkart to deliver features on the site, and to deliver products to customers.
“We strongly believe that the war [in e-commerce] is more around how well you can leverage the data assets within your organisation,” explains Garikipati. “We’ve been around for 10 years and have a huge amount of data. We have made significant investments in our data platform, [and our] data scientists are working closely with the business side to solve a number of different problems.”
This applies in a number of different ways, he explains. “In discovery it’s largely around personalisation, being able to come up with a model that’s optimised for better conversion, and to largely create more engagement in terms of click through rate,” says Garikipati. “We also use our machine learning model to bubble up appropriate recommendations.”
“We also have ML installed in the catalogue, with tens of millions of listings on our platform, and to be able to sort of look at every listing in terms of completeness and the images, and all the attributes being in place, this is something that we use a lot of ML to solve the problem because it’s not tenable to throw people at the problem,” he adds.
Instead, Flipkart uses computer vision to look at the images being put up on the site, and determine if they are suitable. At the same time, it is also able to use this technology to extract metadata from the images, which can be used for better search and recommendations.
“There are a bunch of other areas, such as fraud detection in returns, and leakages in the supply chain,” Garikipati explains. “Flipkart stores sells millions of unique items through its fulfilment centres, and these items need to be picked up from warehouses and seller locations and end up at the customer.”
“How do we actually pick items, pack items, and ship them at various nodes, that is all done through the planner which looks at the frequency and planning of every activity,” he adds. “It’s a kind of optimisation function, and the constraint is the customer promised shipment date. We have to maximise the resource utilisation and reduce the cost. We build a proprietary algorithm using a distributed model to solve this.”
Steadying for sales
Sales are now a regular occurrence on e-commerce sites, rather than big one-off events. Nonetheless, Garikipati tells source, when there is a sale taking place, the number of users on the sites and apps is a few orders of magnitude higher than the daily active users that Flipkart sees.
“Typically we spend a couple of weeks burning the midnight oil just to test,” says Garikipati. “In our stack we have close to 1,000 odd services, and ours is an SOA [Service Oriented Architecture] driven architecture, where all these services work off each other, so we have to work on it to make sure that everything can handle the load.”
“We work closely with the business teams, and learn about the flows in the app in terms of what people will be using, and then we can build for stress for that,” he adds. “So we have to simulate the same load characteristics, on our app, desktop, or m-site, and we will inevitably come across some weaknesses that our team can then work on.”
With the increasing pace of sales, the team has to work to bring the “red line” (beyond which things start to fail) higher, and Garikipatti explained that there is “every effort to keep the red line where it is”. This means that the next sale goes more easily, he added.