Hiya,
Choosing the infrastructure for your product is definitely an important step that influences both what you can achieve as well as how.
I'm trying to put a comprehensive list of all the hosting options and I'd love to hear what makes you choose them. What things you love about them. Or hate.
Why don't you share your picks?
I use Hetzner cloud for my staging servers. They are quite affordable for testing things. For production, I use Linode. I used to be a great fan of DO for their UI and price. But Linode caught by eye for running their business without investors. Initially, I was a bit hesitant with Linode for their stability. Now, I have more than 20+ servers on Linode.
Interesting, is there any reason you don't use Hetzner in production?
Personally I use Hetzner for fun and games but if I were to host a production site there, I would need to think about edge servers and where my audience is. Hetzner only had EU servers which might or might not work.
Yeah, it's a pity it's EU-only.
I see. I personally like them because of the specs you get for a relatively cheap price.
The bandwidth prices are particularly good. It's less than 1/10 of what DO or Linode charge.
I don't have problem using them in production. Most of my customer base is asia pacific region. And, Hetzner have their servers only in EU.
This comment was deleted 6 years ago
Gcp. The main two reasons are reliability and price. It can really be dirt cheap if you know what you're doing.
Do you mind sharing your typical stack? What services do you recommend using?
Small sites I host for friends and family, most commonly app engine + an SQL instance. I think I host around 10-15 of those and they all are up to ~10 bucks/mo tops. For larger projects I've used multiple services: kubernetes, pubsub, storage buckets, dataproc, cloud functions, bigquery(kinda wanting to get an opportunity to use spanner but I don't have a personal project that is this large) and again, they can be pretty cheap but you have to play smart. One wrong move and your bill will come with a cargo ship.
Ooh, yes, Spanner is an exciting service. Thanks for sharing!
For applications and dynamic sites Heroku is my first choice. Simple and easy to set up, SSL built in, necessary services are a click away, and I rarely have to worry about anything outside of pushing code after that.
For static stuff, sales pages etc, Netlify is the same story.
Running a server, worrying about security, backups and running out of disk space and whatnot simply isn't worth the few bucks I could save by doing so. But for the few cases where I've had to, Linode has been my VPS host of choice for years.
Interesting to see both Netlify and Heroku both mentioned so many times. Personally I thought Heroku would be somewhat more popular. Instead, I see Linode/DigitalOcean is still quite a popular alternative.
When it comes to Heroku, what dyno size are you using usually? And what kind of stack are you running there?
I'm running Ruby and Rails on Heroku, usually. Dyno sizes tend to vary with the project and/or phase. Hobby dynos do go a long way, particularily when paired with one of the paid Postgres sizes, fx Basic.
I am using scaleway's kapsule (kubernetes engine) at the moment. Although I don't really need kubernetes right now, I am pretty confortable with it and helps me deploy things faster (deployment is one
kubectl apply -f ...command which is very convenient.Now I have all sites with docker on relatively small servers in Linode, DigitalOcean and GCP.
My favorite is Linode for price and features.
DigitalOcean's backup system is very poor.
For some customers I use GCP (Google Cloud Platform). The backup system is very good, but GCP is much more expensive than Linode or DigitalOcean.
That's interesting. What do you find lacking in DO's backups?
DigitalOcean does not have daily backups. Only one a week.
I'm using Netlify for static sites and Firebase hosting for the app, I really like the whole bundle of tools Firebase offers (authentication, database, storage, hosting...), check it out at https://thedailymetrics.com/
I'm using Netlify for my personal website diegodlt.info which is built using Gatsby. I love CI/CD integration built in, so all I have to worry about is pushing the code up to the repo.
I'm using AWS because it is a valuable skill to have. If you just wanna host your app and not work as DevOps/SRE etc. I wouldn't recommend it at all. I've been using it on the site for over 2 years and there is still a ton of stuff I don't know.
At work we use Digital Ocean, which is simple enough. But I'm missing a managed message queue and managed redis tbh
That's a good point! I feel sometimes it's easy to overlook the management overhead (I plead guilty myself) that ultimately is a distraction.
Would the availability of a message queue (possibly with workers launched automatically based on queue depth) something that would make you look into using such a platform - i.e. how important do you think it is?
By the way, DigitalOcean now offers a managed redis :)
holy shit, I didn't know that. looks like it existed for over a year.
I think queues are pretty important to protect your downstream services from getting overwhelmed. I'm using it to buffer S3 notifications to a fargate container which processes a lot of text files.
At work, we have an extremely long calculation (can take over an hour), if the container is killed by Kubernetes during that time we are screwed and end up with invalid data and need to start all over. Splitting the calculation up and feeding those steps through a queue would make it way more resilient.
I'm a huge serverless fan, so that is another reason why I wouldn't use Digital Ocean privately.
I guess you could try and emulate the queue using redis.
Also, I totally understand, as I'm a huge serverless fan myself ;)
## Static:
Netlify - it's free and fast (as in fast to load pages), and I like static sites for security.
## For Dynamic:
Heroku - if I need something dynamic, this is the easiest way to deploy. No need to manage a server, but I get the flexibility that comes from running Node & PSQL.
I use cheap local VPS hosting provider. It costs 2.5 EUR per month for a 1Gb RAM vps. Works quite well for my laravel projects until there is a need to scale.
If I am building a web app my first choice is NextJS which you can host on vercel they also support cloud functions, which works pretty great for most use cases the only thing that might limit you is no WebSocket support.
As for the database I just use Amazon DynamoDB which also has an always-free tier & for storage, I just use S3 (unfortunately this doesn't have an always-free option).
Firebase is also a great option to get started but the problem with firebase is that it gets really expensive as you scale, so I just moved to stack mentioned above.
I see. Is there something that differentiates Vercel from Netlify? They look pretty similar to me, granted I have used neither.
Also, I'm pretty interested in seeing how you're using DynamoDB (do you use a single table?) if you're interested in talking :)
The team behind Vercel also created Nextjs so deploying to Vercel is a breeze, If you were to use Netlify you would have to do extra things to make API functions working.
As for the DaynamoDB, I don't use a single table.
Firebase hosting. I love it. Simple, easy to use. I'm using Firebase for everything (database, storage, functions, auth) so it obviously works well in this context.
+1
I use Firebase for most of my apps, Watermark.ink is hosted on Firebase from past 3 years. Firebase hosting is bit expensive but other services like db, functions are very reliable and cheap.
More than anything Firebase dead easy to setup.
I use DigitalOcean for most of my apps. Most of them run on pretty basic droplets (about $10 per month). When I can, I use Cloudflare for DNS which also is a free CDN. I use ServerPilot to make sure the servers are updated.
I've found that this stack has no problems with an app that currently has over 100k users.
I have a bunch of linux droplets at digital ocean ($5 per month, each) and i put asp.net core web applications on them for managing products/marketing/sales.
For static content i tend to create a githubPages repo and use DNS to serve it from a real url.
Previously I used a "shared hosting" provider, and that was a nightmare with outages etc and very little control, and more expensive than dropbox anyway.
And a fully managed application (such as at azure) may work out even cheaper instead, but any time i've run the numbers it doesn't look too good compared to these digital ocean droplets.
Out of curiosity, are you dedicating droplets to a single app or packing them together?
I have a bunch of applications in each droplet. About 3 applications per droplet (and they're small droplets)
If i was better at memory management I think I could pack them all into 1 droplet, but i don't have the time to focus there.
If you're not afraid of adding a little bit of complexity you might want to try Kubernetes on DigitalOcean - it should do the bin packing job for you :)
I'm hosting my MeteorJS app on digital ocean. It's fast, simple, and dirt cheap (5$/month gets your app running, 15$ gets your ready for production). There's an awesome tool called mup that lets you set up a production install in a few commands. I currently have ~800 active monthly users
I used to be on heroku and payed 25$ a months, the app was super laggy because the DB was hosted in a different datacenter than app instance. Somehow I had to change something because mLab was closing their addon and decided to try digitalocean to cut costs. The performance boost of hosting the DB on the same machine as the code blew me away.
Oh, yeah, DigitalOcean is hard to beat when it comes to the price. You do have to pay it back with management though (as is the case with any cloud).
I've been pretty happy with Digital Ocean so far. But these days I've been trying netifly and heroku for test projects, it was a pleasant experience.
Public Cloud: AWS, GCP mainly, for all the flexibility and scalability that cloud provides and also because it's our business at Cloudbuddies, so would highly suggest to use it :)
As stated can be cost effective if you know what to do, expensive and complicated if you don't know. If you don't know let us know. We are on the way to soon deploy our Cloud Deployment as A Service Platform, Archie, that will take care of the infrastructure architecting and deployments complexity in public cloud.... for the one interested, have a look here https://archie.cloudbuddies.io
This comment was deleted 4 years ago
This comment was deleted 3 years ago