Offcanvas

How To / 개발자 / 검색|인터넷

'LAMP 넘어설까?'··· 차세대 웹 개발 철학 잼스택 안내서

2022.06.17 Josh Fruhlinger  |  InfoWorld
잼스택(Jamstack)은 점점 인기가 높아지고 있는 웹 개발 방식으로, 웹 개발 및 웹 페이지의 다운로드 속도를 높이기 위해 주로 사용된다. 데브옵스와 CI/CD에서 파생된 잼스택은 인터랙티브 웹 페이지 구축의 오랜 전통을 뒤집었다는 점에서 주목받고 있다. 그중 핵심은 로드 타임 코드 실행을 웹 서버가 아닌 브라우저 내 자바스크립트나 API로 접근할 수 있는 외부 서비스에서 진행하는 부분이다. 이는 매우 개발자 친화적인 방식으로, 궁극적으로 렌더링 속도를 높이고 여러 플랫폼에 맞춤화할 수 있는 정적 웹사이트를 구축할 때 사용된다. 
 
ⓒ Getty Images Bank

잼스택과 LAMP 스택의 차이

잼스택은 자바스크립트, API, 마크업(Markup)이라는 세 가지 축을 기반으로 하는 웹 애플리케이션 아키텍처다. JAM이라는 단어도 이 세 기술의 앞 자에서 따왔다. 잼스택을 추구하는 웹 페이지는 표준 마크업 언어로 구성돼서, 애플리케이션 서버 또는 노드JS와 같은 서버 사이드 기술에 의존하지 않고 어디서나 빌드하고 테스트할 수 있다. 이때 인터랙티브 기능은 표준 브라우저에서 실행되는 자바스크립트 코드로 제공된다. 이 코드는 HTTPS를 통해 재사용할 수 있는 API를 호출하며, 해당 호출은 다시 웹페이지에 넣을 수 없는 외부 데이터 및 다른 기능에 액세스하기 위해 사용된다. 

잼스택이 왜 혁신적인지 알아보려면 일단 LAMP(Linux Apache MySQL PHP) 스택부터 살펴봐야 한다. LAMP 스택은 지난 15년간 웹 개발자가 선택하는 대표적인 개발 방식이었다. LAMP는 리눅스(웹 서버를 구동하는 OS), 아파치(리눅스 시스템에서 실행되는 서버 소프트웨어), MySQL(웹 애플리케이션 데이터가 저장되는 데이터베이스), PHP/펄/파이썬(서버 사이드 작성 언어)의 각 첫 글자를 따와 만든 단어다. LAMP 기반 웹사이트를 방문하면 웹 서버는 서버 사이드 코드를 실행하며, 이 코드는 필요할 때마다 MySQL 데이터베이스에서 데이터를 가져와 웹 페이지를 즉석에서 생성한다.

LAMP 아키텍처는 동적이고 인터랙티브한 웹사이트를 생성할 수 있지만, 강력한 웹 서버가 뒷받침돼야 한다. 사이트로 유입되는 트래픽이 늘어난다면 서버 측에는 더 높은 컴퓨팅 성능이 필요하다. 하지만 아무리 고성능 서버가 있더라도 동적 웹 페이지를 빌드하고 로드하는 데는 시간이 오래 걸릴 수 있다. 요즘처럼 스마트폰으로 웹을 서핑하고 빠른 것을 선호하는 세상에서 로딩 속도가 느리다는 것은 치명적인 골칫거리가 될 수 있다. 잼스택은 이런 상황에서 전통적인 웹사이트 작동 모델에서 탈피해보고자 2010년 급부상했다. 

정적 웹사이트의 구조

웹 개발 초보자에게 웹의 동작 방식을 설명하려 할 때 다음과 같은 표현을 쓰곤 한다.

“웹 서버 파일 시스템 어딘가에 HTML 파일이 있고, 그 파일은 http 주소로 접근할 수 있다. 웹 브라우저는 그 HTML 파일을 다운로드한 다음 해석해서 웹 페이지를 생성한다.”
 

회원 전용 콘텐츠입니다. 이 기사를 더 읽으시려면 로그인 이 필요합니다. 아직 회원이 아니신 분은 '회원가입' 을 해주십시오.

추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.