9 ms·
Migrating from DigitalOcean to Hetzner
- ianberdin 6mo agoWhen you find a gold, why tell everyone where it is? Silent happiness keeps the benefits:)
- faangguyindia 6mo agoEver heard of economies of scale?
- nixpulvis 6mo agoWe need more competition across the board. These savings are insane and DO should be sweating, right?
- bingo-bongo 6mo agoThe comparison is somewhat skewed, since they went from an (expensive) virtual server to a cheaper dedicated server (hardware). One of the new risks is if anything critical happens with the hardware, network, switch etc. then everything is down, until someone at Hetzner go fixes it. With a virtual server it’ll just get started on a different server straight away. Usually hypervisors also has 2 or more network connections etc. And hopefully they also got some backup setup. It’s still a huge amount of of savings and I’d probably do the same of I were in their shoes, but there is tradeoffs when going from virtual- to dedicated hardware.
- traceroute66 6mo ago> We need more competition across the board. These savings are insane and DO should be sweating, right? As the other person already said here, this blog post comparison is skewed. BUT EU cloud providers are much better value for money than the US providers. The US providers will happily sit there nickle and diming you, often with deliberately obscure price sheets (hello AWS ;). EU cloud provider pricing is much clearer and generally you get a lot more bang for your buck than you would with a US provider. Often EU providers will give you stuff for free that US providers would charge you for (e.g. various S3 API calls). Therefore even if this blog post is skewed and incorrect, the overall argument still stands that you should be seriously looking at Hetzner or Upcloud or Exoscale or Scaleway or any of the other EU providers. In addition there is the major benefit of not being subject to the US CLOUD and PATRIOT acts. Which despite what the sales-droids will tell you, still applies to the fake-EU provided by the US providers.
- electroly 6mo agoWhen some component in OP's dedicated server fails, they will find out what that extra DO money was going toward. The DO droplet will live migrate to a healthy server. OP gets to take an extended outage while they file a Hetzner service ticket and wait for a human to perform the hardware replacement. Do some online research and see how long this often takes. I don't believe this Hetzner dedicated server model even has redundant PSUs. Anyone who thinks DO and Hetzner dedicated servers are fungible products is making a mistake. These aren't the same service at all. There are savings to be had but this isn't a direct "unplug DO, plug in Hetzner" situation.
- joefourier 6mo agoHetzner also offers a VPS with superior specs to their old DO server for €374.99/month, or €0.6009/hour. They could just switch to a VPS temporarily while waiting for the hardware fix. Although since they were running a LEMP server stack manually and did their migration by copying all files in /var/www/html via rsync and ad-hoc python scripts, even a DO droplet doesn't have the best guarantee. Their lowest-hanging fruit is probably switching to infrastructure as code, and dividing their stack across multiple cheaper servers instead of having a central point of failure for 34 applications.
- missedthecue 6mo agoI moved from Heztner to DO because my Hetzner IPs kept getting spoofed and then Hetzner would shut down my servers for "abuse". This hasn't happened once on DO, and I'm happy to pay a little more.
- spaniard89277 6mo agoScaleway, OVH, Exoscale, Clouding, Upcloud...
- xhkkffbf 6mo agoIt's tough to work with these publicly traded companies. They need to boost prices to show revenue growth. At some point, they become a bad deal. I've already migrated from DO. Not because of service or quality, but solely because of price.
- infocollector 6mo agoWhere did you migrate out to?
- xhkkffbf 6mo agoHetzner. Vultr.
- OneMorePerson 6mo agoYeah just how it is even outside of the cloud. At some point nearly all companies eventually try to take advantage of inertia and vendor lock in, if you are willing to undertake the pain of switching it's almost always a savings.
- orsorna 6mo agoI always appreciate savings posts, but is $14k USD annual really make or break for a Turkish business? I would not know.
- iammrpayments 6mo agoBet I can get 2x more from spending that in anthropic tokens than paying you a full year salary
- nixpulvis 6mo agoThat's not the point. You should be asking why DO is so much more expensive. Not everyone likes wasting money.
- dllrr 6mo agoGuess I've been enjoying it for so long, I feel so stupid. Thanks for this.
- orsorna 6mo agoThe calculus is: is the labor spent on saving 14k annually worth less than the labor which adds features that net 14k income? Certainly the former is more predictable than the latter though. Choosing to do neither is wasting money.
- littlestymaar 6mo agoI suspect with that money you could get a full time customer support person for your business. Now think about it, what's creating more value to your customers: having your infra on Digital Ocean or having a better customer support?
- thisislife2 6mo agoIf you only have Rs. 100 in your pocket, you will think hard before spending Rs. 10. If you have Rs. 1000 in your pocket, you will not mind spending Rs. 10. That said, even if you are financially sound, why in the world would you want to pay $14k extra for a similar service that is available cheaper? That money could be better utilised elsewhere.
- xuki 6mo agoI've had excellent experiences with Percona xtrabackup for MySQL migration and backups in general. It runs live with almost no performance penalty on the source. It works so well that I always wait for them to release a new matching version before upgrade to a new MySQL version.
- testing22321 6mo agoI moved my VPS from Rackspace to Hertzner. From $120/mo to $35. Moving away from the US also felt great.
- antirez 6mo agoI moved two servers, one from Linode and the other from DO to Hetzner a few months ago, with similar savings. The best part was that the two servers had tens of different sites running, implemented in different languages, with obsolete libraries, MySQL and Redis instances. A total mess. Well: Claude Code migrated it all, sometimes rewriting parts when the libraries where no longer available. Today complex migrations are much simpler to perform, which, I believe, will increase the mobility across providers a lot.
- rustyhancock 6mo agoWow a Claude add embedded into a Hetzner add. How deep does this go?
- antirez 6mo ago"ad", with a single "d". So it's a Claude ad inside a Hetzner ad inside a decent grammar ad.
- mirekrusin 6mo agoAd for which elementary school?
- FEELmyAGI 6mo agoCome on can you really nitpick grammar when your original message contains: "when the libraries where[sic] no longer available" Btw this type of grammar error can be found by proofreading your posts with ChatGPT powered OpenClaw assistant.
- pennomi 6mo agoI saved about $1200 a year by moving from AWS to Hetzner. Can’t recommend it enough. AWS has kind of become a scam.
- nixpulvis 6mo agoAnything worse about the service?
- steve1977 6mo agoHetzner Cloud or their VPS offerings?
- echelon 6mo agoAWS has always been a scam. It's worse than Oracle and they don't even use lawyery contracts. The technology itself is the tendrils.
- delfinom 6mo agoEach has their trade offs. AWS absolutely has a high premium but Hetzner has some quirks. Recently we had several of our VMs offline because they apparently have these large volume storage pools they were upgrading and suddenly disks died in two large pools. It took them 3 days to resolve. Hetzner has no integrated option to backup volumes and its roll your own :/ You also can't control volume distribution on their storage nodes for redundancy.
- subscribed 6mo agoScam? You mostly get what you pay for. Sure, it cost me £6/mo to serve ONE lambda on AWS (and perhaps 500 requests per month). Sure it was awesome and "proper". But crazy expensive. I host it now (and 5 similar things) for free on Cloudflare. But if you need what AWS provides, you'll get that. And that means sometimes it's not the most cost-effective place.
- wiether 6mo ago> Sure, it cost me £6/mo to serve ONE lambda on AWS (and perhaps 500 requests per month) I went on pricing calculator, and to arrive at $6/mo with only 500 requests, you'd need to run the lambda for 15 minutes with 2Gb of RAM. On the other hand, we have dozens production workloads on Lambda handling thousands of requests daily and we spend like $50/mo on Lambda. I'm really intrigued by what you did to get to those figures!
- Doohickey-d 6mo agoWhat are you doing for DB backups? Do you have a replica/standby? Or is it just hourly or something like that? Because with a single-server setup like this, I'd imagine that hardware (e.g. SSD) failure brings down your app, and in the case of SSD failure, you then have hours or days downtime while you set everything up again.
- kro 6mo agoHetzner normally advertises their hardware servers as 2x 1 TB SSD, because it's strongly recommended to run them in SWraid1 for net 1TB. (Their image installer will default to that) Once the first SSD fails after some years, and your monitoring catches that, you can either migrate to a new box, find another intermediate solution/replica, or let them hotswap it while the other drive takes on. Of course though, going to physical servers loses redundency of the cloud, but that's something you need to price in when looking at the savings and deciding your risk model. And yes, running this without also at least daily snapshotting/backup to remote storage is insane - that applies to cloud aswell, albeit easier to setup there.
- linsomniac 6mo agoFor over a decade I ran a small scale dedicated and virtual hosting business (hundreds of machines) and the sort of setup you describe works very well. Software RAID across 2 devices, redundant power supplies, backups. We never had a significant data loss event that I recall (significant = beyond user accidentally removing files). For quite a while we ran single power supplies because they were pretty high quality, but then Supermicro went through a ~6 month period where basically every power supply in machines we got during that time failed within a year, and replacements were hard to come by (because of high demand, because of failures), and we switched to redundant. This was all cost savings trade-offs. When running single power supplies, we had in-rack Auto Transfer Switches, so that the single power supplies could survive A or B side power failure. But, and this is important, we were monitoring the systems for drive failures and replacing them within 24 hours. Ditto for power supplies. If you don't monitor your hardware for failure, redundancy doesn't mean anything.
- JSR_FDED 6mo ago> Cloud providers are expensive for steady-state workloads. Asking the obvious question: why not your own server in a colo?
- vb-8448 6mo agoI Guess hetzner is basically "your server in colo"
- perbu 6mo agoYou have to deal with a lot more stuff. You have to order/pay for a server (capex), mount it somewhere, wire up lights-out-mgmt and recovery and do a few more tasks that the provider has already done. Then, say if the motherboard gives up, you have to do quite a bit of work to get it replaced, you might be down for hours or maybe days. For a single server I don't think it makes sense. For 8 servers, maybe. Depends on the opportunity cost.
- Yeroc 6mo agoHave you done this yourself? If you haven't I think you'd discover server hardware is actually shockingly reliable. You could go years without needing to physically touch anything on a single machine. I find that people who are used to cloud assume stuff is breaking all the time. That's true at scale, but when you have a handful of machines you can go a very long time between failures.
- alaudet 6mo agoIf you have failover redundancy of services across your systems of some kind to mitigate then great. With proper setup no worries. I guess it depends how much you want to take on vs hand off.
- acdha 6mo agoYes, having done this for decades, it happens often enough that you need to plan for it. You need to have redundancy, spare parts, and staffing or you are basically gambling. All of this has to be tested, too, or you might find that your failover mechanism has dependencies you didn’t plan for or unexpected failure modes (I’ve twice experienced data center hard outages due to the power distribution system failing oddly when switching between mains and UPS power, or UPS and generator). Using something like AWS can make it easy to assume that servers don’t fail often but that’s because the major players have all of that behind the scenes, heavily tested, and will migrate VMs when prefail indicators trigger but before stuff is done.
- jonahs197 6mo agoI use OVH btw.
- BonoboIO 6mo agoWhen I hear OVH I immediately think about their burning datacenters …
- jonahs197 6mo agoYou guys have backups, right?
- subscribed 6mo agoI hope your backups are in order.
- largbae 6mo agoThe migration sharing is admirable and useful teaching, thank you! I see the DigitalOcean vs Hetzner comparison as a tradeoff that we make in different domains all day long, similar to opening your DoorDash or UberEats instead of making your own dinner(and the cost ratio is similar too). I work in all 3 major clouds, on-prem, the works. I still head to the DigitalOcean console for bits and pieces type work or proof of concept testing. Sometimes you just want to click a button and the server or bucket or whatever is ready and here's the access info and it has sane defaults and if I need backups or whatnot it's just a checkbox. Your time is worth money too.
- dividuum 6mo agoNot sure if I understand what you’re trying to say, but Hetzner's Console works just like that too.
- reddalo 6mo agoI personally find Hetzner's Console even better than DigitalOcean's one, especially since DigitalOcean now looks like three slightly different consoles depending on which page you're in. It feels like they've been migrating to a new system, but they haven't finished it yet.
- locknitpicker 6mo ago> Sometimes you just want to click a button and the server or bucket or whatever is ready and here's the access info and it has sane defaults and if I need backups or whatnot it's just a checkbox. Your time is worth money too. You're describing Hetzner Cloud, which has been like this for many years. At least 6. Hetzner also offers Hetzner Cloud API, which allows us to not have to click any button and just have everything in IaC. https://docs.hetzner.cloud/ https://docs.hetzner.cloud/
- andai 6mo agohttps://xkcd.com/2948/ https://xkcd.com/2948/
- 6mo ago
- sayYayToLife 6mo ago[dead]
- pellepelster 6mo agoI had my fair share of Hyperscaler -> $something_else migrations during the past year. I agree, especially with rented hardware the price-difference is kind of ridiculous. The issue is though, that you loose the managed part of the whole Cloud promise. For ephemeral services this not a big deal, but for persistent stuff like databases where you would like to have your data safe this is kind of an issue because it shifts additional effort (and therefore cost) into your operations team. For smaller setups (attention shameless self-promotion incoming) I am currently working on https://pellepelster.github.io/solidblocks/cloud/index.html https://pellepelster.github.io/solidblocks/cloud/index.html which allows to deploy managed services to the Hetzner Cloud from a Docker-Compose like definition. E.g. a PostgreSQL database with automatic backup and disaster recovery.
- wouldbecouldbe 6mo agoyeah we did the same, however we also run an identical backup server in a different data center so we can switch over in matter of minutes if needed.
- apitman 6mo agoI wish we had something like Hetzner dedicated near us-east-1. They do offer VPS in the US and the value is great. I was seriously looking at moving our academic lab over from AWS but server availability was bad enough to scare me off. They didn't have the instances we needed reliably. Really hoping that calms down.
- igtztorrero 6mo agoTry OVH Canada they have good prices and service
- dessimus 6mo agoDepending upon the nature of the data, they may need to keep it within the US.
- deleted 6mo ago[deleted]
- OutOfHere 6mo agoDidn't Hetzner prices increase 30-40% recently? See https://news.ycombinator.com/item?id=47120145 https://news.ycombinator.com/item?id=47120145 As such, I doubt the noted price reduction is reproducible. Combine this with Hetzner's sudden deletions of user accounts and services without warning, and it's a bad proposition. Search r/hetzner and r/vps for hetzner for these words: banned, deleted, terminated; there are many reports. What should stun you even more about it is that Hetzner could ostensibly be closely spying on user data and workloads, even offline workloads, without which they won't even know who to ban. The only thing that Hetzner might potentially be good for is to add to an expendable distributed compute pool, one that you can afford to lose, but then you might as well also use other bottom-of-the-barrel untrustworthy providers for it too, e.g. OVH.
- 0123456789ABCDE 6mo agowithout looking at either the article or the pricing pages, on any of the relevant providers, just what's on the title of this thread and your comment > $1,432 to $233 a difference of 5/6 in price does not materially change the decision to move between providers, even with a 40% price increase
- swiftcoder 6mo agoYou could have loaded the Hetzner pricing page and checked - the server in the article is currently listed around $30/month higher. Not enough to materially change the equation
- ararangua 6mo agoI got blocked for non reason on DigitalOcean.
- onetimeusename 6mo agoAWS only requires a card from me. I tried registering at Hetzner and they wanted a picture of my passport.
- therealmarv 6mo agoThat's a trend which is more and more common nowadays. I wish the industry would adopt more zero knowledge methods in this regards. They are existing and mathematically proven but it seems there is no real adoption. - OpenAI wants my passport when topping up 100 USD - Bolt wanted recently my passport number to use their service - Anthropic seems wants to have passports for new users too - Soon age restriction in OS or on websites I wished there would be a law (in Europe and/or US) to minify or forbid this kind of identity verification. I want to support the companies to not allow misuse of their platforms, at the same time my full passport photo is not their concern, especially in B2B business in my opinion.
- pmdr 6mo agoIt used to be "innocent until proven/suspected guilty." Now it's more like "let's see that ID, you know, just in case..."
- OneMorePerson 6mo agoI'm not a legal expert/lawyer but I do think a lot of this is not the company just randomly wanting to do it, but lawyer driven development. No company wants to introduce more friction for no reason, unless somehow there's precedent or risk involved in not doing it. Curious to know what legal precedents or laws have changed recently. The only possible non legally driven reason I can think of would be if they think the tradeoff of extra friction (and lost customers) is more than offset by fraud protection efforts. This seems unlikely cause I don't see how that math could have changed in the last few years.
- cyanydeez 6mo agoI dont. I'm happy the grift economy has some controls on it. As much as I love open source and all the efforts in collective without government interference; some security is required, otherwise we'll just invite more grift based economics. It's bad enough living in America without the rest of the world adopting the grift economy.
- api 6mo agoNow consider that DO is reasonably priced compared to the big three cloud providers. Cloud is ludicrously marked up.
- gbro3n 6mo agoI did the same this year. I really liked Digital Ocean though, compared to more complex cloud offerings like AWS. AWS feels like spending more for the same complexity. At least DO feels like it does save time and mental band width. Still though, the performance of cloud VPS is abysmal for the price. I'm now on Hetzner + K3's plus Flux CD (with Cloudflare for file storage (R2) and caching. I run postgres on the same machine with frequent dump backups. If I ever need realtime read replicas, I'll likely just migrate the DB to Neon or something and keep Hetzner with snapshots for running app containers.
- aungpaing 6mo ago100
- adamcharnock 6mo agoThis is something we've[0] done a number of times for customers coming from various cloud providers. In our case we move customers onto a multi-server (sometimes multi-AZ) deployment in Hetzner, using Kubernetes to distribute workloads across servers and provide HA. Kubernetes is likely a lot for a single node deployment such as the OP, but it makes a lot more sense as soon as multiple nodes are involved. For backups we use both Velero and application-level backup for critical workloads (i.e. Postgres WAL backups for PITR). We also ensure all state is on at least two nodes for HA. We also find bare metal to be a lot more performant in general. Compared to AWS we typically see service response times halve. It is not that virtualisation inherently has that much overhead, rather it is everything else. Eg, bare metal offers: - Reduced disk latency (NVMe vs network block storage) - Reduced network latency (we run dedicated fibre, so inter-az is about 1/10th the latency) - Less cache contention, etc [1] Anyway, if you want to chat about this sometime just ping me an email: adam@ company domain. [0] https://lithus.eu https://lithus.eu [1] I wrote more on this 6 months ago: https://news.ycombinator.com/item?id=45615867 https://news.ycombinator.com/item?id=45615867
- brianwawok 6mo agoMoving around k8s deployments is really nice. Very little vendor lockin compared to many of the cloud things you can buy. My entire stack is.. k8s, hosted Postgres, s3 type storage. I can always host my own Postgres. So really down to k8s and s3. I think hetzner has some kind of s3 storage but haven’t looked into, and I assume moving in 100 TB is a process….
- traceroute66 6mo ago> Anyway, if you want to chat about this sometime just ping me an email: Your post was reasonable until the spam tagline. Not cool.
- spider-mario 6mo ago>HA High availability, in case anyone else was wondering.
- jwr 6mo ago> We also find bare metal to be a lot more performant in general I measured this several years back and never looked at virtual servers again. Since CPU time isn't reserved (like RAM is), the performance is abysmal compared to real hardware. https://jan.rychter.com/enblog/cloud-server-cpu-performance-comparison-2019-12-12 https://jan.rychter.com/enblog/cloud-server-cpu-performance-...
- OliverGuy 6mo agoWhat's the HA plan? Sounds like from the requirement to live migrate you can't really afford planned downtime, so why are you risking unplanned downtime?
- kuzivaai 6mo agoThe "where's the HA?" comments are missing that this was a single DO droplet before. The migration didn't reduce redundancy, it just moved the single point of failure from one provider to another for 1/6 the cost. The HA conversation is worth having, but it's a separate conversation from this migration.
- daveguy 6mo agoAnd DigitalOcean customer support is non-existent. I had a mail server down and they cut service instead of trying to contact me in any other way. But worse, when they do that, they immediately destroy your data without any possibility to restore. Or at least that's what they told me with their bog standard, garbage support replies. I was a customer for nearly a decade. After it happened, I realized that never would have happened on GCP, AWS, etc. Because they take billing seriously with multiple contact info, a recovery period, etc. All the things a company would be expected to do to maintain good relationships with customers during a billing issue that lasts a few weeks. That was a couple of years ago, so maybe they fixed some stuff. But the complete lack of support and unprofessional B2B practices was an eye opener. DigitalOcean just absolutely is just not an enterprise solution. Don't trust it with your data. Oh, and did I mention I had been paying the upcharge for backups the entire time?
- sylware 6mo agoI had to ban the whole DigitalOcean AS. Full of scanners, script kiddies and maybe worse.
- phamilton 6mo agoGiven the premise that zero day exploits are going to be frequent going forward, I feel like there is a new standard for secure deployment. Namely, all remote access (including serving http) must managed by a major player big enough to be part of private disclosure (e.g. Project Glasswing). That doesn't mean we have to use AWS et al for everything, but some sort of zero trust solution actively maintained by one of them seems like the right path. For example, I've started running on Hetzner with Cloudflare Tunnels. Anyone else doing something similar?
- locknitpicker 6mo ago> For example, I've started running on Hetzner with Cloudflare Tunnels. How much latency does this add?
- 2E3BCFFD 6mo agoWe've testing something similar, not using in prod yet. Network was 20ms RTT. The real variable was processing time median was sub-5ms most days but some regions would be 30ms for 8-10 hour blocks randomly.
- nickandbro 6mo agoLove Hetzner. Cheapest prices in all the land (aside from Hosting your own server) from what I’ve gathered online. Host: https://slitherworld.com https://slitherworld.com My foray into multiplayer games.
- ianberdin 6mo agoHey, congrats! What city do you live in?
- raphinou 6mo agoAm I missing something? I'm genuinely surprised it was not deployed from the start on a dedicated server. Don't you make a cost analysis before deploy? And if the cost analysis was ok at initial deploy, why wait to have such a difference in cost before migrating? How much money goes wasted in such situations?
- leros 6mo agoManaged services have value. It's less to set up, less to maintain, and less worrying about waking up at 3am when something breaks. I've spent time eating the costs of things like DigitalOcean or SaaS products because my time is better spent growing my revenue than reducing infrastructure costs. But at some point, costs can grow large enough that's it's worthwhile to shift focus to reducing infrastructure spend.
- utopiah 6mo agoMigrated from OVH to Hezner last Winter too, 0 downtime since, rolling backup running fine and lower bill too.
- Undrilled1 6mo agoWhy? prices of OVH are very similar to Hezner one, both have phisical server ecc
- rawoke083600 6mo agoSuper happy customer for about 5 years now.. And i say it every time they came up: Their cloud UX is brilliant and simple! Compared to the big ones out there.
- lloydatkinson 6mo agoJust watch out Hetzner don’t fail to take a payment from you from their end then proceed to flag your account for non-payment all while communicating absolutely nothing about this to you arriving at the conclusion they will delete all your servers and ban your account and identity from ever using them again. Happened to me. I now advise people to avoid clown-led services like Hetzner and stick to more reputable, if not as cheap, options.
- talkingtab 6mo agoI also have used DO for years, and was very happy with the quality of their service. Until I found the alternative prices. Not as easy to use, but much better performance for much lower prices.
- pmdr 6mo agoI started with DO in 2013 when they offered 20GB SSD, 512MB RAM for $5/mo. For some reason I paid no VAT then, but I do now. Their $4/mo option now is still 512MB, still 1 vCPU, but 10GB SSD. So it's like the last decade of technological progress with regards to RAM, CPU and storage that should either lead to price cuts/spec bumps didn't happen. And yeah, DO got expensive before AI bought up all the memory.
- readyforbrunch 6mo agoYou didn't consider inflation. 2013's $5 is $7 in today's money. Today's $4 equals roughly 2013's $2.82. So a near 44% price reduction for a 50% reduction in only one of the components. Looks like progression to me.
- mariopt 6mo agoEvery time I see this kind of article, no one really bothers about sb/server redundancy, load balancers, etc. are we ok with just 1 big server that may fail and bring several services down? You saved a lot of money but you'll spend a lot of time in maintenance and future headaches.
- timwis 6mo agoI wondered the same! FWIW I'm currently migrating from managed postgres to self-managed on hetzner with [autobase](https://autobase.tech/ https://autobase.tech/). Though of course for high availability it requires more than one server.
- matteocontrini 6mo agoBeware of Hetzner Cloud volumes, they're unusable for a database, they're too slow. I'm not sure what workloads people run on Hetzner but the low-performance volumes and unreliable load balancers don't seem like a good fit for real production stuff with traffic.
- arter45 6mo agoHow slow is “too slow”? Do you happen to have any benchmark?
- matteocontrini 6mo agoI've run some benchmarks a couple years ago, I don't have them at hand unfortunately but off the top of my mind, seqread 4k produced around 1500 IOPS while seqwrite was like a third of that. The practical performance was abysmal, I moved PostgreSQL storage to a volume and it was very noticeably slower just by browsing the web app (compared to NVMe SSD storage). For comparison, I'm now using UpCloud which uses network-attached storage for all volumes and easily hits 10k IOPS (up to 100k with some tuning). I certainly may have missed something while testing this so I'm happy if someone else wants to contribute and correct me if I'm wrong.
- 6mo ago
- desireco42 6mo agoI think Digital Ocean is not something where I would worry about costs. I would prefer server like Hetzner but I don't think DO is service where the costs are such that we need to do movement. Plus, this is not what DHH was doing, he was not saving few bucks, but unlocking potential for his company to thrive.
- shermantanktop 6mo agoAh yes, create db replica, promote replica to primary. Seems so simple! When I’ve seen this work well, it’s either built into the product as an established feature, or it’s a devops procedure that has a runbook and is done weekly. Doing it with low level commands and without a lot of experience is pretty likely to have issues. And that’s what happened here.
- PunchyHamster 6mo ago> Old server: CentOS 7 — long past its end-of-life, but still running in production. New server: AlmaLinux 9.7 — a RHEL 9 compatible distribution and the natural successor to CentOS. So they did same mistake all over again. Debian or Ubuntu would just be upgrade-in-place and migrate
- hnarn 6mo agoI work with Linux deployments for a living and I have no idea what you are talking about.
- PunchyHamster 6mo ago[flagged]
- bunbun69 6mo ago[flagged]
- neeraga 6mo agoCan someone tell me the AWS server cost with the same spec? Probably $5000 per month?
- caymanjim 6mo agoCongrats on doing this successfully, but your setup is amateur. This would have been infinitely easier if you were using IaC (Terraform/Ansible), containerized applications (that you're not already doing that is madness), and had a high-availability cluster setup in place already. It sounds like avoiding downtime is important to you, yet there's no redundancy in the existing stack at all, and everything is done by hand. This isn't something others should use as an example.
- Zopieux 6mo agoOr just nix. The new hardware deployment would have been one nixos-build or colmena call, not accounting for the data migration of course.
- Chaosvex 6mo agoWhy take 24 hours when you can spend a month trying to get Nix to work instead? Slightly facetious but...
- alfanick 6mo agoIs this sarcasm? It's still Hacker News - running servers by hand is what people do, and it is fun to do :)
- mlhpdx 6mo agoI chose to ignore the cost savings and just enjoy the tale of migration. It’s a good one.
- koolba 6mo ago> Old server nginx converted to reverse proxy We wrote a Python script that parsed every server {} block across all 34 Nginx site configs, backed up the originals, and replaced them with proxy configurations pointing to the new server. This meant that during DNS propagation, any request still hitting the old IP was silently forwarded. No user would see a disruption. What was the config on the receiving side to support this? Did you whitelist the old server IP to trust the forwarding headers? Otherwise you’d get the old server IP in your app logs. Not a huge deal for an hour but if something went wrong it can get confusing.
- DaedalusII 6mo agodoes anyone else start to wonder about these companys issuing vps/online space with no hardening and no warning you can basically go on hetzner and spin up a vps with linux that is exposed to the open internet with open ports and user security and within a few hours its been hacked, there is no like warning pop up that says "if you do this your server will be pwnd" i especialy wonder with all the ai provisioned vps and postgres dbs what will happen here
- _el1s7 6mo ago> 30 MySQL databases (248 GB of data) > 34 Nginx virtual hosts across multiple domains > GitLab EE (42 GB backup) > Neo4J Graph DB (30 GB graph database) > Supervisor managing dozens of background workers > Gearman job queue > Several live mobile apps serving hundreds of thousands of users He's doing all of that on a single server?! I'm not against vertical scaling and stuff, but 30 db instances in one server is just crazy.
- leetrout 6mo ago> 30 db instances They didn't say that and the article didn't allude to that. 1 instance with 30 databases.
- _el1s7 6mo agoAh yes that's probably true, but still having 30 apps in a single db instance doesn't seem better...
- vb-8448 6mo agoIt's an average of 8GB per database, I guess he serves multiple clients and decided to "segregate" each client on its instance. If it's acceptable for the business it's nothing wrong with his setup.
- jpablo 6mo agoIf you’re migrating a large MySQL database and you’re not using mydumper/myloader, you’re doing it the hard way. If you aren't using xtrabackup you are doing it wrong. I recently migrated a database with 2TB of data from 5.7 to 8.4 with about 15 seconds of down time. It wouldn't have been possible without xtrabackup. Mysqldumper requires a global write block, I wouldn't call blocking writes for hours a "zero downtime migration".
- embedding-shape 6mo agoCorrect me if I'm wrong, but done with a proxy in-between that can "pause" requests, you could have done the move with 0 seconds and no rejected requests, and I don't think mydumper/myloader/xtrabackup matters for that. The "migration" would be spinning up a new database, making it catch up, then switching over. If you can pause/hang in-flight requests while switching, not a single one needs to fail :)
- jpablo 6mo agoThe "making it catch up" is the tricky part. You need an initial backup for that. xtrabackup can take that backup "hot" without blocking read/writes. mysqldumper will block writes for whatever time that initial backup takes, for 2TB of data that's going to be hours. Once you have that initial back up you can set your replica and make it catch up , then you switch. I choose to take the few seconds of downtime doing the switch because for my use case that was acceptable.
- embedding-shape 6mo agoIsn't that just a flag? "--lock-tables=false", alternatively --single-transaction for InnoDB.
- jpablo 6mo agoIf you want a consistent backup that you can use to setup a replica you need to block writes while the backup is taken, take the backup while the database is shutdown OR use xtrabackup.
- godot 6mo agoIf I remember correctly (it has been a while since I looked), Hetzner although is a lot cheaper on the price sheet, they're European region by default and then if you look to get US region servers at Hetzner, the pricing is a lot higher and similar to Digital Ocean. Is that still the case? For OP though who is a Turkey-based company and want European region servers anyway, it might make sense.
- embedding-shape 6mo agoFor what I use Hetzner for, and OP from the article, Hetzner only has dedicated servers in Europe, so there really isn't anything to compare to :) If I need dedicated servers in the US, I'd probably go with Vultr. I think Hetzner makes most sense (for myself, and OP seemingly too) because they have dedicated servers, and they're in Europe. Extra bonus is the unmetered connection, but primarily just good and cheap servers :)
- kyledrake 6mo agoThey're great but I wish Hetzner had a US (or CA) east coast presence, the latency of going across the ocean is really troublesome. They have some presence for their cloud offering, so they at least have some experience with the idea.
- l5870uoo9y 6mo agoHas Hetzner discontinued their US data center?
- deleted 6mo ago[deleted]
- thelastgallon 6mo agoIn the big corporate world, this would be a $600m budget, creating multiple VPs, thousands of positions, multi-cloud and multi-dc kubernetes, tons of highly paid consultants, the migration would take 9 - 12 years, create so many success stories, lessons learnt, promotions, etc etc.
- l5870uoo9y 6mo agoMost VPS hosting companies have cheap entrance VPS but then steep pricing. 8 vCPUs on DigitalOcean cost 96$ and ~11$ on Hetzner.
- bluepuma77 6mo agoA zero-downtime migration to a single database server? Power fails, disks fail, even CPU fans sometimes fail and bring a single server to a halt. Somehow I would have expected at least a high-available database cluster with multiple machines for applications "serving hundreds of thousands of users".
- pwr1 6mo agoDid this about a year ago, went smoother than expected tbh. the main gotcha for us was DO's managed postgres — had to dump/restore manually since there's no direct migration path to Hetzner's managed DBs. ended up just self-hosting postgres on a separate box which has been fine, maybe even better.
- mitjam 6mo agoI assume a vm on DO is HA protected. Also storage might live on a Cluster. Did you consider a socond dedi or do you just accept the risk of longer failover time and data loss time (RPO) for recovering to a newly provisioned server? Would love to know your thoughts on this especially as the migration was well designed and executed.
- donmb 6mo agoWe are currently moving from heroku to Hetzner. Same story, thousands saved / month.
- ocean2 6mo agoGreat article
- dabinat 6mo agoI’m formulating plans to switch from AWS to Hetzner. Amazon gets you by charging high prices (sometimes 20x more than competitors) and forcing you to make long-term commitments in order to get the prices to somewhere more reasonable. Then they make it exorbitantly expensive to migrate your data anywhere else. It’s a very customer-hostile approach that I’m tired of at this point. Amazon might think that they’re locking people in with the egress fees. But they’re also locking people out. As soon as you switch one part to a competitor, the high egress forces you to switch over everything. It’s going to be complicated to switch, but it’s made easier by the fact that I didn’t fall into the trap of building my platform on Amazon-specific services.
- boulos 6mo agoThis used to be true, but GCP forced their hand in January of 2024 with https://cloud.google.com/blog/products/networking/eliminating-data-transfer-fees-when-migrating-off-google-cloud https://cloud.google.com/blog/products/networking/eliminatin... AWS matched a few months later: https://aws.amazon.com/blogs/aws/free-data-transfer-out-to-internet-when-moving-out-of-aws/ https://aws.amazon.com/blogs/aws/free-data-transfer-out-to-i... I'm not trying to convince you to stay (I work for neither anymore!), just wanted to note that you can technically request a waiver. I'm not sure how this works in practice though. Like, if you want to leave Athena and move to something on-premise is that enough to have just that workload? Maybe! Edit: I also didn't follow this at the time, but the AWS wording suggests that the "EU Data Act" is also involved.
- tailscaler2026 6mo agoAWS DTO is a complete lie. This doesn't actually work as advertised. I attempted free data egress from AWS in December. It took them 31 days to respond to my initial ticket. At which point they gave me a multi-page questionnaire to determine eligibility and they also told me I could not begin DTO until 60 days had passed from approval of the questionnaire. By the time I was allowed "free egress" my cumulative S3 storage charges over the prior 100 days would have roughly matched the cost of egress if I just did so originally. I'm in the US so the EU Data Act protections don't apply.
- localhoster 6mo agoHard to read this article as it was written by Claude as a report after the migration that Claude did for you. If an llm helped you migrate and save this much money, kudos. But if you decide to write about it at least proof read it and remove redundant parts and llm storytelling.
- smallpipe 6mo agoIt's so bad, I know no one reads the original post on here, but this one was painful
- marcosscriven 6mo agoI’ve had Proxmox on one of their AX42 servers for a year now. All of it is backed up to PBS, backed by Cloudflare R2 storage. None of it is mission critical - but it’s certainly something I’d use in production with a few more instances. Networking over Tailscale works flawlessly with my Proxmox nodes at home.
- bth 6mo agoA few months ago, I looked into AWS alternatives for my small SaaS side project. My main motivations were to save money and maybe support some EU cloud providers. At first, I planned to go with Hetzner and accepted that I would need to do a lot of things myself. However, the dealbreaker for me was that Hetzner IPs have a bad reputation. At work, I learned that one of the managed AWS firewall rules blocks many (maybe all) of their IPs. I can’t even open a website hosted on a Hetzner IP from my work laptop because it’s blocked by some IT policy (maybe this is not an issue for you if you are using CloudFlare or similar). I've read online that the DDoS protection is very bad as well. So in the end, I picked DO App Platform in one of the EU regions. Having the option to use a managed DB was a big plus as well.
- deleted 6mo ago[deleted]
- mmarian 6mo agoNot sure what firewall rules you're referring to, but I'm genuinely surprised to see DO being trusted more than Hetzner. I often see DO's ASN when looking at scrapers/hackers, so I'd say it's only a matter of time until they're blocked as well.
- Maledictus 6mo agoHow convenient for Amazon to block a competitor this way :(
- napolux 6mo agoDO IPs are way worse. source: moved away from DO for this very reason.
- TZubiri 6mo agoI wrote about this on a Tor thread. https://news.ycombinator.com/item?id=47279518 https://news.ycombinator.com/item?id=47279518 It looks like Hetzner is Tor (and Tor adjacent) friendly, I suggested this might affect IP reputation, 2 users responded they had no IP reputation issues. But it looks like that wasn't quite the whole story https://community.torproject.org/relay/community-resources/good-bad-isps/ https://community.torproject.org/relay/community-resources/g... It seems that Hetzner holds 7% of the Tor network. (if I understood the table right)
- pier25 6mo agoIs Hetzner as reliable as DO though? Over the years I've heard plenty of horror stories from Hetzner customers.
- Ken_At_EM 6mo agoYeah, well be careful of Hetzner, I used to love them but I just migrated away. They just shut all all of our VMs over a $36 billing dispute. (~30 VMs we were using for our CI/CD pipeline) We provided them evidence with records of the payment in totality from our bank, they refused to look at it / discuss the dispute, even when we were communicating urgently and just ultimately shut off all our access. We're on Scaleway now.
- chris_engel 6mo agoHm. Hetzners billing stuff is highly automated - but they usually give you about a month to pay your bill if the credit card payment failed for some reason.
- antoniojtorres 6mo agoHave had some hiccups with payments not going through myself that ended up in server IPs being restricted but they were very helpful on the phone and service was restored in about 30 minutes after the call. Decidedly not ideal but has been easily manageable since.
- Ken_At_EM 6mo agoWe were on invoice, and yes we had about a week or so of warning, but again, we had done the wire transfer to the full amount, and provided evidence of such.
- ljm 6mo ago[flagged]
- tylergetsay 6mo agoI'm currently paying $800ish a month for digital ocean servers that I know would fit on a single hetzner machine :/
- deleted 6mo ago[deleted]
- rob 6mo agoI know they've been bought out by Akamai or whatever but I've been using Linode for over 10 years and I still go to them if I need a VPS. I don't have extreme needs, but they seem to be always improving or adding features comparable to other providers and the UI is consistent so I don't see a reason to change. Any time there has been an issue they've migrated me to a new host automatically without even needing to do anything. I combine it with Dokploy now and just deploy most of my projects via Docker Compose and private GitHub repos.
- grzes 6mo agois a pity that Hetzner does not have monitoring agent like DO. in DO you can set alerts and view all metrics. its this one thing that keeps me from migrating because i dont want to install custom monitoring solutions.
- throwaway132448 6mo agoWhy did the title get editorialized from the original to omit key facts? That’s some sleazy modding HN.
- aaa_aaa 6mo ago>Skyrocketing inflation and a dramatically weakening Turkish Lira against the US dollar This reasoning does not add up. They could simply say they needed to move somewhere cheaper, like Hetzner. Inflation is still high but getting lower. Weakened Turkish Lira part is not correct because dollar is artificially suppressed for a very long time.
- bornfreddy 6mo ago> The key: proxy_ssl_verify off — the new server’s SSL cert is valid for the domain, not for the IP address. Disabling verification here is fine because we control both ends. Yeah - no, it's not. They made the MitM attack possible with this change. The exposure was limited to those 5 minutes, but it should have been a known risk. Also not certain how they could check the apps on the new server with the read-only database, while it was a replica? Still, nice to hear it succeeded, the reasons sound very familiar.
- SahAssar 6mo ago> The key: proxy_ssl_verify off — the new server’s SSL cert is valid for the domain, not for the IP address. Disabling verification here is fine because we control both ends. Not really, a MITM could do anything here. It's not very likely to happen here, but I think this comment shows a misunderstanding of what certificates and verification does.
- TurdF3rguson 6mo agoHetzner oversells hardware which means your neighbors are a drag on your performance. If your server is mostly idle, this might be a good move. If not, it probably won't be worth it.
- faangguyindia 6mo agoIt will still outpeform VPS of similar specs. Hetzner cannot outsell your CPU or SSD VMs on cloud can.
- TurdF3rguson 6mo ago> Hetzner cannot outsell your CPU or SSD On dedicated server they can't but we're talking about VPS (cloud plan)
- BrunoBernardino 6mo agoReally interesting sharing, thanks! Why lower the TTL to 300 instead of something like 60 or 30, to make the switch even faster? The nameservers were DO's, so they should've been more than able to handle the increased load. BTW, I've been a client of Hetzner (Cloud, Object Storage, and Storage Box) for a few years now, very happy with them!
- written-beyond 6mo agoI considered going to hetzner at one point but I read a lot of stories around hetzner that didn't inspire confidence. Primarily that they're not really that much cheaper than going to other companies offering something similar. If some people can chime in with their positive experiences I might switch.
- elgertam 6mo agoI set up a VM on Hetzner a few weeks ago. I've been quite impressed so far, and was able to orchestrate everything with Terraform without a problem.
- addybojangles 6mo agoMight give this a whirl, not move business infrastructure here, but see how it works for my personal VPN server.
- infomiho 6mo agoHey I made the meme in the header https://wasp.sh/blog/2025/04/02/an-introduction-to-database-migrations https://wasp.sh/blog/2025/04/02/an-introduction-to-database-... Nice to see it used _twice_ :D
- collinmanderson 6mo agoI just want to point out this guide uses many of the same tasks I use when migrating websites between servers while minimizing downtown. - reduce dns ttl (if not doing an ip swap) - rsync website files - rsync /etc/letsencrypt/ ssl certificates - copy over database (if writes don't happen often and database is small enough, this can be done without replica, just go read_only during migration) - test new server by putting new ip in local /etc/hosts - turn off cron on old server - convert old server nginx to reverse proxy to new server - change dns (or ip swap between old and new server) - turn on cron on new server
- Frannky 6mo agoI have been using hetzer for a few years now. I realized I just need a Linux VM and snapshots. It is so freeing to not have to deal with big tech's VMs and their cumbersome and soul-sucking steps and documentation.
- zuzululu 6mo agoOnly complaint about hetzner is how difficult it is to become a customer there. No matter what I try, they refuse which is frustrating. Even setting up a new company is not a realistic solution as the verification still requires passport. If anybody knows an alternative, kindly leave a suggestion.
- itsthecourier 6mo agoOVH is awesome
- pruthviraja 6mo agoGreat migration execution. The nginx reverse proxy method during DNS propagation is a smart way. we utilize a comparable approach when transitioning workloads across Kubernetes clusters but the traffic management occurs at the ingress controller level with weighted routing. I am wondering if you thought about containerizing any part of this stack during the transition or if the decision to use bare metal was deliberate in order to maintain a manageable migration scope???
- EverMemory 6mo ago[flagged]
- jjtheblunt 6mo agohow's HIPAA maintainable, or not, in migration to Hetzner?
- boxingdog 6mo ago[dead]
- anonzzzies 6mo agoDO is so expensive compared with others; one of my clients insisted on using it as they found aws too costly; I got them over to Hetzner after a few months saving them 28k/month. I have no clue why people bother with DO vs AWS if they want to spend that kind of cash on hosting. I host million$ SaaS on Bunny.net and Hetzner for less than $200/mo; will never go back to the overcharging companies; and this is trivial to rsync migrate to whatever other provider too.
- dependsontheq 6mo agoHetzner is in my hometown and they are such a team of decent, no marketing, no frills, we build infrastructure team.
- dependsontheq 6mo agoThey remind me of all the other German Mittelstand family run companies - we will do one thing and we will do it in the most efficient way possible.
- altern8 6mo agoI used to like Vultr because it was a cheaper Digital Ocean, still with a great-looking UI (if not better). Now, prices are so bad that I have to choose between a bare metal server with 500 GB of SSD storage, 16-core CPU and 16 GB of RAM with OVH or a VM with 1/10 of that with Vultr. It doesn't make any sense. Also, Vultr has the nasty policy of topping your account $100 whenever you run out of money, even if your server is $3/month. Last weekend, I transferred a handful of personal projects and my monthly expense for hosting went from $500 to $100, for vastly superior servers.
- sho 6mo agoI use and love Hetzner as well. But you have to go into it eyes open. Concrete example - a month ago I was notified that network infra my systems ran over was going down for maintenance. Public link: https://status.hetzner.com/incident/ff8335b8-6fda-4370-8431-ae50022573fe https://status.hetzner.com/incident/ff8335b8-6fda-4370-8431-... So, for me that was a production DB, fairly low usage but still. In the end I judged that it was going to take so much time to work around the outage that I just planned "maintenance downtime" myself and took it offline for a couple of hours until they finished. Now, could I have architected better? No doubt. But it's a good reminder of what you're paying for and where the differences emerge in practise. AWS may be an overcomplicated, expensive mess - but I've literally never had any service of theirs go down for maintenance for any reason. Outages, sure, but taking things down for routine maintenace? Unheard of at AWS. For me the formula is - I do whatever I want for my stuff, but if it's someone else's business, I use AWS.
- andreynering 6mo agoI have something on Digital Ocean and I receive emails about maintenance windows all the time. So, not an exclusivity of Hetzner for sure.
- Ardren 6mo agoI don't remember ever having downtime on DO when I was using them. I used to get those emails all the time, but the type of downtime they were talking about was extremely minimal (the entire point of VPS systems). The last email I got about possible downtime was increased latency for the UI and API for ~10s last year. The email before that was ~5s of potential lost traffic to a droplet.
- sulandor 6mo agotbf there are reasonably priced bare metal hosting providers that don't have maintenance or other regular outages.
- matrixgard 6mo ago[dead]
- bborud 6mo agoNow that everyone seems to be discovering Hetzner I guess the countdown clock for enshittification has started ticking, so we have to start looking for the next place to escape.
- _pdp_ 6mo agoWhen you use AWS you pay for software. When you use Hetzner you pay for the hardware. Only one can go infinitely more expensive! With decades of well engineered open source software and some help from AI virtually anyone can run their own bespoke stack on bare metal servers. You need to know a think or two but it is possible. If you want to go crazy you can also deploy your own agent inside the machines to maintain them.
- Fock1e 6mo agoThe "Hetzner is 5-10x cheaper" framing is real but the comparison that actually matters is egress, not compute. A $5 DO droplet and a €4 Hetzner CX22 are both fine for a side project. What kills you on AWS/GCP at small scale is the per-GB egress - once I was pulling ~300GB/mo out of an eu-west-1 ELB and the egress line was 6x the EC2 line on the bill. Moving the same workload to Hetzner or even a single Fly.io region dropped it by >80% without touching the app. One thing people skip: you also lose AWS's managed failure modes. Managed Postgres, VPC peering, IAM roles on instance metadata - you now own all of that. For a solo project or small team that's fine (rsync + pg_dump | pg_restore has worked for 20 years). For anything with on-call rotations it's a meaningful shift.
- gynecologist 6mo agoAI response
- jillesvangurp 6mo agoI migrated from Google Cloud to Hetner beginning of March. I currently have about 9 vms running and I pay a around 130 euro per month. There are very little other fees and generous freemiums for things like networking and storage. I have 3 projects, one LB, a handful of storage buckets, and a private network in one of the projects. That 130 is for everything. Their 40% price increase kicked in shortly after I signed up. It's still very affordable and good value. Their support was very helpful when a few days in I requested additional server quota. The flip side is technical limitations and reliability. We've had a few network glitches. The vm boot disks are unencrypted (not ideal). And a few other things. Do your homework before you migrate. Most of these things you can DYI around. I managed the whole migration via Codex orchestrating my Ansible scripts. It made fast work out of figuring out how to do NAT in Hetzner private networks and a few other hairy issues that would have otherwise derailed me for a bit. I got the whole migration completed in two days. You get what you pay for with Hetzner and it is good value. But if you need more than they offer, you might want to look at other companies. They scale by keeping things simple. This is my second time with Hetzner. We used them around 2013 for a bit. I had six bare metal servers at the time for something like 300/month in total.
- dnnddidiej 6mo ago65gb source copied using rsync seems... odd! And more cat than cattle.
- diebillionaires 6mo agoI moved away from digital ocean about 6 years ago and never looked back. I found their customer support to be rude, and their offerings to be overpriced.
- noisy_boy 6mo agoTried to sign-up for Hetzner. Says I need to provide my official ID for "enhanced verification". Yeah, right.
- flaxton 6mo agoHetzner has been allowing a lot of spam lately and doing nothing about it, so I've been blocking it for all my clients. Something to consider. If you send email, it may be blocked.
- tmdetect 6mo agoGreat read. I also recently moved everything over from DO to Hetzner for https://tempmaildetector.com https://tempmaildetector.com across different regions*, and greatly simplified the server infra in the process. The other added benefit is that the resources available on each server are so great in comparison to DO that there’s plenty of room to grow vertically before even taking into account the additional horizontal scaling we can use thanks to the load balancing in place. So a big win win all round. So good to see European providers are finally having their moment. * I wish there were even more available and not sold out regions across Europe.