Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

javascript
community creator

Why Jamstack?

TAPAS ADHIKARY

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Jamstack

Jamstack is not another technology stack yet; instead, it is an architectural concept. The fundamentals of Jamstack are based on, JavaScript, API, and Markup.

“A modern web development architecture based on client-side JavaScript, reusable APIs, and prebuilt Markup” — Mathias Biilmann (CEO & Co-founder of Netlify).

The traditional monolithic app

In a traditional monolithic client-server application, wedeveloper/organization take the responsibility of segregating the client from the server and maintaining servers (web or application), databases, etc.

This maintenance includes patching the server or database when there is a security vulnerability found, upgrading to new versions, etc. We may have to install and manage add-ons/plug-ins as well.

In a monolithic application, the application deploys on a server. In many cases, this server will be a centralized resource that takes all the requests from the clients to increase the chance of a single point of failure.

When a client requests a resourcelike a page from the server, the server goes through the logic of producing that page. Once the page is produced at the server-side, it is sent to the client as a response.

Producing a page at runtime by the server is a costly affair that may incur initial page load delays(cold start) that can clients frustrated. Overall, a monolithic app may have to compromise with the three major pillars of software delivery and developmentSecurity, Cost, and Speed.

Jamstack comes into play to solve these problems.

Why Jamstack?

The primary characteristics of a Jamstack app are:

  • The entire App is on CDNContent Delivery Network (or ADNApplication Delivery Network ).
  • Everything is in GIT.
  • Automated builds with a workflow when developers push the code.
  • Automatic deployment of the pre-built markup to the CDN/ADN.
  • Practically serverLess.

Since the app is fully/partially pre-built, there is no need for a server to produce it at the run time; plus, there is no traditional server here. Instead, Jamstck uses CDN, which is fast, secured, and located in the proximity of your clients.

Cost

Today, a majority of back-end services(yes, even databases) are available as services that we once had to build by ourselves. It is more costly to build, manage, and maintain things in-house than it is to subscribe to a third party’s services.

With Jamstack, we are introduced to the concept of leveraging services like forms, e-mail, authentication, identities, databases, etc. We can also write custom services(APIs) and host them on a CDN like Netlify or Vercel.

There are plenty of Static Site Generators(SSG) available to help pre-build an app (e.g., Gatsby, Next.js, Nuxt, Hugo, and 11ty).

If we were to compare the monolithic and Jamstack flow, it may look like this:

Before we end

I hope this article provides a quick overview of Jamstack – thanks for reading! Feel free to connect with me. You can @ me on Twitter(@tapasadhikary) or feel free to follow!

RELATED TAGS

javascript
community creator

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Keep Exploring