The Fast Web
Over the past few months I’ve made a few changes to my blog, prompted by this comment on Lobste.rs. This part really got me going: “Definitely feels more like “underperforming CMS with database” than static site.”
Since then, I have:
- Moved from DigitalOcean Kubernetes to Vercel
- Updated the theme to the latest release
- Made some generic performance improvements, based on Lighthouse reports
Most of this has been to reduce load time, so that the site should load instantly.
As much as I love messing around with Kubernetes and having a complicated pipeline to deploy changes to my blog, there’s quite a few downsides:
- The complicated pipeline
- Unnecessarily large container images. Despite this being a static site, if I’m using Kubernetes, I still need to use a container to serve the files. I’m using nginx to do this, which also lets me do some fancy URL rerouting. Ultimately, this means requests are routed via a load balancer, to an nginx ingress deployment, and then to another nginx container that serves static files. That’s a lot of effort!
- A more complex process means I focus less on content. You’ll notice I only managed three posts last year.
- My Kubernetes nodes are hosted in a single data centre in Singapore, so content isn’t available at the edge. Some visitors will inevitably experience poor load times.
Vercel is quite the opposite by comparison:
- Simple pipeline. All I had to do was log into Vercel with GitHub and click a few buttons to set up a new deployment. It worked out I’m using hugo on its own, and there was zero configuration. I now get a free deployment for every commit, and even pull request previews.
- Build times are astonishingly fast. Where I used to have to wait up to 4 minutes for a build, I now wait roughly 30 seconds.
- Edge caching. Vercel deployments get pushed out along their edge network. Regardless of where a visitor is, this blog should load quickly.
So, what do you think of the load times? Is there anything else I should change? Let me know via Twitter, Mastodon, or email
On the web
Thoughts on Editing PostsMon Mar 20 2023 by Kev Quirk
My Own Python Web FrameworkWed Feb 22 2023 by Andrew Healey's Blog
ESLint as a learning resource.Fri Feb 17 2023 by Ru
Local Environment Seeders in LaravelMon Jan 30 2023 by stefanzweifel.dev
7 Reasons why I don't writeMon Jan 30 2023 by Max Böck
Generated by openring