I mentioned last post that i’m taking this renewed interest in blogging as an opportunity to migrate to a different platform and learn some new skills. I’ve lost no love for Wordpress but, in aiming to have a clearer focus on personal projects, and with my growing interest in learning modern web technologies, I feel this blog is a good place to start.
Enter the JAMstack
— Mathias Biilmann (CEO & Co-founder of Netlify).
The phrase “JAMstack” is one i’ve seen crop up ever more frequently this past year. It’s not a new thing as it was actually coined around 2015 but it’s certainly increased in popularity within the last couple of years.
It’s the term for a development philosophy and a collection of technologies that move away from the traditional architecture of database driven websites and server hosting.
The idea is that rather than pages being pulled together and presented from a server or database every time someone visits the site, they are instead “static” - in other words prebuilt - and distributed across Content Delivery Networks (CDNs) ready to be served.
- APIs are used to abstract away any server-side functionality and provide specialised services
- Markup is prebuilt when the site is built, typically using templates, rather than being built by the server when the site is visited.
The suggested benefits are increased security and speed together with lower costs and less complexity. The loosely coupled architecture promises more flexibility and adaptability since service providers can be swapped out relatively easily compared to a tightly integrated building and hosting solution.
It’s an attractive idea, not least because it does away with the need for traditional hosting and learning server side technologies. There’s also something about the simplicity of writing in a plain text format like Markdown that I find very appealing.
What does that mean for the blog?
As I find my feet with this different approach, these are the technologies i’m currently using to make this blog possible:
- GitHub - Version control to host the source files
- Hugo - A Static Site Generator to build the site
- Forestry - A Static CMS to make editing content easier
- Cloudinary - A Content Delivery Network to host my images
- Netlify - A Cloud computing service for automated deployment
While the site is still a work in progress - images to migrate over from Wordpress, posts to clean up, templates to create - the above technologies mean my blogging workflow is now as follows:
- Write posts in the Forestry CMS or as Markdown files in my local copy of my Git repository (I like to use the Atom text editor)
- Forestry CMS pushes changes to GitHub automatically or I can manually push my local repository changes
- Netlify detects the change and redeploys the site
Next post, i’ll explain some of the technology choices I made and my migration from Wordpress.
Featured Image photo by Jonathan Pielmayer on Unsplash