JAM Stack
JAM Stack이란, Javascript, API, MarkUp Stack의 약자로 자바스크립트와 API, HTML이나 CSS등을 칭하는 MarkUp으로 이루어진 웹 구성 방법
더 빠르고 안전하며 스케일링하기 쉬운 웹을 만들기 위해 디자인된 아키텍쳐
- 기존 웹사이트 방식은 대부분 서버에서 데이터 베이스 또는 CMS(Content Management System)로부터 추출한 데이터를 프론트엔드에 뿌려주는 방식 -> 복잡하다
- JAM Stack은 기존 웹사이트 방식과 다르게 절차가 매우 간단
- 각종 마크업 요소와 다양한 API를 통해 만든 정적 웹사이트를 Pre-Render한 것을 CDN(Content Delivery Networ)을 통해 웹사이트를 열람할 수 있다
JAM Stack 장점
- 기존 방식에 비해 더 빠르게 웹사이트를 제공할 수 있다
- 렌더링할 화면들을 모두 Pre-Render하여 제공되어 그만큼 사용자에게 화면 보여주는 시간을 단축한다
- 첫 응답을 받기까지 걸리는 TTFB(Time to First Byte)를 최소화하는 데에는 미리 빌드 된 파일을 CDN을 통해 제공한다 (가장 나은 방법)
- 안전한 웹 사이트를 제공한다
- JAM Stack은 API를 통해 정적 사이트를 생성함
- 여기서 사용되는 API는 각 프레임워크에서의 마이크로 서비스로서 사이트 생성을 위한 프로세서가 추상화되어있기 때문에 공격 노출 범위가 감소하게 된다
- 스케일링하기 쉬운 웹사이트를 제공한다
- 정적 웹 사이트에서의 스케일링은 더 많은 지역에서 홈페이지 제공할 수 있게 하는 의미인데ㅡ 미리 빌드된 파일 제공을 담당하는 CDN이 그 역할을 해낸다
해당 글은 인프런 강의 React 기반 Gatsby로 블로그 개발하기 내용을 토대로 작성하였습니다