7 ms·
Ask HN: Those of you who don't use AWS/Azure/GCP, what do you use for hosting?
Trying to decide a hosting provider for a small startup. I want to avoid the big 3.
My main requirement is that I don't want any lock in; if something goes wrong, I want to be able to easily move providers and spin up my deployment there.
My contenders so far are Hetzner and Linode. What are you guys using and how has your experience been?
- atmosx 2y agoYou most likely are going to need more services like cloud object storage and a managed DB. Running all these services by yourself will be hard and should be avoided unless necessary (e.g. compliance). DigitalOcean is okay-ish although, I don’t feel like their services can handle high amounts of traffic. Their offering is rather complete though as they have an object store with free CDN support, managed DBs, managed app deployment platform (or nodes you can manage or kubernetes distribution) to run apps.
- mekster 2y agoHow is running a database hard? It is more annoying to receive alerts from AWS of expiring certificates and suddenly they start charging for extended support when the version goes EOL on their definition and having have to deal with them. At least by running stuff yourself, you gain universal knowledge that lasts as long as you're using that software but learning the way of AWS is a complete waste if you ever leave them. Do people nowadays think they're smart by using the myriad of provided services for no good reason not knowing they're being locked and milked?
- logotype 2y agoMy old trusty Dell PowerEdge R720 in the utility room at home. It works fine, and powers everything from web hosting to locally running LLM's. It would have costed a fortune running the equivalent compute capacity in any of the big 3.
- mekster 2y agoHow do you handle hardware failures or screw ups for the server to go offline? When I saw one of my server not coming back up at home for some reason on a reboot, I realized I needed spare hardware to reliably operate them. I can't let it stay offline while I order for the spare parts to arrive, even though I have backup data ready elsewhere to be restored. Agree that cloud is too expensive these days. When you realize buying a server with 32 GB memory with 1TB nvme is only $250 (apparently no virtual neighbors bugging for your resource) and you're meant to pay that same price monthly to be on the cloud, it starts to feel like a joke.
- logotype 2y agoUptime for the last 3 years has been >99%. 1. Keep spares (esp. fans and drives). Hot swap if needed. 2. Dual ISP (1Gbit/s primary, auto switch to Starlink if primary link fails). 3. Keep a separate server for testing. Actually I lied, I test things in prod, sue me. The monthly AWS bill is roughly 5 USD and consists of Route53 only!
- mekster 2y agoI used to like Linode, until I started using zfs. Their backup is not at a block level just because they can optimize it for their benefit which limits the partition be formatted only in unencrypted ext3 or ext4 to be able to use their backup service. https://www.linode.com/docs/products/storage/backups/#additional-technical-specifications https://www.linode.com/docs/products/storage/backups/#additi... I don't like them sweeping through list of files daily and their backup service choked having millions of files a few years ago while I was still with them. Backing up at a block level will never impose such limitations. So, their backup service which is one of the reason to use a cloud with hefty 20% added charge, is pretty much meaningless if you're using zfs. Haven't checked all but a provider taking backup at a file system level should be totally the minority.
- edtech_dev 2y agoWhat did you switch to?
- mekster 2y agoVultr. Good thing about Vultr is they also have additional block storage that is HDD based which is far cheaper than NVMe based when all you want is space and not speed.
- _akhe 2y agoRaspberry Pi at home for several apps and websites. Vercel for front-end React websites that maybe have minor backend work. No need for anything else. Vercel covers most front-end use cases, and when I need persistence/backend I have my home server. In a couple things I'll use Vercel + MongoDB Atlas so it's fully cloud, but still free. If it's something that wouldn't be free I move it to the Pi.
- aprdm 2y agoDigital Ocean and Linode both are pretty okay, I used mostly DO
- mdean 2y agoI would highly recommend DigitalOcean (https://www.digitalocean.com/ https://www.digitalocean.com/) - they started with a simple VPS offering but have expanded over time. I've been using them since 2013 for hosting personal site/small projects and they are highly reliable, communicative about any maintenance requiring downtime and transparent about pricing. Feel free to check them out. If you want I can send you my referral link.
- ao98 2y agoDroplets on digital ocean running docker containers. That’s as portable as it gets, but it’s also very DIY. A lot of the reasons you might use a cloud provider is the wide host of services that are meant to make your life easier.
- tobinfekkes 2y agoKnownHost. Splendid people. Support is as good as (better?) the service.
- __d 2y agoI've used Digital Ocean for nearly 10 years. It's been good. That said: I don't know enough about your situation, but ... what are you optimizing for? AWS/GCP/Azure have each got a platform that provides a heap of functionality. Using that will save you time-to-delivery and engineer-hours. All the clouds have startup programs that will mean it's basically free until you get some traction. If you're looking for investment, using AWS/etc means you instantly avoid all the questions about CapEx and risk that follow from self-hosting. Don't underestimate the upside of not dealing with a bunch of cobbled-together service providers (hosting, billing, SMS for 2FA, email, monitoring, etc, etc). Having a single provider and a single bill simplifies your admin a lot. And if you need to scale in a hurry, it's a whole lot easier if you've adopted a cloud platform. Is avoiding lock-in really a big problem? In your software, you can either use a third-party abstraction, or build a shim layer that sits above the services you use that would allow you to migrate (even to self-hosting) if you had to. For the most common services, there's not even really a need for this: the AWS API is widely supported anyway. The devops/sysadm side is harder though. Some of this won't apply if you're bootstrapping: it's more work, but vastly cheaper to do a lot of stuff yourself, and renting a half-cabinet colo and stuffing it with off-lease servers will cost you engineer-hours, but saves a heap of cash. Augmenting that with a PC at home for backup, and cheap VMs from Digital Ocean, Vultr, Hetzner, Linode, etc for scale might work out well. But it's hard to beat the free plans from the clouds.
- mekster 2y agoDon't underestimate the downside of using those "heaps of services". It was funny to see someone using RDS and was warned of expiring CA certificate and AWS suddenly charging for extended support because the version they were using went out of support period. I laughed how they were supposed to just install MySQL locally and avoided all that. If you wanted point in time recovery, just read the doc for an hour and do it yourself when you have to spend more time reading warning email from AWS and search around to see what they meant for unnecessary interactions of their artificial limitations. Some people seem to think using "heaps of services" make them look smarter but they're not. Free plans are to lure you into their locked up ecosystem and gives you no gain on knowledge by dealing with their limitations, rather better to learn the tools you're using.
- iamflimflam1 2y agoI would really question why these are your major concerns. You are going to burn through a lot of time and resources worrying about cloud lock in and being cloud agnostic. That’s energy that should go into building your product and finding customers.
- mekster 2y agoYou're just over generalizing it. You would burn time dealing with the way of the big 3 instead of learning what you're using and if you ever want to migrate out, you'll be burning more time than you may be able to afford.
- joshestroud 2y agoI use Cloudflare Serverless for front end apps and Render for backend services. - Cloudflare [1] scales easily and has a lot of easy to use services like databases and storage buckets, JAM Stack front end pages, and CDN services for images and videos. - Render [2] has been great for us to spin up Python services quickly. I haven't worked with a production load on Render, but I hear good things :) [1] https://www.cloudflare.com/developer-platform/products/ https://www.cloudflare.com/developer-platform/products/ [2] https://render.com/ https://render.com/
- goralph 2y agoIs this worth your time to worry about? Does your startup have solid runway and/or are you profitable? Do you have solid PMF? If the answer is no, and I suspect it is since you're deliberating where to host, then get back to shipping features. To be reductionist ... I'd rather have to deal with vendor lock in a growing successful startup, then have cloud agnostic infrastructure and be out of runway. Even then, I think people generally over-engineer this problem. I've worked at multiple unicorns who have been 'locked' in to AWS/GCP/Azure. Think in terms of risk, and opportunity cost.
- toast0 2y agoWhat are you looking for in a provider? Locations, bandwidth, number of machines, orchestration capabilities, etc? Avoiding lock in is 'easy'; avoid using specialized services and features that aren't universal. Avoid bundling services that need not be bundled. Your hosting provider should not also be your domain registrar, and maybe shouldn't be your DNS provider, nor your email provider. Big cloud has high outbound bandwidth rates, so avoid collecting a large amount of state that would need to be copied in a move. (Easier said than done)
- quintes 2y agoLock in of some kind is inevitable. I say this on many levels Pick one and get going
- syndicatedjelly 2y agoI’m using a DigitalOcean Droplet and running a Dockerized application inside it. Can easily take the image to another provider if I want. No lock in.
- speedgoose 2y agoI used successfully OnPremise, OVH, Scaleway, Hetzner, and a few local and small OpenStack cloud providers. Why do you want to avoid the main cloud providers? Is it needed for your startup or you want to add extra risk and complexity?
- bennyhill 2y agoI wouldn't use scaleway since they tried to copy AWS.. But in general, I'd say simple is a real data center layer node without all the strange contraption ideas to bill you by the byte for a filesystem that isnt a filesystem on top of a webserver that needs a filesystem..
- JSDevOps 2y agoLinode exclusively for 10 + years. Brilliant Service. Even still decent when acquired by Akamai
- throwaway38375 2y agoI agree with your requirement to avoid lock in, but there's nothing wrong with using the big three if you make sure you use open source technologies. I'm going to use the LAMP stack for example, because everyone is familiar with it. For example, if you choose MySQL (rather than AWS Aurora) you can: 1. Run that locally during development 2. Install it yourself on a VPS 3. Or migrate to any of the big clouds quite easily Same goes for your stack. Rather than using PHP with AWS Lambda, provision VMs and install PHP yourself (probably using some sort of shell script). All cloud providers offer a VM in one form or another, so you're free to swap to another one when you choose.
- throwaway38375 2y agoThe only exception I have to this is S3. There are so many S3 compatible providers that I don't see any problem with using S3. There's even MinIO for self hosting and local development! Some more suggestions for open source components: Redis for caching and queueing SMTP for mail Nginx for load balancing Cron for scheduling
- 4lun 2y ago> The only exception I have to this is S3. There are so many S3 compatible providers that I don't see any problem with using S3. I've strongly held this view in the past but after recently being on a project where we trialed using other providers, there's a lot missing compared to the AWS S3 offering that has made me rethink this stance a bit Permissions being a big one, many providers offer little to no fine grained control. With Digital Ocean for example it's all or nothing, you can only generate access keys that gives full access to all buckets[0] [0] https://news.ycombinator.com/item?id=37724393 https://news.ycombinator.com/item?id=37724393
- throwaway38375 2y agoA fair point. :)
- ActorNightly 2y ago1. Dockerize everything 2. Self host through Cloudflare tunnels. Works fine enough for little traffic as long as you are not maxing out bandwidth for data transmission. 3. When you grow, easy enough to move the containers to the cloud.
- FKFnwL 2y agoI'm going to make a left field suggestion and say Modal Labs if you're mostly Python based: https://modal.com/ https://modal.com/ It should work with other languages through Docker and their Python API, but I can't speak to the ease of deployment in that case.
- jasonvorhe 2y agoI don't think you've shared sufficient information about your requirements to give you a good suggestion. If you're already running container workloads, DigitalOcean has a managed Kubernetes offering that's quite decent. If you're only using VMs so far, I don't think you'll gain anything by introducing the complexity of the bigger cloud providers (managing VPC, subnets, firewalling). Of course you can use a cloud provider and just stick with a common stack that can be easily moved to different providers or hosted on metal/on-prem once the need arises. In order to provide a more useful answer, I'd like to know your current tech stack and a rough estimate of traffic/users. I've done consulting for various clients who wanted to move from on-prem to cloud and vice versa and as long as you stay clear of the proprietary products you shouldn't worry that much about cloud lock-in. Stick with Postgres/MySQL, redis, containers/VMs and try to have as much of your infra in code, if possible.
- edtech_dev 2y agoA lot of people have asked about more details. I am going to reply here and hope it gets enough visibility. Right now, it's a simple web app + db + redis queue. We'll start with just one prod server (and a test/staging server perhaps?) with some kind of a failover setup. My goal is to keep operational complexity to a minimum. I plan to avoid k8s and just use docker compose/docker swarm/dokku. I have seen enough places burned by going with the big 3 - either through billing, support, or the sheer complexity of managing everything. You might start of with good intentions but you tack on a service because it's easily available and the next thing you know your costs have creeped up and moving things has become a non trivial project that you don't have time for. I am just looking for a box I can run my setup on with fair pricing, good support, and enough reputation where I have faith they are not going to fold in 6 months. And if things go south, I want to be able to migrate easily.
- karmakaze 2y agoFor my personal hobby projects I use Vultr. I used to use DigitalOcean and others but found that Vultr has better performance/price, both in my ad-hoc experience and in benchmarks when I was choosing. My needs are minimal, but I do like the private networking and IPv6, I've used separate storage volumes and metadata service, but not very much. I agree with others that it's not a good idea for an actual company building a real product. You'll likely soon get into a situation where a using an available cloud service/feature will simply solve something avoiding a lot of infrastructure/development work for trade-off in paying the price for a service. Cloud-agnostic isn't a worthwhile goal for a 'true' startup, where calendar time and developer time should me things to optimize for more than cloud bills. The idea is to iterate/pivot quickly and using services to try stuff is the advantage. If this doesn't match your 'startup', that's fine and you can choose based on your criteria.
- serjester 2y agoI’m a big fan of render - I’ll echo the sentiment of others until you have PMF, you shouldn’t be trying to avoid cloud lock in.
- noop_joe 2y agoHave you considered using a provider that might help eliminate some of the operational burden of running your apps? At a very high level, when using the big 3 and hosting that's raw infra you're going to find ways to pay for _keeping things running smoothly_. At least the big three have happy paths to avoid some of the operational burden (hidden among many many foot guns). Full disclosure I work at noop.dev [1], a hosting provider trying to shift the focus of developers from infra-level abstractions to application-level abstractions. I'm probably biased, but my instinct is that concerns over lock-in are totally valid, but the cost of avoiding is higher than the penalty of embracing. 1. https://noop.dev https://noop.dev
- rcbdev 2y ago> the cost of avoiding is higher than the penalty of embracing This is becoming increasingly untrue with the death of ZIRP. In countries where VC money is much drier, many start-ups begin on VPS' and only move to the cloud when scalability becomes a real issue. This though, is generally frowned upon by contemporary tech culture.
- edtech_dev 2y ago> many start-ups begin on VPS' and only move to the cloud when scalability becomes a real issue. This is the idea, yes. But I am hoping we can scale vertically for a long time.
- Froedlich 2y agoAll of my clients have their own servers, hot spares, and off-site backup.
- rgrmrts 2y agohttps://fly.io https://fly.io and https://vultr.com https://vultr.com I used Fly as a modern successor to Heroku (I know Heroku is still around). Features are good, scaling to 0 is great, their networking stuff is solid, and pricing is fair. I generally use it to host application backends. Vultr for when I want a long lived server or build my own infrastructure platforms. I use it as just a VPS provider for larger machines at reasonable costs. Caveat being I’m managing my own infrastructure with all the trade-offs that come with it.
- edtech_dev 2y agoThanks. I hadn't heard about vultr. How does it compare to Hetzner and Linode?
- rgrmrts 2y agoIt’s similar. I liked Hetzner for their affordable bare-metal offerings, but found their interfaces to be fairly clunky. Linode and Vultr (and Digital Ocean) have a nicer web based interface. I think you can find benchmarks online comparing performance of the different VPS providers but IMO the differences are not all that relevant for every day use cases. It mostly boils down to which service you like more based on entirely subjective variables like company, branding, ownership (Linode was acquired by Akamai).
- flybayer 2y agoThe problem with typical PaaS is significantly less reliability, higher costs, and limited flexibility than AWS for example. But of course AWS is a nightmare on it's own. So you might like Flightcontrol [1] which provides a PaaS user experience on your own AWS, thereby giving you the best of both worlds. [1] https://www.flightcontrol.dev/ https://www.flightcontrol.dev/
- 0xBDB 2y agoPiling on a bit at this point, but I have never had an issue with either Digital Ocean or Linode. Digital Ocean has particularly good docs if you are looking to do e.g. Terraform infra as code.
- gperkins978 2y agoSo, there is an existing market of guys who know linode. If you have room in your payroll, you can hire a linode guy and have him manage it, but I would make sure that guy has a junior guy learning from him. I say this because the rest of the world either does AWS/Azure, or still does it all onsite. Just my two cents.
- BenjiWiebe 2y agoI use Linode, but I don't "know" Linode. I click around to buy a server and then ssh into it for administration.
- KomoD 2y agoHetzner, Vultr, DigitalOcean, Aeza primary: co-located server running Proxmox also cloudflare workers, cloudflare pages, github pages
- edtech_dev 2y agoDo you use all 3? How do they compare in your opinion?
- xrd 2y agoThat's what I use as well, except for Aeza. I'll have to check that out, I come to HN for the opportunity to see what like-minded people use.
- CM30 2y agoCurrently using LiquidWeb for my sites, having been moved over from WiredTree when the former bought the latter. Not particularly cheap in either case, but found the support excellent, since they actually knew what they were doing tech wise and were willing to reconfigure half the server if something went wrong when upgrading libraries or language versions or setting up domains. But you may want to provide a bit more detail as to what you're after here. What languages/frameworks do you plan to use, how much support do you need and what kind of pricing are you looking for?
- serguzest 2y agoMy latest `serverfull` deployment: ܁ DigitalOcean droplet(s) with Docker service preinstalled. ܁ All services are running with docker-compose. ܁ Managed Postgresql and spaces for storage. ܁ Cloudflare free tier and their `tunnel` product as a reverse proxy into your docker-compose network is super useful. ܁ Github actions and container registry to compile and sync container images. We have staging/production environments. Some GitHub actions run idempotent Bash scripts to prepare droplets. ܁ Shameless plug, I am up for hire.
- edtech_dev 2y agoThanks. I have only recently become aware of the Cloudfare tunnels. What's your use case for running them exactly?
- serguzest 2y agoyou can run a tunnel client on any server and as long as the server has outbound internet access, you can publicly access this server via Cloudflare controlled domain. You can also have standard CloudFlare perks in this way such as CDN and rewrite rules. You don't need to have a reverse proxy server, no need to rely on static IPs or inbound firewall rules in the data center. So you can freely create and destroy droplets they can have different IPs each time.