Live data from Hacker News

We reduced our server costs by moving away from AWS

levelup.gitconnected.com

311–320 of 355 posts

Re: We reduced our server costs by moving away from AWS

#311
post #211

Earlier quoted context omitted.

It's certainly possible to overspend on cloud services but in most cases when I see comparisons people tend to forget to fully include their true costs for things like staff time, infrastructure, etc. and especially things like opportunity cost for the delays caused by provisioning infrastructure, less capable interfaces (e.g. if you're swapping Terraform for a Jira ticket), or the technical decisions people make bec…

But that's the part that I'm not getting - it's either AWS or building storage shelters and tape robots. There are hosting providers like Hetzner that will rent you bare metal machines so you don't have to deal with actual hardware, their networking is basically unmetered (last I checked), they will also sell you spot VMs, blob storage service, etc. The pricing difference is in integer multiples and much less "gotcha…

> There are hosting providers like Hetzner that will rent you bare metal machines so you don't have to deal with actual hardware, their networking is basically unmetered (last I checked), they will also sell you spot VMs, blob storage service, etc. The pricing difference is in integer multiples and much less "gotchas" or lock-in (they are usually dumbed down).

If all you need is bare metal, you don't care about network quality, etc. then, yes, you have a lot of options. The reason why you use something like AWS/Azure/GCP/etc. is that you're looking for more than basic infrastructure services and don't want to have to manage relationships and support infrastructure for multiple providers.

This even covers basic things: for example, look at all of the reports of Hetzner customers losing data due to something like a drive failure. It's not like there isn't a way to deal with that yourself but now you're in the business of monitoring the drives, setting up software RAID and testing/benchmarking it to make sure your configuration is robust, scheduling downtime to reflash servers with storage updates following some process which depends on the hardware & software combo you're using, etc. Your competitor using AWS isn't paying their sysadmins to do that because they do it for you, and it's completely transparent.

Similarly, the major cloud providers can live migrate VMs off of failing hosts without your awareness — another thing you have to build and operate yourself on bare metal which isn't trivial to get right. When Spectre et al. came out, the major cloud providers' customers were all patched on the day of the annoucement. Bare metal hosting users had to schedule downtime, roll patches, and make sure nothing broke.

Again, I'm not saying you can't do that yourself — having done so myself at moderate scale since the turn of the century — but just not to underestimate the direct costs to provide equivalent service, as well as the opportunity costs of having your expensive staff time locked into infrastructure O&M. Business needs change and it's really nice to be able to handle curveballs – say you went all-in on Hetzner, but now you need a server outside of Central Europe/Virginia and they want Windows + SQL Server instead of your usual Linux and they need it next week but only for 6 months … how much do you need to invest getting that set up versus someone in AWS/Azure/GCP having it done in 15 minutes with infrastructure provably meeting the same standards and configuration as you use in your primary locations?

> They won't sell you fancy SAAS - but the ammount of fiddling required to get most of AWS services working in practice and debugging it - you're not very far off from using the OSS solution they are reselling - chances are your devops/sysadmin team can do that as well.

This is the opposite of my experience: with a few exceptions, you're looking at significantly more work to build an equivalent service yourself, especially if you need to worry about reliability, security, etc. That last part is important if you need to be able to make strong statements about who has access to data, whether logging can be tampered with, etc. — those are all things you _can_ setup yourself but the cost of doing so is greater than years of your usage until you're at a pretty large scale.

As a simple example, most security benchmarks require you to enable storage encryption. That protects against data leaking when drives are replaced or rotated out of service and if you do it right can also prevent data from being leaked when someone compromises part of your infrastructure or even a sysadmin. This is a turn-key service on AWS – at most check a box for the basic form, or configure KMS policies for whatever you need in the more complex cases, and it's the same set of tools for EC2 servers, databases, S3, EFS, etc. as well as your applications using KMS directly.

If you're using Hetzner, here's what they say: “We recommend that you not use server-side encryption.”

You can configure luks, etc. yourself but now you have a ton of work to configure and validate, and the problem is inherently harder because you now need to deal with things like access control & auditing yourself. If you need to demonstrate this to an auditor, you have to convince them that you have sufficient controls to limit an attacker or rogue sysadmin whereas if you're using AWS/Azure/GCP/etc. you can just point them at the platform docs and show that you configured the intended policy.

Repeat for things like immutable storage: if you need to care about that, the cost of being able to prove that your storage is protected is going to pay for exabytes of Glacier storage.

Re: We reduced our server costs by moving away from AWS

#312
post #270

Earlier quoted context omitted.

Yes, exactly this. At what point do you have the time/money/confidence to invest goodness knows how much in a data centre with space to grow, to purchase an enormous amount of capital to have it all installed etc. the building alone could eat that first years saving easily. How many people are now needed to fault-find bad hardware/software/networks, to be on call for any problems? How many calls out to the Electricia…

> fix some power issue > large air-con system You wouldn't usually jump from AWS to buying up real estate to build your own physical data center. A sensible first step is to rent a rack at a colocation facility. They handle power, cooling, redundancy, physical access for you.

