6 ms·
> From a business impact perspective, operating LedgerStore is now very cost-effective due to reduced spend on DynamoDB. The estimated yearly savings are over $
by candiddevmike 2y ago
> From a business impact perspective, operating LedgerStore is now very cost-effective due to reduced spend on DynamoDB. The estimated yearly savings are over $6 million per year.
I'd like to see this broken out more. You replaced a managed service with a custom DB on top of MySQL. Surely there is a significant amount of engineering effort that was/is being spent to create/maintain this.
- stackskipton 2y agoYea, 6 Million is about ~15 Engineers at Uber Total Comp average.
- BiteCode_dev 2y agoManaged services still require engineering efforts. I have never seen a transition to a cloud service that actually didn't end up requiring a new hire. It's the dirty little secret of our industry.
- echelon 2y agoThis is the biggest nasty secret about cloud (and SaaS for things you don't build in-house). When my last company transitioned to cloud, all of the on-prem folks had to additionally take on that responsibility. We then had to hire a bunch of new folks to ease the transition and manage the cloud pieces. And then there are new teams spun up for permissions and security. Your headcount requirements are not going to go down because of cloud. As for those that like to call DIY systems "weirdware": homegrown systems are expensive to engineer, but cheap to run. We 10x'd our cost going to 3rd party visibility and feature flagging versus the thinly staffed [1] homegrown systems. And those 3rd party systems also required a ton of engineering to support, the migrations weren't clean, and they missed a lot of key features that we had to upstream to the third parties! When SignalFx got bought out by Splunk, I've never seen an annual plan get re-wired so hastily. Top priority was moving to a new vendor, and that impacted every single team in the company. The only real tangible benefit to cloud that I've seen is that a team can instantly provision hardware, database, etc. resources without much planning. That's it. And is that worth it? (I don't really think so.) [1] Once built, half an engineering headcount per quarter to accommodate new features. Oncall rotation for one team that owned the systems. Our stuff was high resiliency and barely paged at all. No SEV1 or worse outages ever.
- deanCommie 2y agoWhat a short-sighted outlook 1) "homegrown systems are expensive to engineer, but cheap to run" misses the most important part - how much does it cost to maintain, and how much of a RISK is it? Homegrown probably means you're depending on tribal knowledge from a few core people who if they leave you're hosed. That's a risk. You also have to train EVERYONE you hire to learn the homegrown systems, instead of hiring people with externally transferrable skills that can come in and hit the ground running. 2) all of the on-prem folks had to additionally take on that responsibility Most transitions/migrations always end up with a period where you have both systems running. It's not surprising that at first everyone has additional responsibilities. It sounds like the "on-prem folks" either didn't have the skills to work in the cloud or refused to learn, and needed external hires. Well, that's one way to put themselves out of a job, and that would be the next step once the homegrown system is deprecated. Obviously there's a reason why "not invented here" syndrome exists. There's a reason "build vs buy" is a complex discussion because of more than just buy costs. People always prefer the home-grown thing, DIY. Engineers especially. On this site, particularly. And, also, plenty of successful businesses exist by cutting out layers and going on a shallower stack ("your margin is my opportunity"). But at the end of the day, for the vast majority of businesses, companies, and software shops, managing their own in-house infrastructure is a worse decision than paying a cloud vendor.
- aledalgrande 2y agoI see both points but I have to agree with this one, especially if we’re talking small companies. A startup should outsource everything that is outside their core product (but not more than that), so they can focus on making their product top class.
- jcelerier 2y ago> Homegrown probably means you're depending on tribal knowledge from a few core people who if they leave you're hosed. there's so much complexity and tribal knowledge with cloud deployments that if tomorrow our cloud experts leave we're also very definitely hosed too, despite everything being documented thoroughly. I'm involved in a product that leverages a cloud-based metaverse system (Mozilla Hubs) that recently had organisational changes requiring us to change our hosting approach, and it's taking the better part of a year of work to understand its logic, for something that would have been a non-issue if homegrown & self-hosted.
- roncesvalles 2y agoEh, sure but it's not the same person. There are far more people who can "do cloud" than those who genuinely understand distributed systems well enough to build and operate a homegrown data infrastructure.
- makmanalp 2y agoTrue, but anyone who's a cheaper hire because they can "do cloud" but not homegrown also represents a sacrifice in terms of what's you get. In terms of your operational capabilities, you'll likely be paying for that with a crisis first where everyone yells at your team because of a problem in your managed provider you can't fix, and you can't get someone from the provider on the line and helpful in a way that gets you out of it faster. So then you'll tack on add a massive yearly support retainer for a response time SLA that's still bad for your business bottom line and support that's not incentivized to prioritize you. I have stories from name-brand PaaS/IaaS companies. It's like outsourcing (I don't mean offshore, I mean any kind). It can be a reasonable thing to do if you don't pretend you're getting the same thing for less money and really actually plan around that. But people often do pretend it's the same, and the results aren't immediately apparent. And when they're finally blatantly apparent, either the guilty party has cashed out and left, or people don't have enough perspective to point to the real root cause. I'm not saying building your own infra is generally a good idea of course. It's just that beyond a certain size, for more businesses than you'd think, reliability has to be a core competency you invest in. And homegrown is a lot easier than it used to be because the offerings in terms of tooling and platforms are way better such that you can strategically craft your level of managedness for optimum cost/benefit on multiple criteria.
- 999900000999 2y agoIt depends on your scale. As a solo dev just being able to point my apps to firebase and not worry about it saves a ridiculous amount of time. At Uber's scale they probably have to tweak Dynamo and other services so much they might as well bring em in house. I'm a bit surprised we haven't seen a new AWS, something like Walmart Web Services.
- wongarsu 2y agoOn the other hand as a solo dev `sudo apt-get install postgresql` plus a short tweak of your pg_hba.conf and a quick script to run pg_dump every night is about as much work as setting up a cloud service. Managed databases provide a lot of useful features, especially if shit hits the fan. I'm not saying you shouldn't use them. But the work you put into reasonable self-hosted services and reasonable managed services often scale at a surprisingly similar pace.
- 999900000999 2y agoAlright, what about Auth or other features Firebase has built in ? I still have to host it somewhere.
- BiteCode_dev 2y agoAuth is included in your stack, e.g: django comes with it. Plus you own the accounts, so you are not locked in. Sync is the firebase kill feature, but most apps can live without it.
- 999900000999 2y agoFor a side project it's not that serious. Firebase is ready to go without me thinking of the details. If I'm using Flutter or React, I already have a nice client side sdk to use. The 12th of never when I need to scale it I can switch to a different stack. Firebase functions allows me to do some server side data manipulation. That said, if I was at work and needed to propose something I'd probably spend more time thinking of this. But for all my side projects firebase is my goto. Let's just say we're having a competition to see who can crank out a basic crud app first. You're not beating me with Flutter and Firebase.
- rco8786 2y agoBingo. You still need your whole Ops and tooling teams. They just become Cloud Ops and Cloud Tooling.
- devjab 2y agoYou wish! In my experience they just load all the cloud work on to developers. Like, I’m setting up virtual networks, private endpoints, firewalls and what not, because if I don’t there won’t be horrible (I basically knew nothing about networking before I did it and I still don’t know if anything we do is correct in any manner) security but no security. It’ll bite the company in the ass eventually, or maybe it won’t, but it is what it is.
- diob 2y agoI don't think it's a secret, I think the idea is it will allow you to be more resilient then a custom solution. Why? If the person(s) who made the custom solution leave, you can't as easily hire a replacement. What's more, hiring immediately effective folks becomes harder, even if those folks who made it don't leave. It's a tradeoff, but I don't think folks are keeping secrets around it.
- otabdeveloper4 2y agoNot true. The hiring pool for developers that know Postgres is maybe a thousand times larger than those that know DynamoDB.
- lanstin 2y agoCloud costs more but gives you data enter as a service. Software defined everything.
- acchow 2y agoWhat about after the transition is complete? Surely managing a… managed service… is less costly?
- stefan_ 2y agoWhen did this profession turn into a bunch of people that never want to build anything ever again? I guess I finally understand what they meant by "no one ever got fired buying IBM".
- gigatexal 2y ago6M in total UBER spend is it really a worthwhile chunk of change? I mean I’m here for the tech of course just curious from the cost benefit part.
- bastawhiz 2y agoSix million dollars is six million dollars. Now, if that's a team of eight delivering that value, yeah, it's a great deal. If it's an org of 100 people, 6M is much less exciting. I'd suspect it's the former.
- anomaloustho 2y agoI think another angle that often gets overlooked is that building out these tools is a competitive edge and valuation multiplier. Harkening back to Paul Graham’s “Beating the Averages” talk about Lisp - they’ve solved problems that their competitors are also trying to solve, which could give an edge. From the valuation perspective, for that same reason, this is now an asset that can be acquired as a technology on its own - whereas using MySQL adds no intrinsic value.