In an earlier post , I have documented the steps to host your node application with https using AWS EC2 and AWS CloudFront. For some of us who just want a quick experiment, those steps might appear a little tedious. Fortunately, there’re other options. In this post, I will talk about two of them: Netlify and AWS Codestar. Thanks to one of the team members that pointed me to Netlify!
Using deployment of a React application as an example, it took me less than 5 minutes with a few commands (you can also do this on the netlify user interface as well).
npm run build (building the React App)
netlify init (assuming you already installed netlify-cli by npm -g netlify-cli)
netlify deploy (you specify ./build as the publish directory)
That’s it. A few minutes later, you have a website hosted using https https://<xxx>.netlify.app. Of course, you can add custom domain, etc. Netlify also comes with features such as continuous deployment, domain hosting, etc. But those are optional if your intent is to have a quick deploy for experimentation purpose.
In terms of pricing, for simple member, it’s pretty much free up to some limit. https://www.netlify.com/pricing/ for more information. Given the short history, Netlify has an impressive client list. They recently secured a $53 million in a series C round funding.
Codestar is one of the hundreds of AWS services. It includes the functionalities similar to Netlify with a few key differences. It has a large list of project templates, e.g. NodeJs with AWS Lambda, Python with AWS Lambda, NodeJs with EC2, etc. With a few clicks, it can initiate a new application and deploy it for you. It automatically creates a Git repository for you. It also creates a continuous deployment pipeline for you. And it will automatically spin up a t2.nano that allows you to using AWS Cloud9 to do browser based code editing.
A few drawbacks I noticed: 1. as of now, Codestar can’t use an existing Git repository. 2. Codestar deployment especially with the Lambda based deployment is very slow (it can take up to 10–15 minutes to deploy after you committed just a one-line change). 3. Many of the templates only deploy to http rather than https which leaves you again the effort to setup https.
Benefits of AWS Codestar is that it is an integral part of the vast AWS system and very easy to access to all the rest of the AWS services and to scale up. In terms of pricing, for experimentation purpose, AWS has free tier for the first 12 month that allow you to mostly experiment with minimal cost.
Both of these approaches are very good starting point when you are just starting the web app journey. For most part, they are very similar in terms of effort. But if you already have a Git project or if AWS Codestar’s template list doesn’t satisfy your need, then Netlifyis a clear winner. Of course, this is just today’s status quo and I think and hope both will continue to rapidly evolve.