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.
To set up a site with JAMStack architecture, you generally need 4 ingredients:
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)

How JAMStack Works
Example
The blog you are currently reading is built on JAMStack principles:
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: