Back
Tech 2 min read - 20 Sep 20 - Arnaud Albalat

What is JAMStack?

The JAMStack is a popular web development architecture that has been around for a few years, which involves compiling a dynamic website into static pages, in order to speed up its rendering and thus improve the user experience.
This architecture notably simplifies the scalability of sites, as the generated static pages can be hosted by a CDN, and thus be delivered scalably and quickly worldwide. In terms of security, it offers fewer entry points for attackers and prevents DDoS attacks, for example. Finally, hosting costs are reduced compared to a standard web application, as the cost of servers is replaced by just the cost of the CDN.
JAM is the acronym for "JavaScript, APIs, Markup", which corresponds to the three key components of a JAMStack site: static HTML pages ("Markup"), JavaScript code for dynamic aspects, and APIs.

The JAMStack Site Toolbox

To set up a site with JAMStack architecture, you generally need 4 ingredients:
  • a CMS headless to edit and serve dynamic content (e.g.: Contentful, Strapi...)
  • a static site generator, to generate your pages from dynamic content (e.g.: Gatsby, Gridsome...)
  • a pipeline that compiles your site with every content change or code modification (e.g.: Gitlab CI/CD)
  • a CDN to host your site (e.g.: Amazon CloudFront)
architecture
How JAMStack Works

Example

The blog you are currently reading is built on JAMStack principles:
  • articles are written and hosted on Contentful ;
  • with each publication or modification of an article, Contentful calls a webhook on our development server;
  • our server compiles the site: by retrieving articles via Contentful's API, HTML pages are generated;
  • the site is uploaded to Amazon S3 and Amazon CloudFront to be served to readers.

Useful links

If JAMStack interests you and you wish to continue your research on it, here are some links that might interest you:

Do you want support to launch your digital project?

Submit your project now