5 ms·
Using publicly available costing data from last November, I see that an m4.xlarge RDS reserved instance of SQL Server Enterprise Edition with multi-AZ failover
by hotsauceror 7y ago
Using publicly available costing data from last November, I see that an m4.xlarge RDS reserved instance of SQL Server Enterprise Edition with multi-AZ failover is $39,000 / year. If I have 4 DBAs at a cost of $150K / yr salary + benefits, that's the equivalent of around 15 smallish, managed SQL Server instances. My current SQL footprint is on the order of 600 instances, which works out to be a bit over $23M a year. It is true that I've saved the $600K on the expensive personnel, though...
- user5994461 7y agoHow much is the license for SQL enterprise nowadays? still 5k per node or does Microsoft charge per socket now?
- hotsauceror 7y agoDepends on your organization, the licensing model you pick, etc. They generally license per core now, and you have to run at least 4 cores. Without giving too much away I'd say the cost of licensing a 4-core box running Enterprise is on the order of $20K, which you pay one time, up front. Then you just pay for your support contract. You can also do stuff like license an entire VMware farm or failover cluster, and then you can overprovision services for extra cost savings.
- RussianCow 7y agoAs your operation gets bigger, the scale generally starts to tip in favor of running your own hardware. But 600 SQL Server instances is fairly large—when that number is in the single digits, the cost of DBAs/DevOps dwarfs that of the hardware. So the scale of your business matters a lot, and it's not useful to generalize this to all companies. Edit: Your math seems off as well. Don't forget that you'd have to pay the SQL Server license regardless of where it's hosted, as well as the cost of dedicated hardware if you go that route, so the difference between the two options will be much smaller than $39k per instance. And I don't know if that salary number is real, but $150k including overhead seems really low for a good DBA (at least in the US)—I would expect at least $200k.
- hotsauceror 7y agoWell of course it wasn't strictly apples-to-apples because I did leave off the cost of the DCs, the hardware, and the initial license acquisition. But those costs are shared across multiple teams, amortized over long lifespans, etc, and we also get volume discounts. But even taking that all into account - for 24M we can, and have, bought about a PB of storage, multiple blades and enclosures, licensed OS, and acommodate the salaries of the teams we need to run it all. I'd hazard a guess that that 24M is a pretty significant portion of the entire IT budget, in fact.
- hotsauceror 7y agoI should also have added - SQL on RDS, the license cost is baked in. You have to re-purchase the license every year. You don't have to do that with enterprise licensing, which is a one-time upfront cost. You also can't overprovision, and you can't use alternate licensing models like MSDN.
- hotsauceror 7y agoOne last thing to consider, even with a small team, is that without at least one DBA you may end up burning money by deploying non-optimized, non-performant database workloads, and using Amazon's very lucrative "throw money at the problem" service to buy your way out.
- RussianCow 7y agoThis is very true, but my point still stands: For a smaller team, the overhead of maintaining your own infrastructure is very significant compared to the resources you have. If you have, say, 10 engineers, having 3 of them doing DevOps fulltime means 30% of your engineering spending is going towards your infrastructure, even before we factor in capital costs and all of the other overhead—not to mention room for error—that comes with it (security, etc). And if you're small enough to only be able to afford 10 engineers, you're most likely not going to spend 3 engineers' salaries on the equivalent AWS services. So now you only need maybe a single DevOps person at most, and you get another engineer or maybe two for "free" that can work on your core product. I'm not saying it doesn't come with its own disadvantages, but there are a lot of benefits to going "all in" on cloud services. And obviously there are no absolutes—there are certain workloads that really do benefit more from dedicated hardware, even at smaller scales, and there are huge companies that are better off with cloud services (ex: Netflix).
- jononor 7y agoDo you have multi-AZ failover now? And probably many of your 600 instances would be fine on a lower tier? On Azure (as an example) one gets 100 of the lowest managed SQL DB tier per 150K/year developer.
- hotsauceror 7y agoOn tier 1 stuff, yeah. We certainly have a number of instances that would be fine on a lower tier, like dev instances etc that we can license under MSDN subscriptions, or that honestly would be better off as containers on individual devs' machines. But AWS doesn't offer that, and from those same numbers I see that a single-AZ instance is still $19K a year, every year. That's actually new cost because we can't BYOL for RDS.