4 ms·
On a traditional model (ie building a datacenter or colocating in a datacenter) then I think what you are saying is 100% accurate. You would have fixed costs an
by jacurtis 8y ago
On a traditional model (ie building a datacenter or colocating in a datacenter) then I think what you are saying is 100% accurate. You would have fixed costs and variable costs which make it difficult to break overall costs into a "per-ride" expense. This is because, as you mentioned, some fixed costs in their current state may be able to handle higher volume than they are currently utilized on. Thus, as rides go up, not all costs would go up linearly.
However, in the case of AWS and other cloud service providers, virtually all products and services are charged on a per-usage basis. Meaning that if the average Lyft ride requires 60 database api calls (say a 10 minute ride with location updates every 10 seconds = 60 location updates/db writes) then AWS charges you for 60 api calls. If the average ride takes 11 minutes, then it would take 66 api calls and so forth. In this case, this cost is a variable cost and maps directly to a specific ride. If that ride had not existed, then that cost would not have been incurred.
Take a look at AWS pricing pages and you will see that all prices are broken down into very specific per-usage costs. Some services break this up very deeply, on ingress usage, egress usage, storage usage, api usage, etc all together calculate the cost that the service uses.
Looking at the Lyft Case Study that AWS published (you can view here: https://aws.amazon.com/solutions/case-studies/lyft/ https://aws.amazon.com/solutions/case-studies/lyft/), it appears they primarily use Redshift, Kinesis, DynamoDB, and EC2/ECR services. All of these are heavily usage based. The least usage-based service they use would be their EC2 servers. Since a server is rarely running at max-capacity it means that one extra lyft ride doesn't necessarily mean another server. So the EC2 costs for that ride would be the same if it had or had not existed. But it looks like they are heavily reliant on using ECR to auto-scale their servers up and down based on usage. So they are probably running many clusters of smaller servers that move up and down as rides increase. This means that even their EC2 servers are fairly closely mapped to actual usage of their platform. During a slow period they will be running far fewer EC2 servers than during a peak period. So even in this case their costs are relatively variable.
All in all, I would say that you actually could extrapolate the total cost of AWS on a per-ride basis, because that is the variable that effects their costs. If they had 1 less ride this month, their bill would ACTUALLY be 14 cents lower (or somewhat close to it). They do incur a direct cost with each individual ride. If there are fixed AWS costs in there, it probably accounts for less than 1 penny of that 14 cents. For example there are a few fixed costs if they are using AWS DirectConnect or AWS Private Link to connect to AWS Datacenters. But this accounts for probably a few thousand dollars a month at most and in total would have minimal effect on thier per-ride cost at the current scale that Lyft is at.
edit: spelling
- SilasX 8y agoJust to clarify, I would agree that 14 cents is an accurate figure even if a single ride didn't translate to 14 cents, but doubling the rides increased the spend by an average of 14 cents. My suspicion is that a bulk of those costs aren't things that scale with more rides coming in.
- Dylan16807 8y agoYou think their fixed AWS costs are more than 4 million per month, even with almost zero users? I sure hope not.
- SilasX 8y agoI've worked at startups with AWS technical debt that ended up costing them an amount way out of line with what they really needed to use. With that said, I'm definitely confused by (the evidence introduced in) the GP's response (linking to the Lyft/AWS video). I mean, both AWS and Lyft are trumpeting the setup as an efficient use of AWS, and it still comes to $0.14/ride? That doesn't add up.