Show HN: We moved from AWS to Hetzner, saved 90%, kept ISO 27001 with Ansible

137 sksjvsla 64 6/21/2025, 9:02:29 AM medium.com ↗
Earlier this year I led our migration off AWS to European cloud (Hetzner + OVHcloud), driven by cost (we cut 90%) and data sovereignty (GDPR + CLOUD Act concerns).

We rebuilt key AWS features ourselves using Terraform for VPS provisioning, and Ansible for everything from hardening (auditd, ufw, SSH policies) to rolling deployments (with Cloudflare integration). Our Prometheus + Alertmanager + Blackbox setup monitors infra, apps, and SSL expiry, with ISO 27001-aligned alerts. Loki + Grafana Agent handle logs to S3-compatible object storage.

The stack includes: • Ansible roles for PostgreSQL (with automated s3cmd backups + Prometheus metrics) • Hardening tasks (auditd rules, ufw, SSH lockdown, chrony for clock sync) • Rolling web app deploys with rollback + Cloudflare draining • Full monitoring with Prometheus, Alertmanager, Grafana Agent, Loki, and exporters • TLS automation via Certbot in Docker + Ansible

I wrote up the architecture, challenges, and lessons learned: https://medium.com/@accounts_73078/goodbye-aws-how-we-kept-i...

I’m happy to share insights, diagrams, or snippets if people are interested — or answer questions on pitfalls, compliance, or cost modeling.

Comments (64)

jillesvangurp · 1h ago
> We rebuilt key AWS features ourselves

At what cost? People usually exclude the cost of DIY style hosting. Which usually is the most expensive part. Providing 24x7 support for the stuff that you've home grown alone is probably going to make large dent into any savings you got by not outsourcing that to amazon.

> $24,000 annual bill felt disproportionate

That's around 1-2 months of time for a decent devops freelancer. If you underpay your devs, about 1/3rd of an FTE per year. And you are not going to get 24x7 support with such a budget.

This still could make sense. But you aren't telling the full story here. And I bet it's a lot less glamorous when you factor in development time for this.

