I am building a new nodejs app and currently trying to find the best hosting solution.
8
I'm pretty much exclusively on heroku, super easy deploys with a git push and tons of add ons
3
Doesn't it get very expensive at some point?
4
It can get pricey if you start getting a whole lot of traction, then it would be a good time to think about migrating. But for just getting something up and running quickly with minimal head ache, it's great
7
Netlify for frontend stuff. It's free and easy and amazing and fast.
7
I want to second DigitalOcean. They're amazing and inexpensive! Although I think there are even cheaper vm options around now.
But I think the answer depends on a lot of factors:
Do you know your way around Linux and basic sysadmin? DO is awesome if you do! If not, it could probably be a nightmare.
Do you want a turn-key solution? If you have the money, or are just prototyping and testing the waters, Heroku and others have a more hosted feel so you don't have to worry about admin.
Do you want to explore new technologies? I'd really like to try stuff like serverless options cheaply, orchestration stuff like kubernetes, etc, but that's harder to do on a self-managed virtual server.
I'm planning to try LXD or something on my next DO server, then consolidate my various sites and apps cleanly, and then hopefully I'll get to a point where I get to learn to scale it up :)
2
And talking to myself... I wonder what classes of services are available?
Shared web hosting: I worked in this world in the early 2000s, and that doesn't excite me at all.
Virtual Servers: Self-managed virtual servers. I guess dedicated, too.
Automated deployments: Stuff like heroku where they manage the infrastructure, and your app runs on top.
Super scale: Google/AWS/Azure, where you can run and scale apps to crazy proportions, have crazy cloud databases, etc. But it seems like the costs are too high for someone validating ideas.
There's lots in between. Even a couple IHers posted about no-code services in this thread yesterday:
I use DigitalOcean and I'm very happy with their services.
They are, by far, better than previous hosting companies I've used, but I've not tried a lot of them.
On DO I can build a server just the way I want it, make a snapshot of it at each stage of building it so I can easily revert if I screw something up, and keep those at different stages of development to use as a starting point for others I might want in the future.
And I can start off with a small, inexpensive, server and scale it up for additional software installations and/or production use as needed.
2
I've worked with Hostgator, Dreamhost, Heroku, AWS, and Google in the past and Digital Ocean is my favorite as well.
Thus far, it wins absolutely on convenience (for anything except WP, possibly) and it wins on price, too. In theory, the last three should be easier to scale, but I've never found that to be the case in practice. Perhaps with an unlimited budget, it would be different.
2
Given that I have strong DevOps experience, I tend to use infrastructure with maximum technical freedom compared to price. Vultr is good enough for me currently, but DigitalOcean is great choice also. One advantage that I see on Vultr is more stable CPU share between VPS instances. If you have CPU intensive application, make sure to validate the performance over time on providers as DigitalOcean performance varies significantly. I discovered that by running ffmpeg conversions and then with more detailed longrunning benchmarking.
Also, I like to write services to be as easy as possible to configure and manage, this saves a lot of trouble. For example, if embedded database is good enough, no need to manage something complex. And I find that to be a very common situation, even for projects like https://newreleases.io.
Autoscaling to several hundred nodes with your own application and Vultr/DigitalOcean API is much simpler then you may think, and much less expensive then AWS solutions.
So freedom, simplicity and price are the main points for infrastructure decisions.
2
I use DigitalOcean. There is a monthly charge and no surprises unlike AWS where you can get slapped with a huge bill. I use Django.
2
zeit.co/now it has everything you need, domains, dns, docker, ssl, secrets and the best support for nextjs of course
2
Google cloud platform is really convenient and the pricing is not too expensive.
I haven't tried other services though, so I don't know if its the best.
1
How's the pricing holding on for you? Doesn't it get expensive at one point?
2
Used Firebase at one point and quickly out grew the service. It gets expensive if you achieve any sort of scale.
1
Yeah, I haven't had a project that scaled to rack up some bills.
2
My favourite when quickly iterating over something is zeit.co
It's simply unbeatable in terms of speed and convenience, but they're a bit expensive when you need to scale.
For more serious deployments, I have deployed a private docker swarm with auto SSL and nginx proxying, so that I just add a few config entries and a new project is auto deployed to this environment.
This is running on top of 3 small machines from scaleway.com
I ran more than 10 services (including several DBs concurrently) on the same small server before I scaled out. Traffic was low obviously.
1
I currently use IBM Cloud for my production workloads but I'm considering right now Kubernetes - not just Kubernetes, but Red Hat OpenShift.
Really reliable pieces of software, you should give them a try.
1
I did my count on cloud solution but for the machine that we need its just too much money. We have a dedicated server from some local server provider. Its much much cheaper but i had to do a lot of things manually.
1
For front end stuff I use Firebase
Backend (mostly django/flask) I use serverless setup on AWS.
1
I use Digital Ocean, deploying with a neat CD/CI tool: www.codemason.io
I use Heroku for everything. We run a pretty decently sized Rails app and out CInom there with admins for transaction emails, error reporting, background workers, caching and goodnes know what else and it comes in at like $150/month. They do so much for us it’s unreal, like “hey we just heard that the version of Ruby your running has a serious vulnerability but don’t worry we wrote and deployed a custom patch for you so just upgrade to the next version when yr ready” (that might not be exactly what happened but it was something like that).
It might not be trendy anymore but ❤️ Heroku.
1
For previous projects I've used AWS, or hetzner.de for cheap physical hosting.
For https://trolley.link I'm using S3 + CloudFront static hosting for the marketing site and for the single-page-app that makes up the app front end.
Since Trolley is a payment platform designed for people with static sites, it makes sense to do the same myself!
The back end is hosted on Heroku + Postgres.
1
I use ElasticBeansTalk in AWS. It is by far fastest and durable application environment.
2
I find EB to be very slow when you start having more than 4 EC2 boxes. Do you have the same problem?
1
Slow is a very generic term for me. What is slow exactly ?
2
Like 30 minutes for a full deployment.
0
It depends on your deployment procedure. Are you using containers or rebuild ec2 instance from scratch. What I have experienced so far is that a simple nodejs application takes around 4 minutes + migrations on RDS + load balancer healthchecks. I do the deployments through ecs and federated docker image store.
1
AWS EC2 - scalable, safe, small instance free for first year perfect for testing or really small apps. You can change instance for better one just in few clicks. A lot of features and other services also.
2
That's what I am using as well!
1
Heroku when I'm still developing the app, but for production I use a an Ubuntu machine in Linode/Vultr/DigitalOcean where I run my app using Docker.
0
I used OpenShift v2, Heroku (still have there one hobby installation) and various small PHP hosting companies over the years (still have there some Wordpress installations).
Now I use Digital Ocean for applications. I think their clean UI just won me over. I know there are cheaper VPS options out there but DO is just really nice and also have object storage now.
If you are curious about VPS hosting but don't have enough experience I just started to write a book on the topic!
The book landing page is served with Netlify which I intent to use for all static sites from now on.
0
I run everything on AWS EC2 with Docker and deploy using GitLab ci. I use GitLab as a container registry (used to use ECR but very quickly exceeded the storage limit). I have a separate EC2 instance for my marketing site, main app and backend, all of which are in the same load balancer.
My docs site is an S3 static site created by Sphinx, which uses cloudfront to support https
I'm pretty much exclusively on heroku, super easy deploys with a git push and tons of add ons
Doesn't it get very expensive at some point?
It can get pricey if you start getting a whole lot of traction, then it would be a good time to think about migrating. But for just getting something up and running quickly with minimal head ache, it's great
Netlify for frontend stuff. It's free and easy and amazing and fast.
I want to second DigitalOcean. They're amazing and inexpensive! Although I think there are even cheaper vm options around now.
But I think the answer depends on a lot of factors:
Do you know your way around Linux and basic sysadmin? DO is awesome if you do! If not, it could probably be a nightmare.
Do you want a turn-key solution? If you have the money, or are just prototyping and testing the waters, Heroku and others have a more hosted feel so you don't have to worry about admin.
Do you want to explore new technologies? I'd really like to try stuff like serverless options cheaply, orchestration stuff like kubernetes, etc, but that's harder to do on a self-managed virtual server.
I'm planning to try LXD or something on my next DO server, then consolidate my various sites and apps cleanly, and then hopefully I'll get to a point where I get to learn to scale it up :)
And talking to myself... I wonder what classes of services are available?
Shared web hosting: I worked in this world in the early 2000s, and that doesn't excite me at all.
Virtual Servers: Self-managed virtual servers. I guess dedicated, too.
Automated deployments: Stuff like heroku where they manage the infrastructure, and your app runs on top.
Super scale: Google/AWS/Azure, where you can run and scale apps to crazy proportions, have crazy cloud databases, etc. But it seems like the costs are too high for someone validating ideas.
There's lots in between. Even a couple IHers posted about no-code services in this thread yesterday:
https://www.indiehackers.com/forum/ask-ih-whats-your-business-side-project-about-2f893cf8cf
I use DigitalOcean and I'm very happy with their services.
They are, by far, better than previous hosting companies I've used, but I've not tried a lot of them.
On DO I can build a server just the way I want it, make a snapshot of it at each stage of building it so I can easily revert if I screw something up, and keep those at different stages of development to use as a starting point for others I might want in the future.
And I can start off with a small, inexpensive, server and scale it up for additional software installations and/or production use as needed.
I've worked with Hostgator, Dreamhost, Heroku, AWS, and Google in the past and Digital Ocean is my favorite as well.
Thus far, it wins absolutely on convenience (for anything except WP, possibly) and it wins on price, too. In theory, the last three should be easier to scale, but I've never found that to be the case in practice. Perhaps with an unlimited budget, it would be different.
Given that I have strong DevOps experience, I tend to use infrastructure with maximum technical freedom compared to price. Vultr is good enough for me currently, but DigitalOcean is great choice also. One advantage that I see on Vultr is more stable CPU share between VPS instances. If you have CPU intensive application, make sure to validate the performance over time on providers as DigitalOcean performance varies significantly. I discovered that by running ffmpeg conversions and then with more detailed longrunning benchmarking.
Also, I like to write services to be as easy as possible to configure and manage, this saves a lot of trouble. For example, if embedded database is good enough, no need to manage something complex. And I find that to be a very common situation, even for projects like https://newreleases.io.
Autoscaling to several hundred nodes with your own application and Vultr/DigitalOcean API is much simpler then you may think, and much less expensive then AWS solutions.
So freedom, simplicity and price are the main points for infrastructure decisions.
I use DigitalOcean. There is a monthly charge and no surprises unlike AWS where you can get slapped with a huge bill. I use Django.
zeit.co/now it has everything you need, domains, dns, docker, ssl, secrets and the best support for nextjs of course
Google cloud platform is really convenient and the pricing is not too expensive.
We use https://www.clever-cloud.com/en/ , its like heroku but made by french. Very good support and low prices !
I use https://firebase.google.com/ to host my react app (in development).
I haven't tried other services though, so I don't know if its the best.
How's the pricing holding on for you? Doesn't it get expensive at one point?
Used Firebase at one point and quickly out grew the service. It gets expensive if you achieve any sort of scale.
Yeah, I haven't had a project that scaled to rack up some bills.
My favourite when quickly iterating over something is zeit.co
It's simply unbeatable in terms of speed and convenience, but they're a bit expensive when you need to scale.
For more serious deployments, I have deployed a private docker swarm with auto SSL and nginx proxying, so that I just add a few config entries and a new project is auto deployed to this environment.
This is running on top of 3 small machines from scaleway.com
I ran more than 10 services (including several DBs concurrently) on the same small server before I scaled out. Traffic was low obviously.
I currently use IBM Cloud for my production workloads but I'm considering right now Kubernetes - not just Kubernetes, but Red Hat OpenShift.
Really reliable pieces of software, you should give them a try.
I did my count on cloud solution but for the machine that we need its just too much money. We have a dedicated server from some local server provider. Its much much cheaper but i had to do a lot of things manually.
For front end stuff I use Firebase
Backend (mostly django/flask) I use serverless setup on AWS.
I use Digital Ocean, deploying with a neat CD/CI tool: www.codemason.io
I've just written an article where i explain my latest deployment: https://www.devamountain.com/post/create-and-host-a-static-site-for-free/
In that case i developed a static website on Netlify adding server side logic using Google cloud functions...all for free!
Otherwise i deploy java webapps on DigitalOcean, Amazon EC2 istances and in one sad case on Scaleway
i using vultr.com
I use Heroku for everything. We run a pretty decently sized Rails app and out CInom there with admins for transaction emails, error reporting, background workers, caching and goodnes know what else and it comes in at like $150/month. They do so much for us it’s unreal, like “hey we just heard that the version of Ruby your running has a serious vulnerability but don’t worry we wrote and deployed a custom patch for you so just upgrade to the next version when yr ready” (that might not be exactly what happened but it was something like that).
It might not be trendy anymore but ❤️ Heroku.
For previous projects I've used AWS, or hetzner.de for cheap physical hosting.
For https://trolley.link I'm using S3 + CloudFront static hosting for the marketing site and for the single-page-app that makes up the app front end.
Since Trolley is a payment platform designed for people with static sites, it makes sense to do the same myself!
The back end is hosted on Heroku + Postgres.
I use ElasticBeansTalk in AWS. It is by far fastest and durable application environment.
I find EB to be very slow when you start having more than 4 EC2 boxes. Do you have the same problem?
Slow is a very generic term for me. What is slow exactly ?
Like 30 minutes for a full deployment.
It depends on your deployment procedure. Are you using containers or rebuild ec2 instance from scratch. What I have experienced so far is that a simple nodejs application takes around 4 minutes + migrations on RDS + load balancer healthchecks. I do the deployments through ecs and federated docker image store.
AWS EC2 - scalable, safe, small instance free for first year perfect for testing or really small apps. You can change instance for better one just in few clicks. A lot of features and other services also.
That's what I am using as well!
Heroku when I'm still developing the app, but for production I use a an Ubuntu machine in Linode/Vultr/DigitalOcean where I run my app using Docker.
I used OpenShift v2, Heroku (still have there one hobby installation) and various small PHP hosting companies over the years (still have there some Wordpress installations).
Now I use Digital Ocean for applications. I think their clean UI just won me over. I know there are cheaper VPS options out there but DO is just really nice and also have object storage now.
If you are curious about VPS hosting but don't have enough experience I just started to write a book on the topic!
https://www.indiehackers.com/product/vps-for-makers
https://vpsformakers.com/
The book landing page is served with Netlify which I intent to use for all static sites from now on.
I run everything on AWS EC2 with Docker and deploy using GitLab ci. I use GitLab as a container registry (used to use ECR but very quickly exceeded the storage limit). I have a separate EC2 instance for my marketing site, main app and backend, all of which are in the same load balancer.
My docs site is an S3 static site created by Sphinx, which uses cloudfront to support https