DEV Community

Cover image for Top 5 Ways To Host Your Full-Stack App For Free 🚀✨
Lucas Lima do Nascimento for Wasp

Posted on

Top 5 Ways To Host Your Full-Stack App For Free 🚀✨

Hello There!

Heroku Logo

First of all, let me give you some context.

Up until recently, Heroku had a nice free tier that let you deploy and test things with their dynos. It was a breeze to use. But with the removal of this free tier, developers have been left searching for a new platform to deploy their projects to.

Luckily, there are lots of new hosting providers popping up. But actually choosing where to deploy to can be as challenging as coding your project.

So many Options gif

That's why in this article, I'll show some of those options for hosting your app online for free. We’ll look quickly at what each provider is best at, so you can make an informed decision, and get your app online.

Table of Contents

A quick heads up

Before you begin deploying our app, make sure to read the deployment guide provided by your chosen framework. React, NextJS, Wasp, and most of the current frameworks have really great deployment guides (and even platforms that make these deployments easier).

Thus, your framework choice might have a big influence on your hosting provider!

The office GIF

Support us! 🙏⭐️

By the way, I’m part of Wasp’s team, and it would mean a lot if you could check our full-stack React/NodeJS/Prisma framework and give us a star.

We’re working hard to help devs go from idea to deployed as fast and easily as possible (e.g., one-command, full-stack deployments), and all help is appreciated!

⭐️ Give Wasp Framework a Star! ⭐️

Ok. Now, let’s explore some of the cloud platform that offer great options when it comes to hosting your app for free.

Vercel

Vercel Logo

If you are deploying a front-end application, the experience here is hard to match. The free tier on this is REALLY good. I have something in the order of 20 small websites running on the Hobby plan and wasn’t able to make a dent in usage.

Besides that, the ease of deployment is astonishing.

Vercel Dashboard

All you have to do is choose a github repository, and if they detect you're using one of the major frameworks, you probably don’t even have to configure anything! They'll take care of it all and you’ll have your app running in seconds.

Vercel Deployment

Unfortunately, for back-end and databases Vercel still isn’t a great option. If you have a really small back-end (and NodeJS focused) you could try to deploy here though using Vercel’s functions infrastructure, although they are limited in execution time and complexity.

For more complex back-ends, we'll have to take a look at some of the providers below.

Railway

Railway Logo

Railway is a platform that allows you to easily deploy web apps and APIs. It offers a free tier of $5 worth of free usage per month when you sign up.

With just a few commands, you can deploy your app and have it up and running in no time. It has a pretty nice UI, and the overall experience for deploying is good!

By the way, I really love the way they decided to show the projects and containers. It’s a really smart way to see things on an overview, instead of hundreds of small applications. Sometimes, simply grouping things can have a big impact on UX as you can see here:

Grouped Project

It also supports popular frameworks like React, Next.js, and Node.js. Additionally, it provides one-click database setups and community-created templates, which can significantly simplify the process of setting up Dockerfiles for your project.

Railway Plans

Here are the basic current prices for it, the $5 monthly dollars (which they give you monthly for you to use) are actually enough for you to have a few projects up (as 2 - 3 small websites, back-ends and databases) and running if you know how to set them up properly (e.g. set them to automatically sleep when not being used).

Configuration page

They have this option in the app configuration page. In there you’ll also find other interesting configuration options that you can change, like domain name, healthcheck endpoints, and more.

Render

Render Logo

Render is another user-friendly cloud platform that offers a good free tier and supports a wide range of applications. It simplifies the process of deploying and scaling applications and supports multiple programming languages and frameworks.

Render's free tier includes (per month):

  • 500 pipeline building minutes
  • 100GB of bandwidth

