잼스택(JAMstack) 이란 무엇인가

웹사이트를 개발하는 방법

외국도 우리나라 처럼 약어를 좋아하나보다
웹 개발을 위한 기술들을 모아서 MEAN, MERN 이란 용어를 쓰고 있었다

  • MEAN (MongoDB, Express.js, Angular, Node.js)
  • MERN (MongoDB, Express.js, React, Node.js)

웹 사이트를 만드는 방법이 동적인 페이지 생성기술만 언급되다가
기술의 발전과 함께 정적인 페이지 생성기술이 추가로 언급되고 있는 것이다

  • JAM (Javascript, Api, Markup)

정적인 사이트도 Javascript 와 API 를 만나면서 다양한 기능을 구현할 수 있게되어
JAM 스택이 급부상 하고 있는 것도 있다

MEAN 과 MERN 에서 백엔드를 구성하고 있는 MongoDB 와 Node.js 가 API 로 서비스 되는 Headless CMS 를 만나면서
Api 로 단순화 되어 버렸다

JAMstack의 장점

  • 빠르다 : 만들어져 있는 정보를 제공하는 거라서 Dynamic 서비스보다 빠르다
  • 확장성이 좋다 : 클라우드 서비스를 통해서 서비스하면 골치아픈 웹서버에 발목 잡히지 않아서 좋다

JAMstack 사례

  • Github Pages 도 JAMstack 으로 지원해주는 서비스인 것이다
    • 정적인 소스만 올리면 웹서비스가 뚝딱
    • 방명록은 Disqus api 연결하고 더 서비스가 필요하면 Headless CMS 를 붙이면 된다
  • Amazon S3 도 유료지만 사용 가능하다
    • S3 에 정적인 소스 올려서 CloudFront 를 엮어서 웹서비스 하고
    • Headless CMS 를 붙여주면 된다

JAMstack의 단점

  • 기능에 제한이 있다 : 필요한 기능을 외부 API 에 의존하기에 다양한 API 들이 활성화 되어야 기능적인 한계를 극복할 수 있다
  • 제공하는 정보를 수정하기 어렵다 : 정적인 서비스를 하다 보니 URL 구조들이나 컨텐츠 내용이 변화될 때 관련된 링크나 검색엔진들의 인덱싱 정보까지 변경되려면 꽤 오랜 시간이 걸린다

결론

  • 대형 사이트가 아니라면 정적인 JAMstack 도 나쁘지 않은 선택이 될 수 있다
  • 아직은(2021년) 다양한 API 서비스들이 나오는 시기까지 시간이 필요하다