I wonder if there's a whole new generation of engineers that don't realize this? After all, how would they know about co-location if only ever using the cloud? We already interview ops and network slanted candidates that don't know what ARP is (we've now added this as an early quick screen).

Re: We reduced our server costs by moving away from AWS

#313
post #258

Earlier quoted context omitted.

> have to hire But [to state the obvious but sometimes overlooked] you don't just point an AWS account at the company git repo and walk away. There's a lot of work and expertise needed to keep AWS setup up and running, so you already have to hire people. At a modest size startup we already have close to ten people DevOps team to manage AWS. That same size team could easily keep bare metal servers running. At our scal…

Agreed. I was doing some unrelated research yesterday and stumbled upon the fact that apparently (in Australia) 41% of companies see an increase in IT staff after adopting cloud services. [1] I thought this was pretty weird since the original value proposition (AFAIR) was to reduce costs/head count. But everywhere I’ve worked that used AWS, had specialists employed to manage AWS. And I think the value proposition is…

Increase in IT staff isn’t necessarily bad. It could be companies moving to the cloud better learn the value of IT.

Re: We reduced our server costs by moving away from AWS

#314
post #118

I'll always celebrate stories like this, but I also don't take some kind of anti-AWS lesson from it. This company saved $800k/year. Perfect time to go in-house with this solution. But when they were 1/10th this size, they'd only have saved $80k/year. Does that cover the cost of the engineering to build and maintain this system? Maybe not. And when they were 1/100th the size, it would have been laughable to go in-hous…

Thank you for bringing up the engineering cost. People always look at this as just AWS > Bare metal or whatever, but there's so much more to it than that. If they saved $800k per year, and they have to hire four additional ops engineers to run it at a cost of $400k per year, then they actually saved $400k. Which is still substantial and, all else being equal, sounds worthwhile. If they saved $800k per year, and they…

> If they saved $800k per year, and they have to hire four additional ops engineers to run it at a cost of $400k per year,

I guess you've never done it yourself?

I'm not sure what those 4 engineers would be doing. You purchase a few servers with 5 year on site warranty and remote management, you take a couple of days to install them in some racks, and you never visit the site for 5 years. If they break, the manufacturer sends someone to fix them on site. The rest of the time you administer them remotely - just like you would AWS. If you want VM's install proxmox.

Whether it's cheaper than renting bare metal in a data centre is an debatable - colo costs a small fortune where I live.

But they aren't comparing it to that. They are comparing it to locking themselves into a closed source system that need specialised expertise to run, versus administering an open source Linux system that even the people running EC2 should be very familiar with. Most of the stuff AWS provides has open source counterparts - hell a whole pile of it is just open source they wrap a proprietary API around and charge you for.

10 times sounds like a lot, I'm guessing it's really less. Even so I come form the camp that shakes his head in disbelief at what people will pay AWS for basic VM and storage services, dressed up in a fancy API and marketing.

Re: We reduced our server costs by moving away from AWS

#315
post #302

Earlier quoted context omitted.

I think we’re talking passed each other by talking different eras. I worked in the mid-00s and it wasn’t a lot better in the dev space. People passing USB keys to each other was pretty common, SVN and CVS were around but there was a lot of developer code outside of it and peer review was going to someone’s desk and walking through the new code, nothing at all like what we have today for processing change requests. Yo…

Yes, I think you are right. The era I'm recounting is from roughly 1995 to 2001-ish at various local ISPs and medium size dev shops. I did know some fantastic sysadmins at a local university around that time period. They had huge labs of Alphas and Suns and automated everything ! Unfortunately, those folks didn't go into industry.

Yes - I was talking early 90s, certainly pre-1995. There was certainly a rough period after that as the internet emerged, and I do remember being frustrated that there weren’t better tools for deploying and maintaining servers in the various ISPs I worked in. As a developer I wrote some tools to help the sysadms but it was a difficult period and I’m not sure that period has really finished yet which might be why AWS has become so popular.

The closest I’ve seen to devops nirvana has been NixOS, but its frustratingly divergent terminology and file formats make it very hard to cross the chasm.

Re: We reduced our server costs by moving away from AWS

#316

Earlier quoted context omitted.

> R2 is an object store. It is literally a drop-in replacement to S3. A CDN is a thing where you can put things, and request them by web, and have them geo-distributed. R2 is actually a CDN. So is S3. Yes, I'm aware, the vending companies also sell different products called CDNs. Nonetheless, R2 and S3 (unlike B2) are CDNs. You can make distributed hits to it across the planet to addresses you don't control. You can…

R2 is not globally distributed and neither is S3. All of my S3 buckets are in US-East. See here: https://community.cloudflare.com/t/cloudflare-r2-doesnt-dist... R2 is not a CDN. S3 is not a CDN. Both are object stores. They store objects with some redundancy in a local area. CDNs are globally distributed. Object stores usually aren't. You can use an object store for backups and for holding webpages, but that doesn't…

