3

http://techcrunch.com/2013/12/04/leaked-uber-numbers-which-weve-confirmed-point-to-over-1b-gross-revenue-213m-revenue/

This article says that Uber does about 1M requests a week. Which is about 1.65 reqs a sec.

So does this mean Uber can probably do with just one machine serving their requests? Or am I missing something here?

I realize traffic will be bursty but still doesn't seem like they'd need too many servers even at max load.

Edit: Let's assume we're building a bare bones version of uber where you don't do the realtime GPS locations of drivers & you don't have georeplication.

Say, the app has only this functionality: open the app, and order a cab. The phone triangulates your location and sends a request to the server who then responds with whether a driver was found or not

5
  • 1
    Are you under the impression that Uber India could be served out of New York?
    – user40980
    Apr 22, 2015 at 1:41
  • Are you also under the impression that Uber requests are spaced evenly over all the hours of a day/week? Apr 22, 2015 at 2:47
  • @MichaelT yes....
    – GrowinMan
    Apr 22, 2015 at 5:16
  • @MatthewJamesBriggs I mentioned that I realize that may not be the case, but let's assume so
    – GrowinMan
    Apr 22, 2015 at 5:16
  • It sounds like its one million business transactions, not one million web requests. There's likely many hundreds or thousands or more web requests per business transaction. Apr 22, 2015 at 6:17

3 Answers 3

1

I guess Requests is "request for service" or order. (because there is "completed requests" metric slightly lower)

Their servers also constantly get's pinged by drivers devices (GPS and other stuff), users looking at available cars, gps tracking of users, etc.

I can't even say how many requests it will be for 1 trip. But if every car pings with GPS every minutes - count it. And thats just one thing.

Servers need to process all this data.

No, it's not out of 1 server :)

0

Yes, of course it could. Whether they do is another matter as even Uber will not be running all their business off a single server - they'll have web servers to receive requests, application servers to process the data, and a (clustered?) database server to store the data. (well, I assume they do, chances are they are running it all off a single websever running PHP for all I know).

Servers are very powerful nowadays, for £20,000 you can have a 32-quad-core-cpu with gigabytes of RAM and several network cards. The server processing game changed about ten years ago and made practically unlimited computing available, hence the rise in cloud services as providers had more power than they knew what to do with!

I do know that I used to work for a financial services company that had a trio of servers that was rated for 400,000 transactions per hour. The solitary performance test server could handle way more than 2 requests per second, and this was quite complicated transactions involving a lot of data transfer, aggregation and checking. I also worked for a company making emergency service control systems, thousands of vehicles sending in location data isn't as heavy a load as you'd think, its very easy to handle large amounts of data packets like this, storing them was more of an issue (and you simply cache them in RAM until you have a block to persist together - assuming Uber has the same audit requirements, they could just be keeping the last-known location and throwing away the rest)

0

There's one big piece of the puzzle you're missing: response time. Even if the load were light and manageable by one server, and I can't really comment on whether it is or not, you'd have potential latency issues from having Uber in the US served by a single server residing in Australia or Belarus.

If you look at news reports of Uber going down, you'll notice that Uber tends to go down regionally with rare global outages. My thought would thus be that Uber relies on cloud-based or perhaps managed hosting solutions in regional data centers across areas where they do business. It's also possible that they have required pieces of the application sitting locally with some very core functionality hosted out of a single data center. That doesn't even begin to touch on details of storage or SANs, database clusters, CDNs, etc.

With cloud-based hosting becoming more prevalent, the idea of something running on n number of servers becomes less relevant while ideas like request volume and compute time become more relevant. Look at the pricing models for services like Amazon EC2. Billing is expressed in hours of compute time, not quantity of infrastructure.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.