Netlify is like static site hosting with superpowers. I’ve recently been using it for some side projects and experimentation, and now also host this blog on Netlify. Although I’ve only used a fraction of the power it provides, here’s 10 of the reasons why I love Netlify:
1. It’s free (for most uses)
The free tier is very generous for personal use, with no limits on the number of projects and enough form submissions, serverless functions etc for my use. In most cases you’d only need to pay if you need support for teams or high volumes of form submissions or serverless functions.
2. Automatic deploys
As soon as I push to
origin/master, Netlify immediately starts the build process and deploys with zero downtime. Although it’s not the only service to offer this, it feels much more seamless and performant than some alternatives. The few occasions I’ve had a build fail, the error logs are very helpful to get the problem resolved.
Netlify automatically takes care of a lot of performance optimisations, including deploying the static site to a global CDN, compressing assets and plenty more. Moving a static site from my server to Netlify boosted it’s score in Google Pagespeed Insights and Web Page Test significantly, with no further effort on my part.
4. Secure by default
Netlify will automatically provide SSL via LetsEncrypt for both subdomains and custom domains and handle renewing them for you, although you can always upload your own SSL certificate if you wish.
Although getting your own SSL from LetsEncrypt is very straightforward, especially when using tools like Certbot, it’s one less thing to have to worry about doing with Netlify.
5. Form submissions
I’ve considered switching to static sites in the past for some projects, but one of the problems has always been how to handle form submissions. I’d either have to use a hosted third party service which didn’t feel great, or host my own system to manage form submissions. With Netlfiy, this is no longer a problem.
It’s now as simple as adding a
netlify attribute to the form, and you can immediately start receiving submissions, setup notifications and more.
6. Functions and serverless
Netlify Functions make it easy to add server side functionality to your static site. Although I’ve not had a need for this yet myself (other than trying it), I’m glad I don’t need to worry about things like configuring AWS Lambda and service discovery on my own.
7. Atomic deploys and rollback
Deployments on Netlify are immutable, which means instead of making the changes to the version of code which is currently deployed, it makes a new copy and then points the domain at that. This has 2 key benefits:
- You switch from the old version to the new one without any downtime or any code in an inconsistent state
- If you broke something with the latest deploy, you can easily rollback to the previously working one, as it wasn’t deleted/changed
8. Split testing
Split Testing allows you to run A/B tests without the need for and run time overhead, such as by using a JS library to switch between variations. It’s performed at the CDN level and uses different branches for the variations, automatically handling sticky sessions for you.
9. Per branch deploys
Although in 99% of cases, I just build the
master branch for a project, you can have a different subdomain per branch, which is great for testing changes in development or getting signoff from stakeholders before something goes live.
10. Excellent documentation
The documentation is excellent, covering everything I’ve needed so far. It’s well structured and makes it easy to not only find solutions to what you need, but also discover other features you might not have been aware of. And in the unlikely event of not being able to find what you need in the docs, there is a great community around Netlify as well with plenty more help and resources.