BT

Facilitating the spread of knowledge and innovation in professional software development

Contribute

Topics

Choose your language

InfoQ Homepage News Introducing the JAMstack

Introducing the JAMstack

This item in japanese

Bookmarks

JAMstack is an architecture for building sites that can be served directly from a CDN. It stands for JavaScript, APIs, and pre-rendered Markup.

The core concept behind JAMstack are not new. Static site generators (or SSG) have been using it for more than a decade. Solutions such as Jekyll have enabled content creators to avoid the need for managing costly servers and databases. Instead, they can publish their content as static HTML, CSS and JavaScript directly through a content delivery network (CDN).

Serving static content offers several significant improvements over existing CMS solutions, such as WordPress, that are often based on the LAMP stack (Linux, Apache, MySQL, PHP/Pearl/Python). When Smashing Magazine made the transition to a JAMstack solution, they reported a 10x improvement in performance.

While the JAMStack definition includes static sites, it also supports dynamic web applications by using 3rd party API providers which are required to maintain the serverless architecture.

There are several companies such as FireBase, Netlify, Auth0, etc. which offer easy-to-use services that allow developers to access anything from user authentication, databases, and even running custom code through Lambda functions.

The benefits of using the JAMStack architecture are generally divided into four fields:

  1. Improved performance - pre-rendered markup and assets are served directly from a CDN.
  2. Cutting Costs / Easy Scaling - hosting static files is cheap, and since there are no databases or servers, there's no need to handle load balancers, and the CDN can manage the scaling process.
  3. Better Security - with no servers or databases to hack, many of the most common vulnerabilities simply cease to exist.
  4. Better development experience - Since the entire site content is static, it can be managed through version control (such as GIT). Tracking change history becomes more straightforward, and updating the site is as easy as uploading a new copy of the site and invalidating the cache.

Unlike popular development stacks like LAMP or MEAN, JAMstack is based on a much looser set of services and libraries, which can make the initial transition more complex.

An excellent place to start would be the official JAMstack website, which offers many excellent resources on the subject. Once you feel comfortable with the core concepts, it's worth reading through Awesome JAMstack which provides a long curated list of recommended 3rd party services that could be used for creating and managing JAMstack websites.

We need your feedback

How might we improve InfoQ for you

Thank you for being an InfoQ reader.

Each year, we seek feedback from our readers to help us improve InfoQ. Would you mind spending 2 minutes to share your feedback in our short survey? Your feedback will directly help us continually evolve how we support you.

Take the Survey

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.