본문 바로가기

기타

Jamstack 이란

728x90

Jamstack은 "JavaScript, APIs, Markup"의 약자로, 웹 개발 아키텍처의 하나를 나타냅니다. 

Jamstack은 정적인 파일들을 서버에서 미리 생성하여 CDN에 배포하고, 클라이언트 사이드에서 JavaScript와 API를 활용하여 동적인 기능을 수행하는 방식입니다.

1. 정적 사이트 생성(Static Site Generation, SSG)

Jamstack은 사전에 웹 페이지를 미리 생성하여 정적인 파일로 만듭니다. 이를 통해 속도와 보안 면에서 이점을 제공하며, 서버에 대한 부하를 줄일 수 있습니다. 대표적인 SSG 도구로는 Gatsby, Next.js, Hugo 등이 있습니다.

2. 클라이언트 사이드 렌더링(Client-side Rendering, CSR)

동적인 콘텐츠를 필요로 하는 경우, JavaScript와 API를 사용하여 클라이언트 사이드에서 데이터를 가져와 렌더링합니다. 이를 통해 더욱 풍부한 사용자 경험을 제공할 수 있습니다. 대표적인 CSR 프레임워크로는 React, Vue.js, Angular 등이 있습니다.

3. 마이크로서비스 아키텍처
Jamstack은 백엔드 기능을 API와 마이크로서비스로 분리하여 관리합니다. 이를 통해 개발자는 필요한 기능을 별도의 서비스로 구축하고, 필요한 API를 호출하여 데이터를 가져올 수 있습니다.

4. CDN을 활용한 배포

정적 파일들은 CDN(Content Delivery Network)에 배포되어 전 세계의 사용자에게 빠르게 제공됩니다. 이를 통해 높은 성능과 확장성을 달성할 수 있습니다.

Jamstack은 빠른 로딩 속도, 보안, 확장성, 개발자 경험 개선 등의 이점을 제공합니다. 또한, 서버 관리의 복잡성을 줄이고, 프론트엔드와 백엔드를 독립적으로 개발 및 배포할 수 있는 장점도 있습니다. 따라서 Jamstack은 현대적이고 효율적인 웹 개발 아키텍처로 인기를 얻고 있습니다.