Back in 2012, two engineers built the first prototype of ride-hailing app Lyft over the course of three weeks. They hosted it on three virtual machines in Amazon Web Services’ cloud and on May 31 of that year the first-ever Lyft ride was processed.
Today, Lyft provides nearly 14 million rides per month and the company continues to run its infrastructure operations from AWS’s cloud, according to CTO Chris Lambert. “The only difference now… We’re taking advantage of many more Amazon technologies,” said Lambert, at a recent AWS Summit in New York, describing the company’s timeline of using the cloud. (See video of Lambert's AWS Summit talk below.)
Lyft is the story of a startup born in the cloud and one that has chosen to remain operating from AWS’s cloud even as it has grown to a large scale.
From one Lyft ride to 1 million
Within 15 months of Lyft launching, the company had already processed its 1 millionth ride in August 2013 and expanded from San Francisco to Los Angeles. In April 2014, the company launched in 24 new cities in 24 hours, more than doubling Lyft’s footprint overnight. The cloud’s on-demand elasticity of resources made that possible.
“The engineering approach to this problem was to just get out of the way, [and] enable auto-scaling,” Lambert explains. “Let’s make it so that whatever happens in the real world – whether it's a rainstorm or the Super Bowl, anything that happens, we can handle it; our infrastructure should just scale up seamlessly.”
Just as important as scaling up services was scaling them down, he says. Lyft has cyclical demand: the company’s peak time is on a Saturday night when it has 8 times the usage compared to a Sunday morning. “Auto-scaling also allows us to scale down our infrastructure to save a significant amount on infrastructure costs when we don’t need to pay for it,” Lambert says.
All that rapid growth created a data problem for Lyft. To help manage the storage of ever-increasing data, in June of 2014 Lyft began using Amazon’s DynamoDB, a NoSQL database that has consistent performance as additional data is loaded into it. It was the perfect platform for hosting the GPS location of every Lyft ride given that the company uses to power its location tracking system.
Lyft also began using RedShift, Amazon’s data warehouse tool. It allowed the on-demand transportation company to analyze data stored in the cloud. Through analysis, company engineers estimated that up to 90% of rides during peak times had similar routes. This led to the introduction of Lyft Line – a service that allows customers to save up to 60% by carpooling with others who are going in the same direction.
Last summer, Lyft began using Amazon Kinesis, a real-time streaming platform. Now, every production event in Lyft’s system is sent through Kinesis – every time the app is opened, every time a ride is requested, each time a car moves. Other services in the Lyft app are able to “subscribe” to events uploaded into Kinesis. Every time a payment is added to the system the company’s fraud system is notified to run a check to ensure the transaction is normal. Each time a driver enters a new neighborhood, the pricing system updates payment information.
Today, Lambert predicts that there are more than 100 microservices that have been developed by the company’s engineering team, each operating independently and scaling up and down individually that combine to make up the service.
The company now has a $1 billion revenue run rate, 1,300 employees and as of last year 315,000 active drivers.