Netlify static site hosting: speed, security and simplicity

I love designing and programming but I don’t enjoy doing sysadmin. It’s not that I can’t do it but for me it’s a distraction from the main event and no more enjoyable than marketing or accounts. So it was a happy day when I shut down my VPS and moved my static sites to Netlify.

WordPress drove me to it. Sure, it’s a powerful and flexible platform but it’s really not much fun. The theming is complex and messy. The WYSIWYG editor still grates after all these years. And unless you want to spend a lot of time babysitting your installation it’s going to be slow and insecure. I program Ruby, so making the jump to the Jekyll static site generator (and later Middleman) was easy and it felt like a breath of fresh air. I’d caught the static site bug (in a good way, you understand).

But I still needed hosting.

Shared hosting didn’t really cut it. My sites are small but I still want them to be fast and stable. Shared hosting always seemed to have speed issues. And when I needed to tweak something I couldn’t: it wasn’t my server.

So I moved on up to a VPS. This gave me guaranteed system resources and full control over the box. The power was great but so was the responsibility. And the workload. All the time I’d saved by moving off WordPress I was now spending tweaking my server. Now I can tweak with the best of them and it’s great to have that flexibility. But it’s really not the best way for me to spend my time. Not to mention that nagging feeling in the back of my mind that there’s always something on the server that’s not quite tight that could be exploited.

After Snowden dropped his state snooping bombshell I started to take security and privacy (for myself and my users) a lot more seriously. I moved my sites over to HTTPS to encrypt the connections between my server and the users’ browsers. This felt good but it was another thing to install and maintain. Turning on Strict Transport Security meant I had to get it right: my sites wouldn’t work without HTTPS. When Let’s Encrypt launched I went straight for their free, automated and open SSL certs, but setting it up was still a time-consuming fiddle I could do without.

When it comes down to it I just want hosting to be excellent and invisible. And that’s quite a tall order to do both of those things at once.

There are three things I value in hosting: speed, security, and most of all, simplicity. And that’s where Netlify comes in.

When it comes to design, I’m a minimalist. And it’s not just the aesthetics. In the same way that Apple is always looking to shave another millimetre off the “thinness” of its laptops, I’m always looking to shave another few milliseconds off the load time of my pages. Slow sites aren’t just boring, they’re evil. A couple of hours hanging out on web performance sites and the Pingdom Website Speed Test every few weeks is time well spent for me.

With Netlify my site goes straight onto their global content delivery network as standard so it gets served to users around the world from datacentres near them. No extra setup. No third party sites. That’s the default config. Nice and fast, and the only tweaking I need to do is on my own code not the server.

That fiddly HTTPS setup on my VPS? Netlify lets me set up rolling automated Let’s Encrypt SSL certs with a single click. That’s standard even on the free plan. And Strict Transport Security? That’s just another checkbox. It looks tight on the Qualsys SSL server test too, getting the top rating of A+. This would take hours of tweaking on your own server and you’d still need to keep your config up to date as new exploits are discovered. Netlify does all that for me, invisibly and automatically.

Git has been part of my workflow for years, whether it’s a complex web app or just a simple static site. One of the great tweaks I did to my VPS was to set up git post-receive hooks so that I could deploy a new version to the server with just a git push. Pretty neat? Sure. And Netlify has got that built in. It’ll pull straight from your GitHub, BitBucket or GitLab repo every time you push and build the new version of the site on the server. Automatically. Wave goodbye to SSH and rsync for deployment.

And that’s the simplicity. All the cool stuff I spent hours making my server do, and plenty more, is now done for me by Netlify. So I’ve fired my sysadmin — myself — and I couldn’t be happier.

But it doesn’t end there. There’s some really cool static sites out there. I’m a big fan of good civic tech and Suffolk Libraries (GitHub) running on Jekyll and Netlify is an inspiration. But the real next step for me is breaking up some monolithic web apps into a robust API hosted in app server and database land and a fast JavaScript/HTML5 UI hosted on Netlify. They call this the JAM stack (JavaScript, APIs and Markup). Whether the name sticks or not, if it’s fast, secure and simple, I’m in.


Originally published at www.adrianshort.org.