Simple and Free App Deployment Options
In today’s fast-paced development world, just hosting your project on GitHub might not cut it Luckily there are several hosting platforms to choose from depending on your project.
Web Apps
When it comes to web apps my go to would be Vercel it is a popular and comprehensive PaaS solution for deploying, hosting, and scaling Jamstack websites. Especially if you develop on React or NextJS.
Jamstack, the most popular static website approach, built with HTML, Javascript and CSS. Static pages that don’t have dynamic interactions like with backend.
It’s stupidly simple(little bit to simple for PaaS deployment you might say) just login to GitHub select your repo and deploy.
A good alternative is Netlify its an excellent platform for new programmers that only deals with HTML, CSS, and JS. And deployment is similar you just have to specify the directory where the build can be initiated.
Backend Apps
Backend applications aren’t as straight forward as it often requires more configuration to database and other configs to set up adding 2 to 4 added steps depending on as usually full fledged SaaS project require more tinkering around.
When it comes to simple deployment a well known platform like Heroku can offer free tier option although with inflation a lot of free tier is no longer fully free.
For python there are a lot of services like pythonanywhere, render etc.
Another easy deployment(my choice if using Go, Rust other backend languages) is railway. It’s plain and simple you have just 5$ free credit but it’s as seamless experience as Vercel, Netlify.
Here is a simple guide of stupidly simple deployment in railway with Go in YouTube.
The big 3
The main players in the market AWS, Microsoft Azure, Google Cloud Platform(GCP) have a lot more complexity of managing servers and scaling applications but learning one of these(or dabbling with multiple) can give high credibility.
- Flexibility and Customization: Learning AWS, Azure, or GCP allows you to build and customize your infrastructure to meet specific requirements.
- Service Portfolio: AWS, Azure, and GCP offer extensive portfolios of services that go beyond PaaS. These include infrastructure-as-a-service (IaaS), container orchestration (e.g., AWS ECS, Azure Kubernetes Service, GKE), serverless computing (e.g., AWS Lambda, Azure Functions, Google Cloud Functions), and machine learning (e.g., AWS SageMaker, Azure Machine Learning, Google AI Platform). Learning these platforms enables you to leverage these services effectively.
- Scalability: Cloud giants offer more advanced and granular scaling options. You can scale not only web applications but also databases, machine learning models, and other resources.
- Certifications and Career Opportunities: WS, Azure, and GCP certifications are highly recognized in the industry. Achieving these certifications can open up career opportunities and demonstrate your expertise to potential employers.
- Free tier: As there are a lot of PaaS options to choose from these three have their own free tier option for 12 months.
Be aware that you still have to enter your credit card credentials and it’s quite easy to get past the free tier if using EKS, EC2 instance up and running luckily customer service will cancel the payment if it’s a mistake as it often occurs.
Selecting the right deployment option as said depends on your project needs. I would recommend as a beginner using Vercel, Netlify, Heroku, Railway but when apps are getting more complex get handy with the big three as more opportunities lie there.