I’ve been reflecting on deploying applications and cloud services after
working with my team for the last two weeks. My team began our project knowing that it would be a web application, but we didn’t know how we were going to host it. This prompted a lot of research into cloud platforms.
One platform I was familiar with was Google Cloud. I had worked with this platform before, so I understood the basics. I also investigated a free hosting service called Render that didn’t have full cloud development features.
Let’s go over a few things that I found.
Google Cloud
Google Cloud was the most feature rich platform I found. It also had amazing documentation, and of course the reliability found within Google products. I investigated how to host a backend Node/Express server and a static React front end. I found a few awesome features:- Free credits of a $400 dollar value
- Integration with MongoDB, or Google Cloud native NoSQL database Datastore
- Integration with Google OAuth
- Easy deployment pipeline with Cloud Build to build directly from GitHub to a container in Cloud Run
- Cheap hosting on Firebase for static webpages
Render
Render is a unified cloud to build and run applications. Render’s platform runs on Google Cloud and AWS. Render does not have nearly as many features available for users, and it is not a cloud native environment. This means that Render is only hosting web apps, static apps, or containerized apps. This contrasts to Google Cloud, where you could write individual functions in the cloud, and have other Google Cloud services interact with those functions as part of a larger application. Render did however offer a lot of great features for hobbyists:-
- A completely free tier, with no credit card information require
- Easy deployments by connecting to GitHub with a few clicks
- A simple way to incorporate environmental variables
- Static hosting for React frontend
- Support for Node for the backend