The only exception is for their Cron Jobs service (which may not be needed in your case, especially if you're taking advantage of Wasp's built-in jobs, which have a minimum monthly charge of $1.

Render plans

Render plans 2

It's really robust with features! I was able to deploy a database, a NestJS app, and a NextJS frontend, all working with migrations, Prisma ORM, and more! It has some nice event tracking (although it could be presented better — sometimes, there are too many elements on screen).

Event example

And it has some observability features, too! You may think these are not going to be used on a really small app, but, when you are debugging things on the production environment, every tool you have can generate new insights about a problem.

Observability example

Observability example 2

Fly

Fly Logo

Fly is a cloud platform that focuses on global edge computing. Fly specializes in high-performance hosting and provides a global network of edge locations. Fly is known for its scalability and performance optimizations.

Fly plans

It supports various programming languages and frameworks, allowing you to build and deploy powerful apps and, for the deployment process, you simply download the flyctl and you are ready to go!

Supported Frameworks

By the way, the Wasp framework supports a one-command deployment using Fly! You can check it out here to read more about it!

wasp deploy to fly

It can also accommodate some small items, but the costs become a little steeper when we look the actual values:

Fly plans pricing

For quality of service, it has some nice monitoring dashboards and Sentry integration, which seems really useful. You can also easily check your application logs with SSH too!

Error logging at fly

Netlify

Netlify Logo

Netlify is known for its great free tier and provides a variety of features to build and deploy websites. With that said, it's more of a direct competitor to Vercel in that it's focused on front-end and static content.

Like Vercel, it's not meant for robust back-ends, but it does also have an option to host serverless functions, you'll just have to host your database somewhere else.

It offers excellent support for major frameworks, using specific builders tailored for each one. Their deployment documentation is comprehensive and helpful.

Netlify plans

With Netlify, you can take advantage of their Content Delivery Networks (CDNs) to provide fast static content delivery to your users. They offer a range of features to help you build and optimize your websites.

Netlify's free tier includes:

  • 300 build minutes per month
  • 100GB of bandwidth per month

Netlify has gained popularity among developers for its ease of use and powerful features. It's a great option for hosting static websites or Jamstack applications.

NextJS identification

They also have some major frameworks build runtimes that can ease up the process for you!

Conclusion

Just in case you haven’t starred Wasp’s repository yet, I would recommend doing so! It helps us bring you free content like this every week. Plus, it's the best, no bullshit full-stack frameworks out there for cutting down development time and getting your projects done.

⭐️ Give Wasp a star! ⭐️

When it comes to hosting your app for free, it's important to consider the specific features and limitations of each platform. Each platform has its own strengths and it's important to choose the one that best fits your needs and requirements.

Here’s a visual recap for you:

Recap image

And hey! Would you like to see a more in-depth article about all of those platforms? Leave it in the comment section!

Top comments (53)

Collapse
 
dragocrnjac profile image
Drago

I'm hosting Rails apps on Heroku and Render. Render is a bit cheaper, but I find Heroku's UX way better. I also absolutely love Heroku's CLI tool that lets you do a bunch of things straight from the terminal.

Collapse
 
vincanger profile image
vincanger

Have you tried Railway's CLI tool!? It's my fav.

Collapse
 
llxd profile image
Lucas Lima do Nascimento

Heroku's UX is awesome, totally agree with you on that!

If you're hosting a Rails app, maybe try out fly.io! It also has a nice UX with a CLI tool and maybe ends up cheaper!

Collapse
 
matijasos profile image
Matija Sosic

This is a super helpful overview I've been wanting to write myself for a while. The deployment solutions are quickly coming and going, and it's really hard to keep track of what is the easiest/best solution to deploy your side project for free.

Thanks for writing this Lucas!

Collapse
 
llxd profile image
Lucas Lima do Nascimento

Thanks for the comment Matija!

Completely agree with you on that! There are so many that is hard to keep track of hahah!

Collapse
 
peterwitham profile image
Peter Witham

This is a fantastic list and explanation of each. Thank you. I use Netlify for its simplicity. I have not heard of some of the ones on your list, and I will check them out.

And I just had to give WASP a star to say thanks, and I'll also be looking at that.

Collapse
 
llxd profile image
Lucas Lima do Nascimento

Thanks a lot for the comment and the star!

Feel free to check them all out and I'm sure you'll find some good services to add to your arsenal!

Collapse
 
nightwolfdev profile image
nightwolfdev • Edited

I like what I've seen so far with Supabase as a backend option. It has a great free tier too.

Collapse
 
llxd profile image
Lucas Lima do Nascimento

Excelent mention @nightwolfdev!

I personally have not used it, but since you mentioned that it has a nice free tier, I'll probably check it out later!

Thanks a lot for the comment!

Collapse
 
brielleariaa profile image
Brielle Aria

Great insights! Hosting is a critical aspect of deploying a full-stack app, and your top 5 ways make it much easier for developers, especially those on a budget. 💻✨ For those looking to delve deeper into full-stack development, can check this comprehensive guide on Full Stack Development Company quite helpful. It covers a range of topics and could be a valuable resource for anyone navigating the intricacies of building and hosting full-stack applications. Thanks for sharing these free hosting options!

Collapse
 
llxd profile image
Lucas Lima do Nascimento

Thanks for the comment @brielleariaa! That guide looks nice! I'll make sure to check it later 👍

Collapse
 
martinovicdev profile image
Boris Martinovic

Really cool overview of all platforms! Visual recap at the end is very helpful for understanding everything on a glance.

Collapse
 
llxd profile image
Lucas Lima do Nascimento

Thanks for the comment, @martinovicdev!

Collapse
 
proteusiq profile image
Prayson Wilfred Daniel

With single pages, I have used Github Pages 🫣. Thank you for these awesome walk through.

Coming from ML, I have little knowledge in these waters. Can I ask where does linode or digitalocean fits in?

Collapse
 
llxd profile image
Lucas Lima do Nascimento

Nice question!

When we firstly drafted this article, we explained a little bit about the difference between Linode/Digital Ocean (IaaS) vs. Vercel, Heroku and those on the list (PaaS).

The basics on this, is that when you get Digital Oceans's services for example, you are getting more control on the Infrastructure side, meaning you are generally getting a machine in which you can SSH on and do your things.

When you are hiring Vercel and other on this list, the Infrastructure layer is abstracted from you, you simply target one repository (or Dockerfile) and the platform deals with resources and infrastructure needed behind the scenes for you.

Of course, those services give you less control over the infrastructure, but simplify the process a lot too!

Collapse
 
proteusiq profile image
Prayson Wilfred Daniel

Thank you for the explanation. It make so much sense. 🤗

Thread Thread
 
llxd profile image
Lucas Lima do Nascimento

Glad that it made sense! If you have any other doubts regarding this topic, feel free to comment them!

Collapse
 
pratik_9_8 profile image
Pratik

i have created a web app using next.js. mysql, prisma ORM. can i deploy it on Railway

Collapse
 
llxd profile image
Lucas Lima do Nascimento • Edited

Nicely done and excelent comment! You'll probably suit yourself with Railway, but, since you're using nextjs, maybe you can also try Vercel!

Collapse
 
pratik_9_8 profile image
Pratik

but vercel gives option for postgreSQL not for MySQL

Thread Thread
 
llxd profile image
Lucas Lima do Nascimento • Edited

Perfectly said! In this case, I was referring for you to have only your front-end in Vercel and your database somewhere else. One excelent idea for MySQL is PlanetScale.

Thread Thread
 
pratik_9_8 profile image
Pratik

Thanks for the help. i will try this platform.

Thread Thread
 
pratik_9_8 profile image
Pratik

can i perform CRUD operation in planet scale db

Collapse
 
jamesmurdza profile image
James Murdza

I've used all of these and others! In my experience, the main differences are 1) user interface 2) robustness of the platform, or how likely it is to deploy a random project without errors. Considering these, I've found Netlify (for static websites) and Render (for virtual servers) to be the best overall!

Collapse
 
llxd profile image
Lucas Lima do Nascimento

Perfecly said @jamesmurdza! Render and Netlify are both great solutions, so excelent choices!

Thanks for the comment!

Collapse
 
doublefaces profile image
DoubleFacess • Edited

Hello,
apart netifly and vercel that are a must, im' testing fly.io, and it seems great, with a very good cli and database support...

Collapse
 
llxd profile image
Lucas Lima do Nascimento

Nice! My experience with fly was insteresting! Their CLI tool is really helpful!

Good luck on your tests and thanks for the comment!

Collapse
 
wesborland profile image
Marcos Javier Gómez Hollger

I love this useful posts... thanks for your effort and for sharing with us.

Collapse
 
llxd profile image
Lucas Lima do Nascimento

You're more than welcome! Thanks for the comment!

Collapse
 
nevodavid profile image
Nevo David

I use both Railway and Vercel!
I love it

Collapse
 
llxd profile image
Lucas Lima do Nascimento

They sure are awesome!

Thanks for the comment!

Collapse
 
fernandezbaptiste profile image
Bap

Vercel and Railway are just too freaking good

Collapse
 
tdumele profile image
Teddy Dumélé

Did you try AWS ? There is a free tier, who is easy to use, including CD (amplify)

Collapse
 
balogh08 profile image
Balogh Botond • Edited

Great post, well structured and summarized!

I just wanted to address Teddy's question about AWS. My experience is that most of the platforms, including AWS, Firebase, and the five mentioned in the article, are free only up to a certain point. For testing purposes and pet projects, they could work well, but in the long term, it's essential to compare each platform's pricing and features according to your specific scenario and use case. Once your application starts scaling, it becomes challenging to avoid the increasing costs associated with its growth.

Collapse
 
llxd profile image
Lucas Lima do Nascimento

Excellent comment! Totally agree with you on that.

Scalability and pricing is super important when looking into those platforms! AWS is a huge candidate for those but from what I've heard of it, it can be kind of hard to use correctly too.

Thanks for the comment!

Collapse
 
llxd profile image
Lucas Lima do Nascimento

I personally have not tried AWS yet, the UI kind of scares me a little bit, not gonna lie. But SST and comments like yours might change my take on that! I'll make sure to try it someday!

Collapse
 
zvone187 profile image
zvone187

Oh, this is nice - I only knew of Heroku and Vercel. Thanks 🙏

Collapse
 
llxd profile image
Lucas Lima do Nascimento

You're more than welcome, @zvone187 ! Thanks for the comment!