As developers, we build a ton of projects to showcase our skills or try out new things.
Nonetheless, often we want these projects to be easily accessible for the world to see, however hosting these projects can be quite a challenge especially when you are on a tight budget.
Fortunately, there are various quite a few platforms that offer reliable, quick, and fully-fledged methods to deploy your apps for free.
Please note since I am only listing completely free options, I had to exclude some of the famous platforms like DigitalOcean even though they have a free trial period( of 60 days).
Below are 6 platforms that you can use to deploy your next app for free.
Heroku is listed at the very top of this list simply because it’s quite simple and their free plan is more than enough for most projects.
Heroku Pricing. Source: Heroku
I’ve used Heroku for over a year now and so far, I haven’t really faced any significant issue.
It supports almost all the frameworks including the likes of Node.js.
The free plan offers 550 hours dyno hours however, once you verify yourself by providing your credit card details (they don’t charge), the limit is increased to 1000 dyno hours.
Moreover, you can add your own custom domains and also deploy using Git and Docker.
What I like about Heroku the most is its CLI which makes it super easy to deploy projects right from your code editor.
One con of using the Heroku free tier plan is that the servers sleep after 30 mins of inactivity.
In layman’s term, if nobody visits your site for 30 mins then your app is put to sleep and when someone visits it later, the app is again run by Heroku using commands like npm build .
What this means is that your page will take a long loading time(over 10 seconds) and you will lose your app instance(like any data you stored in a variable).
However, you can use cron-jobs to ping your Heroku app every 30 mins to keep it alive.
Netlify is another platform that allows quick deployment as well as allows Deploy Previews.
Netlify offers Instant Continuous Deployment which makes deployment a piece of cake. All you have to do is commit the code to Github and it will generate a full preview site and deploy automatically deploy your commit.
The free plan offers instant rollbacks as well.
Netlify Pricing. Source: Netlify
However, one of the biggest downfalls of Netlify is that it is only for static sites.
Therefore, it can’t host your NodeJS apps. It can, however, host the static build outputs of your React, Vue, Angular, etc frameworks.
Unlike Heroku, it doesn’t put the server to sleep after 30 mins.
Netlify offers Netlify Functions which allows you to write and run Lambda functions.
But if your app is already written in Node, it is not worth rewriting the entire server-side code. Instead, use Heroku or the other possible solutions mentioned in the list.
Although Firebase offers a wide array of services such as Storage and Machine Learning Functions, we are going to focus on Firebase’s Hosting service in this article.
The free plan offers 10GB of storage but you are limited to 360 MB of data transfer per day.
It also provides support for a custom domain, SSL certification alongside multiple sites per project.
Firebase Hosting (with Cloud Build) offers a DevOps-ready solution for automating a continuous deployment workflow for your projects.
It is worth noting that if your Firebase project is on the Spark billing plan( their free plan), and you associate your Firebase project with a Cloud Billing account, then your Firebase project is automatically upgraded to the Blaze(Pay as you go) billing plan.
Firebase does support Node.js( version 10 and 12, at the time of writing this article) and provides an excellent tutorial on how to host Node.js apps on Firebase.
Other benefits of joining the Free Spark Plan offered by Firebase is that you get access to a comprehensive set of features such as Phone Authentication, Analytics, Firestore, Cloud Messaging, and much more.
One downfall I have found while using Firebase Hosting is that you get unrestricted access to Google’s own services however if you want to call a third party service( such as MongoDB endpoints) you need to enable billing.
All in all, Firebase remains a good platform that offers a lot of free services generously and is a place to start.
4. Github Pages
Home page of Github Pages. Source: Github Pages
Github Pages is an excellent option if you want to host static websites.
I often use Github to host demo sites of my project, showcasing all the aspects of my project. However, you can use the platform to host resumes and other such static sites.
To start, you have to have a Github account(which is free) and upload your code into a public repository there.
Once done, you have to rename your README.md file to the index.html file and insert relevant HTML content there and then scroll down and commit the new changes.
Your website will be live in 1–10 minutes at YOUR_USERNAME.github.io URL.
You can also upload multi-file websites. To learn how to do so, check the tutorial provided here.
The reason AWS didn’t make it to the top list despite being so popular and complete platform, is because it is not entirely free.
I have earlier stated that the reason I’ve left out DigitalOceans is that it offered a trial period and Amazon’s AWS offers the same.
However, the DigitalOcean trial period is of 60 days which in my opinion, is a small amount of time when it comes to hosting your apps. AWS on the other hand offers 12 months trial period.
AWS offers. Source: AWS.
AWS actually offers much more than hosting even with the free plan.
Besides this, you also get DynamoDB 25GB storage for free( even after your trial period expires).
You can easily host static websites as well with continuous deployment using AWS Amplify.
Again, the reason for Azure to be at the bottom of the list is because it is entirely free but provides a 12 month free trial period.
You also get $200 credit to explore Azure. However, this credit expires after 30 days.
Azure free account benefits. Source: Azure.
The Web App Service offered by Microsoft Azure provides more or less the same set of features as AWS and Google Cloud.
You also get support for WordPress and Umbraco as well as social authentication using Facebook, Google, Twitter, etc.
Although I have never personally used Azure, Azure is supposed to be 4–12% cheaper than AWS.
Another notable difference is that Azure’s pay-as-you-go model is better than that of AWS because it charges per minute whereas AWS charges per hour.
Moreover, if you are accustomed to Windows OS, then the learning curve will be less steep as Azure is based on the Windows platform.
Choosing the correct platform to host your project can be time-consuming especially since there are so many options free and paid.
Going with a free tier makes sense when you are building a variety of projects for your resume and don’t want to spend a dime on hosting charges.
While some platforms specialize in the only deployment and hosting of the apps, others such as Firebase and AWS provide a complete set of tools.
However, relying on a single platform such as Firebase for hosting, authentication, database, and other essentials can lead to vendor lock-in.
Vendor lock-in means you will be dependent on using the platform’s services unable to use another vendor without significant switching costs.