━━━━ ◇ ━━━━
-/conf

[CONF] NHN Forward 2020: Welcome to JAMstack

👀 JAMstack

프런트엔드 개발자가 웹 애플리케이션 구성부터 개발, 배포까지 가능하게 하는, 새롭게 떠오르는 JAMstack에 대해 알아본다.

✔ 전통적 웹 vs Serverless 웹

전통적인 웹의 경우에는 DB - App Server - Web Server - Browser의 경로를 통해 운영된다. 하지만 최근 가상의 클라우드 환경에 서버를 두고 운영하는 serverless 웹이 만들어지면서 웹의 생태계가 급변하고 있다. Serverless 웹의 운영경로는 Storage (FaunaDB, DynamoDB 등) - Cloud Function - API Gateway - Browser로, 서버 운영 및 유지보수가 필요없고 개발에만 집중할 수 있는 환경을 제공해준다.

✔ JAMstack의 출현

JAMstack의 JAM은 JavaScript, API, Markup을 뜻하는 말로, 동적인 요소, 서버 또는 DB, 그리고 문서 내용의 시각적 표현을 각각 중추적으로 담당하게 된다. JAMstack은 정적 사이트 생성기로 페이지를 사전 생성하여 제공하게 되는데,

따라서 다음과 같은 장점이 있다.

  • 높은 안정성: 정적으로 사이트를 생성하므로 공격에 노출이 적다.
  • 높은 신속성: 페이지로 미리 생성되어 있어 렌더링에 걸리는 시간이 적다.
  • 높은 확장성 및 경제성: 정적인 페이지만 생성하면 되므로 확장하기 용이하고 정적인 사이트를 호스팅해주는 곳은 매우 경제적이다.
  • 높은 자동성: 정적인 사이트만 수정하여 업로드하면 되므로 자동화하기 용이하다.

하지만 다음과 같은 단점도 존재한다

  • 제한적 빌드 속도: 대량의 페이지를 빌드하기 위해서는 시간이 오래 걸린다.
  • 동적 컨텐츠의 한계: JavaScript와 API를 사용하여 동적 컨텐츠를 다루어야 하는데, 이는 근본적인 해결책이 아니며 효율적이지 못하다.

이러한 단점을 극복하기 위하여 점진적 빌드라는 방식이 새롭게 생겨났다. 점진적 빌드란 변경시에 모두 재빌드하는것이 아니라, 변경에 필요한 부분만 새로 빌드함으로써 빌드의 효율성과 신속성을 높이는 것을 말한다. 아직 실험적인 단계라서 JAMstack이 프론트엔드의 미래라고 확답할수는 없지만, 계속해서 눈여겨보아야 할 기술임은 분명하다.

👍 참고 사이트

  1. Welcome to JAMstack


COMMENT
1 2 3 4 5