When the US logistics giant UPS acquired i-parcel in 2014 they started a company-wide move towards microservices, NoSQL databases and a more adventurous approach to technology.
The story of an enterprise adopting a startup culture following an acquisition is well worn, and speaking at MongoDB World in New York this week, Yursil Kidwai, VP of technology at UPS i-parcel hit the usual notes: “UPS was looking towards our startup energy, adventurousness with technology.”
Culturally, as well as technologically, the arrival of a young upstart into a century old enterprise like US logistics company UPS can lead to teething problems, but the reward of greater agility is as much of a driver for these sort of acquisitions as the technology and the people themselves.
As Kidwai said: “UPS is a very regimented culture and they are one of the oldest businesses in the country. Their ability to engineer through problems is respected but on the other side they are very risk averse and we are kind of the opposite […] There is a lot of legacy technology there, and legacy people, so those are all different barriers but we were essentially told that we were going to be allowed to grow.”
The startup i-parcel had its own technology problems to deal with first though. Just before being acquired, i-parcel was already seeing its technology struggle to scale and had put in place a project, called operations 2.0, to change that.
Then the acquisition happened, and the company realised that with the heft of UPS behind them they would need to scale immediately. However the project had some new, unique challenges post-acquisition.
“First we weren’t able to speak with the developers of operations 1.0 because of an intellectual property issue. They wanted to make sure 2.0 was completely owned by UPS but at the same time they gave us free reign to make technology decisions for the software,” Kidwai said.
From SQL Server to MongoDB
Operations 1.0 ran on SQL server, and this caused issues for the business both in terms of speed and downtime, so they started looking at NoSQL vendors. Where MongoDB stood out for them was in their area of biggest concern: dynamic queries.
“Whenever we had to modify a column or add a column to a table it resulted in downtime and that was a huge problem,” Kidwai said. “The tables were constantly being written to, so there was no way to manage that kind of volume while making schema changes.
“If we had these SQL classic issues with changing the schema that would have stopped us dead. That is why when we were choosing our technology stack we looked at software that would allow us to write dynamic queries and schemas, be redundant and scale.”
The company also moved from a monolithic application in 1.0 to a more microservice architecture, distributing the application across Azure Platform-as-a-Service (PaaS) data centres so there wasn’t a single point of failure. Kidwai said they are “hitting five nines for uptime now.”
According to his LinkedIn profile, Kidwai’s role now is to extend these modern IT approaches to UPS classic, as he likes to call it, “through the introduction of modern development techniques [read: microservices], cloud services and NoSQL technologies.” Kidwai said that there would have been greater hesitancy or resistance towards a technology like MongoDB at UPS before they had proven it out with operations 2.0.
Kidwai said that i-parcel can reduce the cost of shipping an item to Australia from $70 (£53) to $10 (£7.50), which is an important difference in the world of ecommerce (UPS i-parcel also offers various front end services and plugins for ecommerce vendors).
The way i-parcel achieves its low price point is by glueing together various logistics vendors in each geography and by using technology to take advantage of unused transport capacity for parcels, such as on commercial airlines or by using local courier services.
This conglomerate of vendors leads to technical challenges though: “There are multiple layers for each delivery and the system has to pick the right one, notify each company involved and give them the data they need in the right format. So the project was an intense one as we had to work with different file formats for every vendor.”
Now, MongoDB powers everything related to a parcel, so all the tracking events, including: consignee data, origin, route, costing, events along the route, details about the flights and how the transportation is going to occur. This data powers applications for operations teams to perform efficiently, and drives consumer facing applications like real-time parcel tracking and notifications.
UPS i-parcel is using three MongoDB shards (sharding is a method for distributing data across multiple machines, according to MongoDB), with replica sets of three servers per set, processing about two terabytes of data.
This figure is constantly rising as every parcel ends up creating another ten to twenty events, and i-parcel currently see more than 10,000 parcels enter the network daily. “We need to continue to import events from multiple vendors and let our customers know the disposition of the parcel along the way.”
The move to operations 2.0 has already seen processing times for parcels come down from as high as 60 seconds to under two seconds, according to Kidwai.