Don't get me wrong; I'm actually considering making a similar move but more for business reasons (some of our German customers really don't like US hosting companies) than for cost savings. But this will raise cost and hassle for us and I probably will need some re-enforcements on my team. As the CTO, my time is a very scarce commodity. So, the absolute worst use of my time would be doing this myself. My focus should be making our company and product better. Your techstack is fine. Been there done that. IMHO Terraform is overkill for small setups like this; fits solidly in the YAGNI category. But I like Ansible.

StopDisinfo910 · 26m ago
> Providing 24x7 support for the stuff that you've home grown alone is probably going to make large dent into any savings you got by not outsourcing that to amazon.

I don’t understand why people keep propagating this myth which is mostly pushed by the marketing department of Azure, AWS and GCP.

The truth is cloud provider doesn’t actually provide 24/7 support to your app. They only ensure that their infrastructure is mostly running for a very loose definition of 24/7.

You still need an expert on board to ensure you are using them correctly and are not going to be billed a ton of money. You still need people to ensure that your integration with them doesn’t break on you and that’s the part which contains your logic and is more likely to break anyway.

The idea that your cloud bill is your TCO is a complete fabrication and that’s despite said bill often being extremely costly for what it is.

randomtoast · 1h ago
> Don't get me wrong; I'm actually considering making a similar move but more for business reasons (some of our German customers really don't like US hosting companies) than for cost savings

There will be a new AWS European Sovereign Cloud[1] with the goal of being completely US independent and 100% compliant with EU law and regulations.

[1]: https://www.aboutamazon.eu/news/aws/aws-plans-to-invest-7-8-...

jjani · 1h ago
> There will be a new AWS European Sovereign Cloud[1] with the goal of being completely US independent

The idea that anything branded AWS can possibly be US independent when push comes to shove is of course pure fantasy.

ozim · 54m ago
But it will check boxes on compliance checklist.
randomtoast · 1h ago
I don't know, with that argument you can argue that everything is dependent on everything, for instance, the EU automobile industry is hugely dependent on materials and chips from all over the world including US and thus real independence is a pipe dream.
BrandoElFollito · 1h ago
This is one of the reasons we were wondering if the US can switch off our fighter jets. The ones we own, brought from the US.

The US clearly state that extraterritoriality is fine with them. Depending on the company, one gag order is enough to sabotage a whole company.

owebmaster · 58m ago
Of course you know, the US government can use many methods to enforce their demand, it makes no sense to use an Amazon alternative to Amazon, it's such a nonsense to join a conversation about migrating away from Amazon suggesting that.
zius · 1h ago
Our customers across EU (hospitals) are not impressed or interested (n=175). Such a delusional project.

The ICC move by MS made hospitals go in an even higher gear to prepare off-ramp plans. From private Azure cloud to “let’s get out”

kiney · 23m ago
your implicit assumption that AWS requires less (exoensive) labour is just not true
randomtoast · 1h ago
> $24,000 annual bill felt disproportionate

>> That's around 1-2 months of time for a decent devops freelancer. If you underpay your devs, about 1/3rd of an FTE per year. And you are not going to get 24x7 support with such a budget.

In terms of absolute savings, we’re talking about 90% of 24k, that’s about 21.6k saved per year. A good amount, but you cannot hire an SRE/DevOps Engineer for that price; even in Europe, such engineers are paid north of 70k per year.

I personally think the TCO (total cost of ownership) will be higher in the long run, because now every little bit of the software stack has to be managed by their infra team/person, and things are getting more and more complex over time, with updates and breaking changes to come. But I wish them well.

mk89 · 54m ago
In mid sized companies, creating/using/maintaining AWS resources requires nevertheless one or more teams of devops/sre.

Out of experience, in the long run, this "managed aws saved us because we didn't need people" feels always like the typical argument made by saas sales people. In reality, many services/saas are really expensive, and you probably will only need a few features which sometimes you can rollout yourself.

The initial investment might be higher, but in the long run I think it's worth it. It's a lot like Heroku vs AWS. Superexpensive, but it allows you with little knowledge to push a POC in production. In this case, it's AWS vs self hosted or whatever.

Finally, can we quantify the cost of data/information? This company seems to be really "using" this strategy (= everything home made, you're safe with us) for sales purposes. And it might work, although for the final consumer this might have a higher price, which finally pays the additional devops to maintain the system. So who cares?

How important is for companies to not be subject to CLOUD act or funny stuff like that?

Elinvynia · 47m ago
70k? Just hire in Poland/Czechia/Slovakia for 50% off!

Unless by Europe you mean the Apple feature availability special of UK/Germany/France/Spain/Italy

renw0rp · 31m ago
My colleagues were talking about salaries in the range of $40-60k... About 8-10 years ago. And I don't think it got any cheaper
o_m · 27m ago
It makes sense if you consider there is a risk you might get kicked out by AWS because the US government force Amazon to close your account. The US is also hinting about going to war against Europe (Greenland), which makes a bad idea to have any connection to the US.
hiAndrewQuinn · 1h ago
This is what I'm wondering too. 90% is a lovely number to throw around but what is the opportunity cost?
sksjvsla · 1h ago
> Cost of DIY and support: You’re absolutely right that 24x7 ops could eat up any savings if you built everything from scratch without automation or if you needed dedicated staff watching dashboards all night. In our case:

• We heavily invested upfront in infrastructure-as-code (Terraform + Ansible) so that infra is deterministic, repeatable, and self-healing where possible (e.g. auto-provisioning, automated backup/restore, rolling updates).

• Monitoring + alerting (Prometheus + Alertmanager) means we don’t need to watch screens — we get woken up only if there’s truly a critical issue.

• We don’t try to match AWS’s service level (e.g. RTO of minutes for every scenario) — we sized our setup to our risk profile and customers’ SLAs.

> True cost comparison:

• The migration was done as part of my CTO role, so no external consulting costs. The time investment paid back within months because the ongoing cost to operate the infra is low (we’re not constantly firefighting).

• I agree that if you had to hire more people just to manage this, it could negate the savings. That’s why for some teams, AWS is still a better fit.

> Business vs. cost drivers: Honestly, our primary driver was sovereignty and compliance — cost savings just made the business case easier to sell internally. Like you, our European customers were increasingly skeptical of US cloud providers, so this aligned with both compliance and go-to-market.

> Terraform / YAGNI: Fair point! Terraform probably is more than we need for the current scale. I went with it partly because it fits our team’s skillset and lets us keep options open as we grow (multi-provider, DR regions, etc).

And, finally, because this, I am posting about it. I am sharing as much as I can, and just spread the work about it. I just sharing my experience and knowledge. If you have any questions or want to discuss further, feel free to reach out at jk@datapult.dk!

awongh · 1h ago
90% sounds good but the real dollar amount feels low.

Two reasons for this stick out:

- Are the multi-million dollar SV seed rounds distorting what real business costs are? Counting dev salaries etc. (if there is at least one employee) it doesn't seem worth the effort to save $20k - i.e., 1/5 of a dev salary? But for a bootstrapped business $20k could definitely be existential.

- The important number would be the savings as percent of net revenue. Is the business suddenly 50% more profitable? Then it's definitely worth it. But in terms of thinking about positively growing ARR doing cost/benefit on dropping AWS vs. building a new (profitable) feature I could see why it might not make sense.

Edit to add: it's easy to offhand say "oh yeah easy, just get to $2M ARR instead of saving $20k- not a big deal" but of course in the real world it's not so simple and $20k is $20k. The prevalent SV mindset of just spending without thinking too much about profitability is totally delusional except for like 1 out of 10000 startups.

layer8 · 1m ago
From the blog post: "We are a Danish workforce management company doing employee scheduling." Definitely not a VC-funded SV startup.
martypitt · 13m ago
> A combination of Prometheus, Grafana, and Loki allowed us to replicate — and in some ways exceed — the visibility we had on AWS

Given these existence of these tools, which are fantastic, I'm often stunned at how sluggish, expensive and how lacklustre the UX is of the AWS monitoring stack.

Monitoring quickly became the most expensive, and most unpleasant part of our AWS experience.

sgt · 1h ago
For those wondering about ISO 27001 - it's a standard for international security management, and popular in Europe.

However in the US it's not very relevant or even interesting to companies, and some European companies fail to understand that.

SOC 2 is the default and the preferred standard in the US - it's more domestic and less rigid than ISO 27001.

ozim · 28m ago
ISO27001 I wouldn’t call rigid, most of the stuff you should be doing anyway if you use any software.

checking for evidence that you are doing those things I would call ridgit. SOC2 as attestation doesn’t require so much documentation.

Keyframe · 3h ago
I think the most often mentioned problems mentioned are pollution of Hetzner addresses by shady people (might be addressed with "exits" from AWS / Cloudflare) and you are running on hardware which does tend to fail / needs upgrades. Were there some concerns on those from you?

Also, Loki! How do you handle memory hunger on loki reader for those pesky long range queries, and are there alternatives?

sksjvsla · 3h ago
Pollution: We front everything user-facing through Cloudflare, so external users (and bots) don’t interact directly with our Hetzner/OVH IPs. We lock down our IPs at the firewall (ufw + Cloudflare IP allowlisting) so only trusted sources can even connect at L4.

Failures/upgrades: We provision with Terraform, so spinning up replacements or adding capacity is fast and deterministic.

We monitor hardware metrics via Prometheus and node exporter to get early warnings. So far (9 months in) no hardware failure, but it’s a risk we offset through this automation + design.

Apps are mostly data-less and we have (frequently tested) disaster recovery for the database.

Loki: We’re handling the memory hunger by

• Distinguishing retention limits and index retention

• Tuning query concurrency and max memory usage via Loki'’'s config + systemd resource limits.

• Use Promtail-style labels + structured logging so queries can filter early rather than regex the whole log content.

• Where we need true deep history search, we offload to object store access tools or simple grep of backups — we treat Loki as operational logs + nearline, not as an archive search engine.

Keyframe · 3h ago
Thanks for thorough answer! Seems like you've platformized(!) yourself to an extent, have you considered going full on with k8s on top of metal (their machines) to offset some of the concerns about hardware?
sksjvsla · 2h ago
Thanks for the compliment.

We used AWS EKS in the old days and we never liked the extreme complexity of it.

With two Spring Boot apps, a database and Redis running across Ubuntu servers, we found simpler tools to distribute and scale workloads.

Since compute is dirt cheap, we over-provision and sleep well.

We have live alerts and quarterly reviews (just looking at a dashboard!) to assess if we balance things well.

K8s on EKS was not pleasant, I wanna make sure I never learn how much worse it can get across European VPS providers.

sksjvsla · 3h ago
A good alternatives for Loki is Victoria. Popular, way more performant and reputable but we went with Loki because of the relative size and diversity of maintainers between the two projects. Your points are super valid and we worked around it as mentioned above.
TZubiri · 3h ago
https://en.wikipedia.org/wiki/Sybil_attack

One of the advantages of more expensive providers seems to be that they have good reputation due to a de facto PoW mechanism.

sksjvsla · 3h ago
Depends on the use case, right? I don’t accept traffic from random Hetzner IPs — only Cloudflare’s IPs are allowed.

The only potential indirect risks is if your Hetzner VPS IP range gets blacklisted (because some Hetzner clients abuse it for Sybil attacks or spam).

Or if Hetzner infrastructure was heavily abused, their upstream or internal networking could (in theory) experience congestion or IP reputation problems — but this is very unlikely to affect your individual VPS performance.

This depends on what you are doing on Hetzner and how you restrict access but for an ISO-27001 certified enterprise app, I believe this is extremely unlikely.

hk1337 · 1h ago
Does anybody care, besides you, that you’re ISO 27001 compliant? I thought SSAE 16 and other SSAE standards were the main things people were concerned with having?
hbnjgf · 1h ago
Seems to depend on industry and/or region.

Most of our customers have a hard requirement on ISO 9001. Many on ISO 27001, too. The rest strongly prefers a partner having a plan to get ISO 27001

Freak_NL · 1h ago
Pff… You wish. Depending on the sector you are in, ISO 27001 can either be a hard requirement (either directly or through national standards built upon it, like the Dutch healthcare NEN 7510) or completely irrelevant. If this company needs it, you can bet their customers need it — usually because they in turn are required to do so because of regulations.
cataflam · 1h ago
Happy for you, don't get me wrong, but your post is not particularly news, I'm guessing everyone on HN knows bare metal/VPS providers are cheaper than AWS/Azure/GCP.

And also lacking a bit in details:

- both technical (e.g. how are you dealing with upgrades or multi-data center fallback for your postgresql), and

- especially business, e.g. what's the total cost analysis including the supplemental labor cost to set this up but mostly to maintain it.

Maybe if you shared your scripts and your full cost analysis, that would be quite interesting.

nnurmanov · 14m ago
I moved from managed AWS to unmanaged AWS (lightsail), decreasing the cost significantly and still staying in AWS ecosystem. I use S3, Route53, SES and other cheap services, you could consider this path
jordanbeiber · 3h ago
Same here, but Azure. About 90% saved, with a very similar stack.

It is a great big cloud play to make enterprises reliant on the competency in their weird service abstractions, which is slowly draining the quite simple ops story an enterprise usually needs.

ed_mercer · 2h ago
Can you please elaborate how Azure is cheaper?
jordanbeiber · 2h ago
”Same here” meaning moving to Hetzner, but from Azure - could’ve made it less ambiguous!

Might throw together a post on it eventually:

https://news.ycombinator.com/context?id=43216847

miyuru · 2h ago
I think the parent meant that they moved from Azure to Hetzner.
saltysalt · 2h ago
I love Hetzner, I run my Internet search engine from there: bare metal FTW.
sam_lowry_ · 1h ago
I did a successful AWS to Hetzner migration myself once, and I'd like to make a business of "back-to-earth migrations" but clients are hard to find.

Everyone talks about it but none wants to be the first mover.

dijit · 1h ago
When the money really starts drying up it will be on the table again, for now it's "someone elses money" at worst and "less profits for the shareholders" at best (which is not an incentive for an engineer on the ground).

There's also a lot of FUD regarding hiring more staff, my observed experience is that hyperscalers need an equivalent number of people on rotation- it's just different skills (learning the intricacies/quirks of different product offerings on the hyperscaler vs CS/Operational fundamentals) - so everyone is scared to overload their teams with work and potentially need to hire people -- you can couple this with the fact that all migrations are up-front expensive and change is bad by default.

There will come a day where there simply isn't enough money to spend 10x the cost on these systems. It will be a sad day for everyone because salaries will be depressed too, and we will opine the days of shiny tools where we could make lots of work disappear by saying that our time is too expensive to work with such peasant issues.

nopakos · 3h ago
I think a European CloudFlare would be nice to exist.
ToJans · 1h ago
We're in the process of migrating away from azure. Currently lots of cloudflare, but also some stuff runs on Hetzner.

If I manage to get https://uncloud.run/ or something similar up & running, the platform will no longer matter, whether it's OVH, Hetzner, Azure, AWS, GCP, ... It should all be possible & easy to switch... #FamousLastWords

abc123abc123 · 2h ago
No problem! https://bunny.net/about/ Enjoy!
miyuru · 2h ago
bunny still don't support IPv6 to origin, or else I would have switched.
sksjvsla · 3h ago
Yes, it would be nice. Given Cloudflare's dev-friendly branding for some reason, I did not mind keeping it.
BrandoElFollito · 1h ago
Any reasons to go for certbot instead of Traefik or Caddy?
sksjvsla · 13m ago
We use cloudflare as the WAF and loadbalancer, which makes traefik less relevant and Certbort easier to couple.
louwrentius · 2h ago
I'm involved with a cloud migration myself so I like the topic, but the Medium article contains less information than this "Shown HN" post.

The Medium post is mostly fluff and a lead generator.

sksjvsla · 2h ago
The Medium post is more of a high-level case study for a mixed audience (including non-technical decision makers). I intentionally kept the details lighter there, partly to avoid overwhelming readers and partly because the real “meat” (like our Ansible/Terraform patterns, Prometheus config, etc.) is harder to convey in that format without turning it into a giant technical appendix.

I’m happy to share specific configs, diagrams, or lessons learned here on HN if people want — and actually I’m finding this thread a much better forum for that kind of deep dive.

I'll dive into other aspects elsewhere: You can't doubt that given what I am sharing here.

Any particular area you’d like me to expand on? (e.g. how we structured Terraform modules, Ansible hardening, Prometheus alerting, Loki tuning?)

clcaev · 45m ago
More detail how you tie ISO and Terraform/Ansible would be welcome.
ArtTimeInvestor · 2h ago
How did you decide on Hetzner and OVH and why do you need both?

Have you looked into others as well, like IONOS and Scaleway?

sksjvsla · 2h ago
Great question. Technically speaking I might not need both, but I have a gut feeling that one of these cloud providers might not be as hardened as the hyperscalers, and that Russia is just waiting to put one of these two services down. So for maximal resiliency I chose to design from a multi-cloud setup from the beginning.

Scaleway came up but is more expensive. IONOS did not come up in our research.

Part of what we tried to do was to make ourselves independent from traditional cloud services and be really good at doing stuff on a VPS. Once you start doing that, you can actually allow yourself to look more at uptimes and at costs. Also, since we wanted everything to be fully automated, Terraform support was important for us, and OVHcloud and Hetzner had that.

I'm sure there's many great cloud providers out in Europe, but it's hard to vet them to understand if they can meet demand and if they are financially stable. We would want not to keep switching cloud providers. So picking two of the major ones seemed like a safe choice.

handfuloflight · 1h ago
What would Russia's interests be in putting these ISPs down, specifically?
sksjvsla · 1h ago
Without making it too political and speculating on things I don't know, I, like many other Europeans, have seen plenty of cases of Russia ruining infrastructure projects in Europe, everything from internet cables on the ocean bed, telcos, water supplies, railways and more. Authorities are asking civilians in Scandinavia to be prepare their hiused with. Good and water and are actively hardening security around critical infrastructure, including their software. I won't comment more on this because it's gonna derail this discussion.
anticodon · 1h ago
Is there a single proof? Like some Russian citizen was caught ruinining infrastructure project and it was proved that a) he is a citizen of Russia or was paid by Russian authorities, b) that the person in question had indeed done some damage to the infrastructure project.

I don't remember a single such case. I remember reading a lot of speculations like "it's highly likely that it was done by Russians" every single time without a trace of evidence.

hbnjgf · 1h ago
Does it matter for the average business, if an infrastructure was brought down buy the Russian state or someone blaming it on the Russians?

It's undeniable that core European infrastructure is targeted currently

rsynnott · 45m ago
Okay, I mean, if you want to give poor ol’ Putin the benefit of the doubt, something that looks like a state actor but might theoretically not be Russia is doing a lot of minor to moderate economic sabotage in Europe.

Personally I think the amount of special pleading required to imagine that it is _not_ Russia is a bit much (particularly around the deep sea cable cuts; at that point you’re really claiming that Russia is deniably pretending that it is them, but really it’s someone else), but you do you. It doesn’t change the overarching point; both Hetzner and OVH would be obvious targets for, ah, whoever it is.

rsynnott · 48m ago
Russia likes causing trouble in Europe generally (and elsewhere; the Internet Research Agency was largely targeted at the US, say).
sokoloff · 3h ago
Might be interesting, but doesn’t seem to be a valid “Show HN”

* - https://news.ycombinator.com/showhn.html

anticodon · 1h ago
I'm not surprised about 90% of savings. I remember that initially AWS was promoted everywhere as being "cheaper" than your own hardware, colocation or VPS/VDS hosting.

Once I was working in a quite small company (around 100 employees) that hosted everything on AWS. Due to high bills (it's a small company that resided in Asia) and other problems, I migrated everything to DigitalOcean (we still used AWS for things like SES), and the monthly bill for hosting became like 10 times lower. With no other consequences (in other words, it haven't become less reliable).

I still wonder who calculated that AWS is cheaper than everything else. It's definitely one of the most expensive providers.

peer2pay · 59m ago
My memory might be off here but wasn’t the initial AWS "cheaper" promise only made vs buying & maintaining your own hardware?
jjani · 1h ago
Interesting, comparing commodity services (VMs, storage etc) like-for-like, DO has always seemed more expensive than AWS. Do you remember what was the main source of savings?