The stuff you’re saving time on, managing hosts, just isn’t that much compared to dealing with aws/terraform/etc. I’m at a few orders of magnitude more spend than that, and in absolute dollars is very much noticeable how much more expensive aws is. But as a percentage of costs it’s so little next to wages, as is your example, that cost is really the wrong thing to get hung up on. Most engineers I’ve worked with don’t get that, they see a value they can objectively minimize, without realizing that even dropping it to zero his little business effect.
throwaway894345|3 years ago
This is where I feel like I'm doing stuff wrong. If we're comparing Terraform, it means we probably care about reproducibility (rather than an "AWS console vs SSH into pet hosts" scenario), so the like-for-like comparison involves bringing in something like Ansible. On top of that, you need to pick, install, and configure logging exfiltrators, monitoring agents, process managers, etc and you need to operate systems that let you explore those logs and metrics. You also need to configure SSH access and manage keys. You may also need a custom base image, so maybe you're doing packer stuff as well? On top of that, you need to run some database which means managing backups and running replicas with failover (or maybe we/re a small business and we don't care that much about reliability?). And again, we care about reproducibility, so we need to encode all of this stuff in Ansible playbooks or similar. You probably also need something like security groups to restrict which things are allowed to talk to which other things, and encoding this in Ansible or similar is maybe impossible if you don't have software-defined-networks.
It seems like a lot to get to parity with what someone could throw together with API Gateway, Lambda, S3/DynamoDB in a couple reasonably-sized Terraform files in a few hours for a pretty marginal cloud spend (most small businesses would probably stay pretty close to the free tier--these services are extremely inexpensive).
idunno246|3 years ago
I think one place that I disagree is while you could do that in a few hours, your average developer couldn’t. You’re now talking about everyone to learn lambda and terraform and whatnot, whereas with a “standard” web server, that people are familiar with, a lot of that is more easily centralized. just throw some annotations and routes are done, vs the arcane api gateway config. The tools and frameworks for lambda just didn’t seem to be there yet.
Fwiw I’m all in on aws, cost was one of the easiest arguments to deflect. Ultimately we needed to show developer velocity increases as that’s the cost that mattered. And security isn’t compromised, which the bigger the company the more roadblocks I’ve seen to just give devs terraform.
SassyGrapefruit|3 years ago
This is because I have to factor all the costs. This includes electricity, maintenance, incident response, networking, renting the cage, vendored software for backups, threat detection, fire suppression, equipment upgrades, licensing, alerting, and it goes on and on and on...
I'd challenge you to break down the full cost of owning a server as you see it. I bet you will miss 75% of the actual costs involved. I promise short of seizing a colo like its Nakatomi Plaza and running it at gunpoint you will never in a million years come close to the total ownership cost of cloud instance. You can't compete with the economies of scale and the caliber of the engineering.
jdlshore|3 years ago
I don’t have a horse in this race, but it’s interesting that your experiences are so different. Would love to hear your take on their numbers.
The most recent article, with lots of hard numbers, is here:
https://dev.37signals.com/our-cloud-spend-in-2022/
There was a recent article that made the HN in front page that broke down the savings they expected, but I’m on mobile and can’t find it now. Something about “two datacenter racks.”