I just wonder how you manage to keep hosting and other costs low having multiple websites (webapps)?
Depends on your stack and application needs, but for myself, I've spun up a Digital Ocean droplet and deployed many applications on it.
In the past I ran as many as 10 applications on a single $5/month droplet, for some low traffic applications (or while they were in development).
When (if) the application became popular I have move it to it's own droplet and other resources (RDS for database, etc).
Ditto. Fastest way to manage smaller applications. As an application becomes bigger, we move it out and give it its own resources.
I do this as well - multiple apps on the smallest droplet.
Thanks, got it!
I'm running multiple apps/websites on a single VM at UpCloud. Over time, I've consolidated the processes to manage these apps, and recently released MyPaas: an open source tool to turn your VM in your own PaaS: https://github.com/almarklein/mypaas
Now that I can deploy new apps easily and cheap ... all I need is a good idea for an app :P
That sounds interesting! How much do you pay for VM?
UpCloud has very affordable VM's, starting from $5 I think. I'm running one of $20, running several apps/sites. The server is perhaps a bit oversized, but it should be able to handle peak loads, if needed.
I have two. https://storycreatorapp.com is expensive. I am doing intensive rendering and hosting all videos ($200 per month).
Vercel.com keeps hosting cheap. My database is on graph.cool I need to migrate though ($35 per month).
My second project https://podbytes.co is cheaper. Vercel.com for the hosting (very cheap). Then I am using google sheets as a database (free).
Let me know if you have any questions.
Thanks for sharing your experience!
I personally run a small kubernetes cluster for all my hosting. Then adding new projects is really cheap. But it's not the easiest thing to start a kubernetes cluster so I wouldn't recommend it to everyone.
This sounds interesting, can you give a little bit more details on it?
Sure @Zencentric! Kubernetes is a docker orchestration platform (originally developed by google, now open source), meaning that it schedules docker containers across a set of virtual machines. With it I can setup load balancers, and run as many deployments as fit on the machines. If you want to learn more, you can here: https://kubernetes.io/
Kubernetes is great, but there's not really much of a UI for it. So I use another open source product called Rancher (https://rancher.com/) to help me manage my Kubernetes cluster.
The powerful thing about Kubernetes, is that you can run as much code as fits on the underlying virtual machines, and it's really easy to scale. It allows you to super quickly and easily spin up open source projects, for free (think databases, wordpress or ghost blogs, marketing tools, almost anything open source that has a docker container). Anyhoot, I'm a big fan, so I'm happy to talk about it further if you'd like.
Thanks, I will dig deeper into it!
Dokku on Digital Ocean is easy, cheap, and robust. Works exactly like Heroku and makes devops pretty simple.
I use netlify and vercel for hosting the site. I've used Azure functions for hosting backends. It's free for small sites (although can be a bit slow on cold starts).
Yeah, it should be a good idea to use Azure for backend when nobody cares about your domain name :) because AFAIK you can't set up your domain name on free account (or plan). Please correct me if I'm wrong.
You can, but it's a little more work. I've done it once. I had a domain managed by cloudflare that I did it with. You download a certificate from cloudflare and then upload it to your Azure functions account. Then you get free https and custom domain.
Ah, okay, got it. Thanks!
Gitlab AutoDevops and Kubernetes on Google Cloud!
It's a lot more to learn upfront but highly scalable and flexible - AND you're eligible for some Google Cloud account credits too
Oh, interesting, I will check them too. Thanks!
Vercel / Netlify
You are the third person mentioning Vercel while I have never heard about it before, thanks!
They used to be called Zeit :D
Never heard :-0
Looking at my repo I have 15. They are static websites. Cost $0. I deploy mostly on netlify. Also they are all small projects none of them have like ~1M magnitude users. The most popular ones get some dozens of hits/day.
Thanks! Do you have your own domains for all of them or subdomain on netlify?
I have 4 domains in total.
1 is my personal domain.
1 is our company domain and
2 are actual apps
I have plans of monetizing the two apps over time, so I only get domains when I perceive high value. One is sort of making money already and the other has very well performing organic traffic that is growing fast compared to everything else, which is why I got a domain for it.
Everything else (~10 projects) I have setup as subdomains under our company.
I run all my servers in AWS EC2. I have one large MongoDB and a couple of servers for web. Each web server has multiple sites running (about 10).
Each site has its own domain and SSL certs, I use a Load Balancers (AWS) to hold the certs and point to the port where the web app runs. This lets me have mutliple instances for performance as well as reliability.
Each LB costs about $1 a month. Base server is pretty cheap, about $80 a month, there are multiple node.js and react apps running on this server.
Thanks, this is interesting! Saying "base server" you mean that server where your apps are running on?
Yes, I have a base server (2 of them) that has 16Gb Ram and run several node.js apps, React apps and Redis server). It costs about $80 per month for each server. I only have 2 to verify the fail over and scale of the load balancer, I've never had the need to really use both. Sometimes I shut one down to save money.
Ok, got it, thanks!
https://vercel.com is super cheap. I have four projects on there, and I'm still on their free plan.
Thanks! Does their free plan allow having your own domain and SSL?
Yup! They even set up SSL for you out of the box.
Wow, that sounds really cool, I have to check it!
Q. how you manage to keep hosting and other costs low having multiple websites?
Thanks! I use Heroku too (sometimes) but want to find something cheaper because it's not cheap if you have, say, 5 to 10 projects.
I'd wager if you have 5 - 10 projects that they are not ALL getting huge traffic.
Put the ones that aren't onto the free tier.
Put the ones that are pretty active onto the hobby tier ($7 a month)
You really don't need to go beyond the hobby tier unless your site is really really active; by that I mean 10's of thousands of users a month. SOngBox is on the hobby tier and it's never faltered.
Yeah, I used hobby dyno before but for my projects that didn't have traffic at all, it was overkill :))))
I use to have the biggest part of my web apps in a single provider (or at least the same stack).
For my, my default code repository is github, host provider in Heroky and some services in Amazon AWS (like S3), that share the same resources for the largest amount of started projects.
For mileo.io I use this stack; for static pages I'm using github pages (and it's great!); but for the mobile games I'm starting to use Firebase.
Thanks for sharing your experience! I wonder how you keep expenses low with heroku - their free dyno doesn't allow to have a custom domain and SSL.
For custom domain it has a solution, I use the PointDNS heroku add-on, that is also free and easy to setup. Regarding the SSL, the solution I have is to keep the project on free tier and just move it to the first paid plan dyno on launch date, and only the basic... after I get the first customers you can escale the DB and other parts of the system.
Yes, right. Thanks!