"In terms of the costs, if you are small, the free tiers (and cloud platforms in general) are great. If you are at the point where you are paying $5-10k/month, you are almost certainly overpaying by using cloud services."

The core point, that you appear to have missed in the actual math, is that you will never personally be at that point.

Re: We reduced our server costs by moving away from AWS

#317
post #118

I'll always celebrate stories like this, but I also don't take some kind of anti-AWS lesson from it. This company saved $800k/year. Perfect time to go in-house with this solution. But when they were 1/10th this size, they'd only have saved $80k/year. Does that cover the cost of the engineering to build and maintain this system? Maybe not. And when they were 1/100th the size, it would have been laughable to go in-hous…

The initial bit is important though. It creates a circular dependency. If you start out without AWS, your entire company's software from how you build monoliths/microservices/queues changes. Look at Stack Overflow's architecture which stands apart because it was never designed to work in cloud from the beginning: https://stackexchange.com/performance I'd argue that 90% of the SaaS doesn't have SO's scale. The whole t…

> I'd argue that 90% of the SaaS doesn't have SO's scale.

While Stack Overflow is popular in the dev world, not so much outside of it. The show they’re only serving 300 req/s. 19 servers to power the entire stack as well. I wouldn’t call this efficient.

Re: We reduced our server costs by moving away from AWS

#318
post #118

I'll always celebrate stories like this, but I also don't take some kind of anti-AWS lesson from it. This company saved $800k/year. Perfect time to go in-house with this solution. But when they were 1/10th this size, they'd only have saved $80k/year. Does that cover the cost of the engineering to build and maintain this system? Maybe not. And when they were 1/100th the size, it would have been laughable to go in-hous…

The initial bit is important though. It creates a circular dependency. If you start out without AWS, your entire company's software from how you build monoliths/microservices/queues changes. Look at Stack Overflow's architecture which stands apart because it was never designed to work in cloud from the beginning: https://stackexchange.com/performance I'd argue that 90% of the SaaS doesn't have SO's scale. The whole t…

> The whole thing would work just fine on a couple of FreeBSD servers

And you need dev servers. And a way to keep them in sync with production because you can’t just create a branch and provision a bare metal server on the fly. And you need a deployment process to get code from dev through test, UAT and production, and this process is lengthy and fraught because you can’t just fire up a new instance and switch the elastic IP, you actually have to deploy code on the physical machine and make sure there aren’t any configuration differences between your test and prod environments that’ll cause ‘it worked before’ problems. Developer productivity tanks, people are afraid to make changes, any pretence of agile/devops goes out the window and eventually everyone gets sick of the crusty old server and decides a complete rewrite is needed.

Re: We reduced our server costs by moving away from AWS

#319
post #118

I'll always celebrate stories like this, but I also don't take some kind of anti-AWS lesson from it. This company saved $800k/year. Perfect time to go in-house with this solution. But when they were 1/10th this size, they'd only have saved $80k/year. Does that cover the cost of the engineering to build and maintain this system? Maybe not. And when they were 1/100th the size, it would have been laughable to go in-hous…

> This company saved $800k/year. Perfect time to go in-house with this solution.

$800k/yr is like the cost of 2-3 engineers. Even if they're capable of doing all of the work that used to have been done by aws, you don't have any room to expand without having to put up high capital costs, and certainly not on a dime.

It sounds amazing now, but wait till the future comes and you can no longer run your own data center as cheaply as amazon.

Re: We reduced our server costs by moving away from AWS

#320
post #118

I'll always celebrate stories like this, but I also don't take some kind of anti-AWS lesson from it. This company saved $800k/year. Perfect time to go in-house with this solution. But when they were 1/10th this size, they'd only have saved $80k/year. Does that cover the cost of the engineering to build and maintain this system? Maybe not. And when they were 1/100th the size, it would have been laughable to go in-hous…

Hey there, (Zsolt Varga here)

Yep, we should have pointed out that this has to be done in at the right time. Generally this article was about how we saved $1M expense and we was able to share this saving with our customers. Not an attack on AWS, I still use their platform for my other projects.

But to be accurate, this migration happened last year, and now we already doubled our usage and this brings us to $2M / year saving now.

I 100% agree with the comments below, use AWS while you are defining your product and growing, Todd (the founder) did this right. Spending days and nights on managing your own infrastructure or paying a devops employee to do it, in the early phase is just pure waste, and takes away focus. But we moved away from AWS at the right time.

Also, yes we had to do this to be competitive, as prerendering is a resource heavy service, and if your site is like ProductBoard (awesome tool) which will not consume terabits of traffic or use petabytes of ram, then you can stay on AWS forever and enjoy the benefit of not caring.

And what we lost? Minor inconvenience at this point, I cannot just pull up a new database in 10 minutes, but we don't really do that anymore, most of our current projects requires months of research, planning, and delivery. With those time frames we can notify our devops and get everything in place way before we need it.

So, keep on using AWS (it rocks!), just be sure to pay attention to the bill, and don't underestimate the cost of the traffic.

Have a nice one

Post reply on HN