Back to the blog

JAMStack for Authorable content - Centric Sites

author image

Shankar Krishnan

Technology | March 03, 2022

hero image

JAMStack is a fairly new and modern technology stack that is replacing traditional CMS to build web experiences. Some examples of sites where JAMStack is turning out to be a great choice.

Marketing Websites - While it is not a replacement to highly sophisticated Digital Experience Platforms like Adobe Experience Manager or Sitecore, it's clearly becoming a better option for sites that are either homegrown / custom built legacy marketing sites lacking easy authoring capabilities, hard to maintain on legacy programming languages and frameworks and sites that are on CMS such as Wordpress, which although has severed a while as a defacto platform for building sites, the challenges is widely known with respect to performance, skillset to build / customise and ability to go live faster on new feature.

Product Documentation Site - JAMStack is a very strong alternative to Product Documentation Site especially with teams embracing Docs as Code approach towards documentation content creation, management and its workflows. This is also a great alternative to documentation sites that are built on CMS platforms which is clearly not a good choice given that the documentation sites are purely content focussed and what it requires really is a simple authoring mechanism and a highly performance and clean.

Blogs - We have traditionally seen blogs built on wordpress templates with custom branding, but the challenge is that these blogs at the end of the day are just purely static html which can be pre-rendered and served directly for high performance. There isn’t a need for CMS features like component library, drag n drop etc either. On the contrary, as you may see JAMStack provides a way to develop fast and performant blog sites with modern technology stack and simple authoring mechanism.

Typical architecture and components of a site built on JAMStack

Authoring - The “M” of JAMStack

There are two popular ways to have authors create content for your site

  • Markup language - Markdown or reStructuredText are simple formats that can be used to provide content to the site. Modern repositories such as GIT can be used as a content repository to host the markdown files and GIT branches can be used to provide review/approval workflows, pre-commit validations etc.
  • Headless CMS - Several modern headless CMS that are available which provide simple authoring capabilities and provide content through REST APIs for building sites can be used. Some examples of headless CMS include Conteful, Strapi etc.

Static-site generators

This is really the backend tool of choice that is required to convert the content (markdown, or JSON through API etc) into HTML based on templates and plugins that need to be coded. Quite a few popular static-gen tools out there are great, and many of them provide additional functionality to quickly bootstrap your site or blog with functionality.

  • Hugo - Go language based
  • Jekyll - Ruby based
  • Gatsby - React based
  • VuePress - Vue based

Hosting

Since the site is pre-rendering during the build phase as HTML, they can be pushed to any hosting provider (the ideal choice is a CDN). One platform that stands out from the rest wrt to such a modern stack is Netlify. Netlify provides not just CDN but several awesome features ideal for the stack including CI/CD builds for Gitlab, Bitbucket, Github, backend functions etc to name a few.

API’s - The “J” and “A” of JAMStack

One of the common needs of such content centric static sites is some dynamic features for customers that still requires the backend for features on the site. Some common examples include site translations, search, authentication, profile management etc. It might have become obvious now that these would be handled by usage of API’s from the front-end (Javascript). The backend APIs could be specific to the site written on Google Cloud functions or AWS Lambda or integration with 3rd party cloud based APIs that provide features as REST API’s design.

Some key advantages of building on JAMStack includes

  1. High Page Load Performance - everything is pre-rendered HTML with dynamic functionality powered by APIs.
  2. Cleaner separation of content from code - makes it easy evolve technology independently.
  3. Modern technology stack - ability to use React, Vue, GO based static-gen which makes it both fun and efficient to build along with Git based workflows, CDN for hosting etc which makes it highly secure too.
  4. Faster to build - several great tools and frameworks available to bootstrap and quickly build. Easy to use CI/CD pipelines to provide branch level continuous deployments increasing the speed and efficiency of development.
  5. Highly optimised on cost - In most cases, CDN by far is the only hosting cost since everything is pre-rendered which eliminates the need for expensive servers with redundancy etc.

Conclusion

JAMStack is no doubt an amazing new and modern way to build sites, but it's important to make sure to choose JAMStack for the right use-case and also be right in picking the appropriate from the choices of tools/platforms, build system and hosting to create a seamless high performance experience for your customers.

So, if you are facing performance, scalability issues with your site or having a complex, legacy CMS platform that is hard to change, innovate then we strongly recommend you look at this modern stack to power your customer experience. At Hashout, we have moved several of our customers to JAMStack including a large enterprise site with over 200,000 pages and 50+ authors globally and have seen incredible results and will be happy to help if you would like to explore and understand if it's a good fit.

Browse all categories