22 ms·
> The markup cost of using RDS (or any managed database) is worth it. Every so often I price out RDS to replace our colocated SQL Server cluster and it's so un
by electroly 3y ago
> The markup cost of using RDS (or any managed database) is worth it.
Every so often I price out RDS to replace our colocated SQL Server cluster and it's so unrealistically expensive that I just have to laugh. It's absurdly far beyond what I'd be willing to pay. The markup is enough to pay for the colocation rack, the AWS Direct Connects, the servers, the SAN, the SQL Server licenses, the maintenance contracts, and a full-time in-house DBA.
https://calculator.aws/#/estimate?id=48b0bab00fe90c5e6de68d042ff723d7ca16f2af https://calculator.aws/#/estimate?id=48b0bab00fe90c5e6de68d0...
Total 12 months cost: 547,441.85 USD
Once you get past the point where the markup can pay for one or more full-time employees, I think you should consider doing that instead of blindly paying more and more to scale RDS up. You're REALLY paying for it with RDS. At least re-evaluate the choices you made as a fledgling startup once you reach the scale where you're paying AWS "full time engineer" amounts of money.
- vasco 3y agoThat's a huge instance with an enterprise license on top. Most large SaaS companies can run off of $5k / m or cheaper RDS deployments which isn't enough to pay someone. The amount of people running half a million a year RDS bills might not be that large. For most people RDS is worth it as soon as you have backup requirements and would have to implement them yourself.
- electroly 3y agoDefinitely--I recommend this after you've reached the point where you're writing huge checks to AWS. Maybe this is just assumed but I've never seen anyone else add that nuance to the "just use RDS" advice. It's always just "RDS is worth it" full stop, as in this article.
- Aeolun 3y agoTo some extend that is probably true, because when you’ve built a business that needs a 500k/year database fully on RDS it’s already priced into your profits, and switching to a self-hosted database will seem unacceptably risky for something that works just fine.
- groestl 3y ago> it’s already priced into your profits Assuming you have any. You might not, because of AWS.
- sroussey 3y agoI mean, just use supabase instead. So much easier than RDS. Why even deal with AWS directly? Might as well have a Colo if you need AWS.
- rizky05 3y ago[dead]
- sgarland 3y ago> Most large SaaS companies can run off of $5k / m or cheaper RDS Hard disagree. An r6i.12xl Multi-AZ with 7500 IOPS / 500 GiB io1 books at $10K/month on its own. Add a read replica, even Single-AZ at a smaller size, and you’re half that again. And this is without the infra required to run a load balancer / connection pooler. I don’t know what your definition of “large” is, but the described would be adequate at best at the ~100K QPS level. RDS is expensive as hell, because they know most people don’t want to take the time to read docs and understand how to implement a solid backup strategy. That, and they’ve somehow convinced everyone that you don’t have to tune RDS.
- rswail 3y agoIf you're not using GP3 storage that provides 12K minimum IOPS without requiring provisioned IOPS for >400GB storage, as well as 4 volume striping, then you're overpaying. If you don't have a reserved instance, then you're giving up potentially a 50% discount on on-demand pricing. An r6i.12xl is a huge instance. There are other equivalents in the range of instances available (and you can change them as required, with downtime).
- sgarland 3y ago> GP3... as well as 4 volume striping For MySQL and Postgres, RDS stripes across four volumes once you hit 400 GiB. Doesn't matter the type. The latency variation on gp3 is abysmal [0], and the average [1] isn't great either. It's probably fine if you have low demands, or if your working set fits into memory and you can risk the performance hit when you get an uncached query. 12K IOPS sounds nice until you add latency into it. If you have 2 msec latency, then (ignoring various other overheads, and kernel or EBS command merging) the maximum a single thread can accomplish in one second is (1000 msec / 1 sec / 2 msec) = 500 I/O. Depending on your needs that may be fine, of course. > If you don't have a reserved instance, then you're giving up potentially a 50% discount on on-demand pricing. True, of course. Large customers also don't pay retail. > An r6i.12xl is a huge instance. I mean, it goes well past that to .32xl, so I wouldn't say it's huge. I work with DBs with 1 TiB of RAM, and I'm positive there are people here who think those are toys. The original comment I replied to said, "large SaaS," and a .12xl, as I said, would be roughly adequate for ~100K QPS, assuming no absurdly bad queries. [0]: https://www.percona.com/blog/performance-of-various-ebs-storage-types-in-aws/ https://www.percona.com/blog/performance-of-various-ebs-stor... [1]: https://silashansen.medium.com/looking-into-the-new-ebs-gp3-volumes-8eaaa8aff33e https://silashansen.medium.com/looking-into-the-new-ebs-gp3-...
- dzikimarian 3y ago>Most large SaaS companies can run off of $5k / m or cheaper RDS deployments which isn't enough to pay someone. After initial setup, managing equivalent of $5k/m RDS is not full time job. If you add to this, that wages differ a lot around the world, $5k can take you very, very far in terms of paying someone.
- renewiltord 3y agoYou don't get the higher end machines on AWS unless you're a big guy. We have Epyc 9684X on-prem. Cannot match that at the price on AWS. That's just about making the choices. Most companies are not DB-primary.
- sgarland 3y agoI think most people who’ve never experienced native NVMe for a DB are also unaware of just how blindingly fast it is. Even io2 Block Express isn’t the same.
- renewiltord 3y agoYes. We have it 4x striped on those same machines. Burns like lightning.
- sgarland 3y agoThe only problem is it hides all of the horrible queries. Ah well, can’t have it all.
- Cacti 3y agoI have one of those. It’s so fast I don’t even know what to do with it.
- deleted 3y ago[deleted]
- icelancer 3y agoHa, I did just the same thing - and also optimized for an extremely fast per-thread CPU (which you never get from managed service providers). The query times are incredible.
- sroussey 3y agoMost databases expressly say don’t run storage over a network.
- steveBK123 3y agoRDS pricing is deranged at the scales I've seen too. $60k/year for something I could run on just a slice of one of my on-prem $20k servers. This is something we would have run 10s of. $600k/year operational against sub-$100k capital cost pays DBAs, backups, etc with money to spare. Sure, maybe if you are some sort of SaaS with a need for a small single DB, that also needs to be resilient, backed up, rock solid bulletproof.. it makes sense? But how many cases are there of this? If its so fundamental to your product and needs such uptime & redundancy, what are the odds its also reasonably small?
- macNchz 3y ago> Sure, maybe if you are some sort of SaaS with a need for a small single DB, that also needs to be resilient, backed up, rock solid bulletproof.. it makes sense? But how many cases are there of this? Most software startups these days? The blog post is about work done at a startup after all. By the time your db is big enough to cost an unreasonable amount on RDS, you’re likely a big enough team to have options. If you’re a small startup, saving a couple hundred bucks a month by self managing your database is rarely a good choice. There’re more valuable things to work on.
- deleted 3y ago[deleted]
- tw04 3y ago>By the time your db is big enough to cost an unreasonable amount on RDS, you’re likely a big enough team to have options. By the time your db is big enough to cost an unreasonable amount on RDS, you've likely got so much momentum that getting off is nearly impossible as you bleed cash. You can buy a used server and find colocation space and still be pennies on the dollar for even the smallest database. If you're doing more than prototyping, you're probably wasting money.
- theptip 3y agoThat’s just another way of saying the opportunity cost isn’t worth paying to do the migration. Optionality and flexibility are extremely valuable, and that is why cloud compute continues to be popular, especially for rapidly/burstily growing businesses like startups.
- infecto 3y agoThe problem you have here is by the time you reach the size of this DB, you are on a special discount rate within AWS.
- jacurtis 3y agoDiscount rates are actually much better too on the bigger instances. Therefore the "sticker price" that people compare on the public site is no where close to a fair comparison. We technically aren't supposed to talk about pricing publically, but I'm just going to say that we run a few 8XL and 12Xl RDS instances and we pay ~40% off the sticker price. If you switch to Aurora engine the pricing is absurdly complex (its basically impossible to determine without a simulation calculator) but AWS is even more aggressive with discounting on Aurora, not to mention there are some legit amazing feature benefits by switching. I'm still in agreeance that you could do it cheaper yourself at a Data Center. But there are some serious tradeoffs made by doing it that way. One is complexity and it certainly requires several new hiring decisions. Those have their own tangible costs, but there are a huge amount of intangible costs as well like pure inconvenience, more people management, more hiring, split expertise, complexity to network systems, reduce elasticity of decisions, longer commitments, etc.. It's harder to put a price on that. When you account for the discounts at this scale, I think the cost gap between the two solutions is much smaller and these inconveniences and complexities by rolling it yourself are sometimes worth bridging that smaller gap in cost in order to gain those efficiencies.
- jq-r 3y ago> but I'm just going to say that we run a few 8XL and 12Xl RDS instances and we pay ~40% off the sticker price. Genuinely curious, how do you that? We pay a couple of million dollars per year and the biggest spend is RDS. The bulk of those are 8xl and 12xl as you mention and we have a lot of these. We do have savings plans, but those are nowhere near 40%.
- hardolaf 3y agoYeah 40% seems like a pipedream. I was at a Fortune 500 defense firm and we couldn't get any cloud provider to even offer us anything close to that discount if we agreed to move to them for 3-4 years minimum. That org ended up not migrating because it was significantly cheaper to buy land and build datacenters from scratch than to rent in the cloud.
- nyc_data_geek 3y agoSome orgs are looking at moving back to on prem because they're figuring this out. For a while it was vogue to go from capex to opex costs, and C suite people were incentivized to do that via comp structures, hence "digital transformation" ie: migration to public cloud infrastructure. Now, those same orgs are realizing that renting computers actually costs more than owning them, when you're utilizing them to a significant degree. Just like any other asset.
- nextos 3y agoSame experience here. As a small organization, the quotes we got from cloud providers have always been prohibitively expensive compared to running things locally, even when we accounted for geographical redundancy, generous labor costs, etc. Plus, we get to keep know how and avoid lock-in, which are extremely important things in the long term. Besides, running things locally can be refreshingly simple if you are just starting something and you don't need tons of extra stuff, which becomes accidental complexity between you, the problem, and a solution. This old post described that point quite well by comparing Unix to Taco Bell: http://widgetsandshit.com/teddziuba/2010/10/taco-bell-programming.html http://widgetsandshit.com/teddziuba/2010/10/taco-bell-progra.... See HN discussion: https://news.ycombinator.com/item?id=10829512 https://news.ycombinator.com/item?id=10829512. I am sure for some use-cases cloud services might be worth it, especially if you are a large organization and you get huge discounts. But I see lots of business types blindly advocating for clouds, without understanding costs and technical tradeoffs. Fortunately, the trend seems to be plateauing. I see an increasing demand for people with HPC, DB administration, and sysadmin skills.
- layoric 3y ago> Plus, we get to keep know how and avoid lock-in, which are extremely important things in the long term. So much this. The "keep know how" has been so greatly avoided over the past 10 years, I hope people with these skills start getting paid more as more companies realize the cost difference.
- lanstin 3y ago
- Scubabear68 3y agoElsewhere today I recommended RDS, but was thinking of small startup cases that may lack infrastructure chops. But you are totally right it can be expensive. I worked with a startup that had some inefficient queries, normally it would matter, but with RDS it cost $3,000 a month for a tiny user base and not that much data (millions of rows at most).
- rswail 3y agoThat sounds like the app needs some serious surgery.
- deleted 3y ago[deleted]
- j16sdiz 3y agoIn another section , they mentioned they don't have DBA, no app team own the database and the infra team is overwhelmed. RDS make perfect sense for them
- osigurdson 3y agoCloud was supposed to be a commodity. Instead it is priced like at burger at the ski hill.
- dfgdfg34545456 3y agoIf it is such a golden goose, then there will be other competitors come in and compete the price down.
- dijit 3y agonot really, the API lock-in and egregious egress fees will keep competitors at the door. That: and trust is hard earned over a long tail which is harder if you are trying to compete on price.
- osigurdson 3y agoI think trust is the biggest factor. If you willingly lock yourself into a vendor specific product, that is obviously your own choice.
- Sparkyte 3y agoData isn't cheap never was. Paying the licensing fees on top make it more expensive. It really depends on the circunstance a managed database usually has exended support from the compaany providing it. You have to weigh a team's expertise to manage a solution on your own and ensure you spent ample time making it resilient. Other half is the cost of upgrading hardware sometimes it is better to just outright pay a cloud provider if you business does not have enough income to outright buy hardware.There is always an upfront cost. Small databases or test environment databases you can also leverage kubernetes to host an operator for that tiny DB. When it comes to serious data and it needs a beeline recovery strategy RDS. Really it should be a mix self hosted for things you aren't afraid to break. Hosted for the things you put at high risk.
- silisili 3y agoEven for small workloads it's a difficult choice. I ran a small but vital db, and RDS was costing us like 60 bucks a month per env. That's 240/month/app. DynamoDB as a replacement, pay per request, was essentially free. I found Dynamo foreign and rather ugly to code for initially, but am happy with the performance and especially price at the end.
- dfgdfg34545456 3y agoFor big companies such as banks this cost comparison is not as straight forward. They have whole data centres just sitting there for disaster recovery. They periodically do switchovers to test DR. All of this expense goes away when they migrate to cloud.
- nightfly 3y ago> All of this expense goes away when they migrate to cloud. Just to pay someone else enough money to provide the same service and make a profit while do it
- dfgdfg34545456 3y agoWell corporations pay printers to do their printing because they don't want to be in the business of printing. It's the same with infrastructure, a lot of corporations simply don't want to be in the data centre business.
- jabradoodle 3y agoThat's how nearly every aspect of every business works; would you you start a bakery by learning construction and building it yourself?
- AtlasBarfed 3y agoConstruction is a one time cost. It infrastructure is in constant use. It's like accounting and finance. Yeah a lot of companies use tax firms, but they all have finance and accounting in-house.
- jabradoodle 3y agoI don't think that's the important distinction, lots of ongoing costs are outsourced. Amazon may have their own shipping fleet, most retailers of smaller scale pay someone else to do it for profit.
- 3y ago
- AtNightWeCode 3y agoIn your case it sounds more viable to move to VMs instead of RDS, which some cloud providers also recommend.
- emseetech 3y agoFrom what I’ve read, a common model for mmorpg companies is to use on-prem or colocated as their primary and then provision a cloud service for backup or overage. Seems like a solid cost effective approach for when a company reaches a certain scale.
- hardolaf 3y agoLots of companies, like Grinding Gear Games and Square Enix, just rent whole servers for a tiny fraction of the price compared to what the price gouging cloud providers would charge for the same resources. They get the best of both worlds. They can scale up their infrastructure in hours or even minutes and they can move to any other commodity hardware in any other datacenter at the drop of a hat if they get screwed on pricing. Migrating from one server provider (such as IBM) to another (such as Hetzner) can take an experienced team 1-2 weeks at most. Given that pricing updates are usually given 1-3 quarters ahead at a minimum, they have massive leverage over their providers because they an so easily switch. Meanwhile, if AWS decides to jack up their prices, well you're pretty much screwed in the short-term if you designed around their cloud services.
- hknmtt 3y ago[dead]
- fulafel 3y agoI'd add another criticism to the whole quote: > Data is the most critical part of your infrastructure. You lose your network: that’s downtime. You lose your data: that’s a company ending event. The markup cost of using RDS (or any managed database) is worth it. You need well-run, regularly tested, air gapped or otherwise immutable backups of your DB (and other critical biz data). Even if RDS was perfect, it still doesn't protect you from the things that backups protect you from. After you have backups, the idea of paying enormous amounts for RDS in order to keep your company from ending is more far fetched.
- afpx 3y agoThat's the cost of two people.
- raffraffraff 3y agoI agree that RDS is stupidly expensive and not worth it provided that the company actually hires at least 2x full-time database owners who monitor, configure, scale and back up databases. Most startups will just save the money and let developers "own" their own databases or "be responsible for" uptime and backups.
- rr808 3y agoFor a couple hundred grand you can get a team of 20 fully trained people working full time in most parts of the world.
- pconstantine 3y agoPeople, who use MSFT SQL server in 2024 should suffer. For everybody else there's always Neon.
- illumin8 3y agoThis is because you are using SQL Server. Microsoft has intentionally made cloud pricing for SQL server prohibitively expensive for non-Azure cloud workloads by requiring per-core licensing that is extremely punitive for the way EC2 and RDS is architected. This has the effect of making RDS vastly more expensive than running the same workload on bare metal or Azure. Frankly, this is anti-competitive, and the FTC should look into it, however, Microsoft has been anti-competitive and customer hostile for decades, so if you're still using their products, you must have accepted the abuse already.
- pconstantine 3y agoTotally agree. It's cherry-picking some weird case that's not even close to a typical for startup.
- WuxiFingerHold 3y agoAlso, it is often overlooked that you still need skilled people to run RDS. It's certainly not "2-clicks and forget" and "you don't need to pay anyone running your DB". I haven't run a Postgres instance with proper backup and restore, but it doesn't seem like rocket science using barman or pgbackrest.
- parentheses 3y agoWhile I agree that RDS is expensive, you're making two false claims here: 1. Hiring someone full time to work on the database means migrating off RDS 2. Database work is only about spend reduction