문서의 각 단락이 어느 리비전에서 마지막으로 수정되었는지 확인할 수 있습니다. 왼쪽의 정보 칩을 통해 작성자와 수정 시점을 파악하세요.

Netlify 및 정적 사이트 배포 | |
이름 | |
분류 | 클라우드 컴퓨팅 플랫폼, 정적 사이트 생성기 호스팅 |
유형 | 서비스형 플랫폼 (PaaS) |
주요 기능 | |
대표적 사용 기술 | |
배포 방식 | Git 리포지토리 연결 기반 자동 배포 |
상세 정보 | |
설립 연도 | 2014년 |
핵심 서비스 | Netlify Edge, Netlify Functions, Netlify Forms, Netlify Identity |
배포 워크플로우 | Git Push → 빌드(사용자 정의 또는 자동) → CDN에 배포 |
지원하는 빌드 도구 | |
통합 가능한 서비스 | |
가격 정책 | 무료 플랜 및 유료 플랜(팀, 프로, 엔터프라이즈) |
대안 서비스 | |
주요 장점 | 빠른 배포 속도, 높은 확장성, 개발자 친화적 도구, 강력한 CDN |
정적 사이트 배포 개념 | 서버 측 렌더링 없이 미리 빌드된 HTML, CSS, JavaScript 파일을 제공하는 방식 |

Netlify는 정적 사이트와 서버리스 함수를 배포하고 관리하기 위한 클라우드 플랫폼이다. 주로 JAMstack 아키텍처를 기반으로 하는 현대적인 웹 개발 워크플로우를 지원하는 데 특화되어 있다. 개발자는 Git 저장소에 코드를 푸시하는 것만으로 자동화된 빌드, 배포, 호스팅, 관리를 경험할 수 있다.
이 플랫폼은 정적 사이트 생성기로 만들어진 사이트의 배포를 단순화하는 데서 시작했으나, 현재는 폼 처리, 분할 테스팅, 서버리스 함수 등 다양한 백엔드 기능을 통합한 완전한 애플리케이션 플랫폼으로 진화했다. CDN을 통한 글로벌 에지 네트워크와 자동 HTTPS 인증서 발급이 기본으로 제공되어 성능과 보안을 보장한다.
Netlify의 등장은 GitHub Pages나 전통적인 웹 호스팅 서비스에 비해 더 높은 수준의 자동화와 개발자 경험을 제공하며, 정적 사이트 배포 방식을 주류로 만드는 데 기여했다. 이는 프론트엔드와 백엔드를 분리하는 현대 웹 개발 트렌드와 잘 맞아떨어진다.

Netlify는 정적 사이트와 웹 애플리케이션의 배포, 호스팅 및 관리를 단순화하는 클라우드 플랫폼이다. 이 플랫폼은 Git 기반의 지속적 배포와 서버리스 기능을 핵심으로 하여, 개발자가 인프라 관리보다 코드 개발에 집중할 수 있도록 설계되었다. Netlify는 JAMstack 아키텍처를 채택한 현대적 웹 개발 워크플로우를 대표하는 서비스로 자리 잡았다.
주요 서비스는 Git 저장소(GitHub, GitLab, Bitbucket)와의 연동을 통해 작동한다. 저장소에 새로운 코드가 푸시되면 Netlify가 자동으로 사이트를 빌드하고 전 세계 CDN(콘텐츠 전송 네트워크)에 배포한다. 이 과정은 완전히 자동화되어 있어, 개발자는 배포 명령이나 서버 설정을 수동으로 관리할 필요가 없다. 또한 모든 사이트에는 기본적으로 SSL/TLS 인증서가 제공되어 HTTPS 연결이 보장된다.
Netlify는 단순한 호스팅을 넘어서는 다양한 개발자 도구를 제공한다. 서버리스 함수(Netlify Functions), 폼 처리, A/B 테스트(분할 테스팅), 즉시 생성되는 사이트 미리보기(Deploy Previews) 등의 기능을 포함한다. 이러한 기능들은 정적 사이트에 동적인 상호작용 요소를 추가할 수 있게 하며, 포괄적인 프론트엔드 개발 플랫폼의 역할을 한다.
Netlify는 정적 사이트와 서버리스 함수의 배포와 관리를 단순화하는 데 중점을 둔 클라우드 컴퓨팅 플랫폼이다. 그 핵심 기능은 지속적 배포 파이프라인, 글로벌 콘텐츠 전송 네트워크, 그리고 서버리스 백엔드 기능의 통합 제공에 있다.
주요 기능은 다음과 같이 요약할 수 있다.
기능 카테고리 | 세부 기능 | 설명 |
|---|---|---|
지속적 배포 | Git 통합 | GitHub, GitLab, Bitbucket 등의 저장소와 연결하여 커밋 푸시 시 자동으로 빌드 및 배포를 트리거한다. |
빌드 설정 | 사용자 정의 빌드 명령어, 출력 디렉토리, 환경 변수 설정 등을 웹 인터페이스에서 쉽게 구성할 수 있다. | |
호스팅 및 전송 | 글로벌 CDN | 배포된 사이트는 자동으로 Netlify의 에지 네트워크에 배포되어 전 세계에서 빠르게 접근할 수 있다. |
자동 HTTPS | 사용자 정의 도메인 연결 시 Let's Encrypt를 통해 SSL 인증서를 자동으로 발급 및 갱신한다. | |
서버리스 기능 | 사이트와 동일한 도메인에서 실행되는 서버리스 AWS Lambda 함수를 쉽게 생성하고 관리할 수 있다. | |
폼 처리 | 별도 백엔드 구축 없이 HTML 폼 제출 데이터를 수집하고 관리할 수 있는 내장 기능을 제공한다. | |
사이트 관리 | 분할 테스팅 | 여러 Git 브랜치 또는 빌드 설정을 기반으로 트래픽을 분할하여 A/B 테스트를 수행할 수 있다. |
롤백 기능 | 이전 배포 버전으로 즉시 되돌릴 수 있어 배포 실패 시 빠르게 대응할 수 있다. |
이러한 기능들은 JAMstack 아키텍처를 기반으로 하는 현대적 웹 개발 워크플로우를 완벽하게 지원한다. 개발자는 프론트엔드 코드와 API 호출 로직에 집중할 수 있으며, 인프라 관리, 확장성, 보안 문제는 플랫폼이 처리한다. 결과적으로 정적 사이트의 장점인 빠른 성능과 높은 보안을 유지하면서도 동적인 기능을 추가하는 것이 가능해진다.
Netlify는 사용량과 필요 기능에 따라 다양한 요금제를 제공합니다. 모든 요금제에는 SSL/TLS 인증서, CDN, 지속적 배포 등 핵심 인프라가 포함됩니다.
주요 요금제는 다음과 같습니다.
요금제 | 주요 특징 | 월간 대역폭 | 폼 제출 처리 |
|---|---|---|---|
스타터 | 개인 프로젝트용, 무료 | 100GB | 월 100건 |
프로 | 전문가 및 팀용, 유료 | 400GB | 월 1,000건 |
비즈니스 | 기업용, 고급 기능, 유료 | 1TB+ | 월 10,000건+ |
스타터 요금제는 무료로 제공되며, 사이트 수 제한 없이 기본적인 정적 사이트 호스팅이 가능합니다. 프로 요금제부터는 역할 기반 접근 제어, 분할 테스팅, 사전 렌더링 등의 고급 기능을 사용할 수 있습니다. 비즈니스 요금제에서는 감사 로그, SAML 단일 로그온, 프리미엄 지원 등의 엔터프라이즈급 기능이 추가됩니다.
사용량 초과, 추가 기능 사용, 멤버 추가 시 별도 비용이 발생할 수 있습니다. 예를 들어, Netlify Functions의 실행 시간이나 폼 제출 건수가 할당량을 초과하면 추가 요금이 부과됩니다. 모든 요금제는 월간 구독 형태이며, 공식 웹사이트에서 상세한 가격과 제한 사항을 확인할 수 있습니다.

정적 사이트는 서버 측에서 동적 생성되지 않고, 미리 만들어져 있는 HTML, CSS, 자바스크립트 파일들로 구성된 웹사이트이다. 사용자가 페이지를 요청하면, 웹 서버는 단순히 해당 파일을 그대로 전송한다. 이는 데이터베이스 쿼리나 서버 측 스크립트 실행이 필요 없는 전통적인 웹사이트 방식으로, 매우 빠른 로딩 속도와 높은 보안성을 특징으로 한다.
정적 사이트를 효율적으로 구축하기 위해 정적 사이트 생성기가 널리 사용된다. 이 도구들은 마크다운이나 다른 템플릿 파일을 원본으로 삼아, 사전에 모든 페이지의 HTML 파일을 생성한다. 대표적인 생성기로는 Jekyll, Hugo, Gatsby, Next.js(정적 생성 모드), Eleventy 등이 있다. 이들은 개발자가 콘텐츠와 디자인을 분리하여 관리할 수 있게 하며, 빌드 시점에 정적 파일들을 한 번에 생성한다.
이러한 정적 사이트 배포 방식은 JAMstack 아키텍처의 핵심을 이룬다. JAMstack은 자바스크립트, API, 마크업의 약자로, 클라이언트 측 자바스크립트가 다양한 API를 호출하여 동적인 기능을 처리하고, 사전에 렌더링된 마크업을 배포하는 모던 웹 개발 아키텍처이다. 이 아키텍처의 장점은 다음과 같이 정리할 수 있다.
장점 | 설명 |
|---|---|
성능 | CDN을 통해 전 세계에 배포된 정적 파일을 제공하여 로딩 속도가 매우 빠르다. |
보안 | 서버 측 코드나 데이터베이스가 노출될 위험이 현저히 줄어든다. |
확장성 | 트래픽 급증에 대응하기 쉽고, CDN에 의존하므로 비용 효율적이다. |
개발자 경험 | 프론트엔드와 백엔드를 분리하고, 현대적인 개발 도구 체인을 사용할 수 있다. |
정적 사이트는 과거에는 단순한 브로슈어 사이트에만 적합한 것으로 여겨졌지만, 헤드리스 CMS와 다양한 서버리스 함수의 등장으로 댓글, 사용자 인증, 이커머스와 같은 동적 기능도 통합할 수 있게 되었다. 이로 인해 블로그, 문서 사이트, 포트폴리오부터 복잡한 웹 애플리케이션에 이르기까지 폭넓게 적용되고 있다.
정적 사이트 생성기는 마크업 언어로 작성된 원본 콘텐츠(예: 마크다운, HTML)와 템플릿 파일을 가져와, 사전에 완전한 HTML, CSS, 자바스크립트 파일 세트로 변환하는 도구이다. 이렇게 생성된 파일들은 웹 서버에 업로드되어 직접 제공된다. 이 접근 방식은 데이터베이스 쿼리나 서버 측 스크립트 실행이 필요 없는 순수한 정적 파일을 생산한다.
주요 정적 사이트 생성기로는 Jekyll, Hugo, Gatsby, Next.js(정적 생성 모드), Eleventy 등이 있다. 이들은 각각 다른 프로그래밍 언어(예: Ruby, Go, 자바스크립트)와 철학을 기반으로 하지만, 공통적으로 빌드 시점에 사이트를 완성한다는 핵심 개념을 공유한다. 사용자는 로컬 개발 환경에서 콘텐츠를 작성하고 생성기를 실행하여 사이트를 빌드한 후, 결과물인 정적 파일들을 배포한다.
정적 사이트 생성기를 사용하면 몇 가지 뚜렷한 장점이 있다. 첫째, 생성된 사이트는 서버 부하가 적고 매우 빠르게 로드된다. 둘째, 데이터베이스나 복잡한 서버 환경이 없어 보안 취약점이 현저히 줄어든다. 셋째, Git과 같은 버전 관리 시스템을 통해 콘텐츠 변경 이력을 완벽하게 추적할 수 있다. 그러나 빌드 후 콘텐츠를 업데이트하려면 항상 재빌드와 재배포 과정이 필요하다는 점이 전통적인 콘텐츠 관리 시스템과의 주요 차이점이다.
JAMstack은 웹 개발 아키텍처의 한 패러다임으로, JavaScript, API, Markup의 약자이다. 이 아키텍처는 전통적인 모놀리식 서버나 서버 사이드 렌더링 방식과 구별되며, 사전에 빌드된 정적 파일과 클라이언트 사이드 JavaScript, 그리고 재사용 가능한 API를 조합하여 동적인 기능을 구현한다. 핵심은 배포 시점에 사이트를 완전한 정적 파일로 생성하여 CDN을 통해 제공함으로써 성능, 보안, 확장성을 획기적으로 향상시키는 데 있다.
JAMstack의 주요 구성 요소와 작동 방식은 다음과 같다.
구성 요소 | 역할 | 예시 |
|---|---|---|
JavaScript | 브라우저에서 모든 동적 기능을 처리한다. | |
API | 서버 사이드 기능이나 데이터베이스 작업을 대체하는 재사용 가능한 서비스이다. | Headless CMS, 결제 시스템, 인증 서비스, 사용자 정의 마이크로서비스 |
Markup | 정적 사이트 생성기로 생성된 파일 |
이 아키텍처는 개발 워크플로우를 변화시킨다. 개발자는 Git 저장소에서 코드를 관리하고, 정적 사이트 생성기를 사용하여 Markdown이나 API 데이터를 기반으로 사이트를 빌드한다. 빌드된 정적 파일은 Netlify나 Vercel 같은 플랫폼에 배포되어 글로벌 CDN 네트워크로 전송된다. 사용자의 요청은 이 CDN에서 즉시 처리되며, 필요한 동적 기능은 런타임에 브라우저의 JavaScript가 제3의 API를 호출하여 완성한다.
JAMstack 방식은 여러 장점을 제공한다. 정적 파일을 제공하므로 보안 취약점이 적고, CDN을 통해 전 세계에 빠르게 콘텐츠를 전달할 수 있다. 또한, 서버 관리 부담이 없어 확장성이 뛰어나며, 개발과 배포 과정이 Git 및 현대적 개발 도구와 밀접하게 연동되어 효율적이다. 그러나 모든 콘텐츠 변경이 새 빌드와 배포를 필요로 하므로, 매우 빈번한 실시간 업데이트가 필요한 사이트에는 적합하지 않을 수 있다. 이러한 한계는 증분 빌드나 ISR 같은 기술로 점차 보완되고 있다.

배포는 Git 저장소를 연결하는 것으로 시작한다. Netlify 대시보드에서 "새 사이트 추가"를 선택한 후 GitHub, GitLab, Bitbucket 또는 자체 Git 저장소 중 하나를 선택하여 권한을 부여하면 된다. 저장소를 선택한 후에는 배포할 브랜치(일반적으로 main 또는 master)를 지정한다.
빌드 설정은 프로젝트의 정적 사이트 생성기에 맞춰 구성한다. Netlify는 저장소의 루트 디렉토리를 기준으로 빌드 명령어와 게시 디렉토리를 자동으로 감지하려 시도하지만, 수동으로 설정할 수도 있다. 주요 설정 항목은 다음과 같다.
설정 항목 | 설명 | 일반적인 예시 |
|---|---|---|
빌드 명령 | 사이트를 생성하는 명령어 |
|
게시 디렉토리 | 생성된 정적 파일이 위치한 폴더 |
|
기본 빌드 설정 | Node.js, Ruby, Go 등의 버전 지정 | Node.js 18, Hugo 0.120.4 |
빌드가 성공적으로 완료되면 Netlify는 사이트에 고유한 xxx.netlify.app 형식의 하위 도메인을 자동으로 할당하고 배포한다. 이후 코드 저장소에 새로운 커밋이 푸시될 때마다 자동으로 재빌드 및 재배포가 이루어진다.
사용자 정의 도메인을 연결하는 과정은 직관적이다. 도메인 관리 탭에서 "사용자 정의 도메인 추가"를 선택한 후 구입한 도메인을 입력하면 된다. Netlify는 도메인 공급자(가비아, GoDaddy 등)의 DNS 설정에 추가해야 할 레코드를 안내한다. 도메인 연결과 동시에 Let's Encrypt를 통해 HTTPS 인증서가 자동으로 발급 및 갱신되어, 별도의 설정 없이 보안 연결을 제공한다.
Netlify에 정적 사이트를 배포하는 가장 일반적인 방법은 Git 저장소를 연결하는 것입니다. 이를 통해 개발자는 로컬에서 코드를 변경하고 Git에 푸시하기만 하면 자동으로 빌드 및 배포가 이루어지는 지속적 배포 환경을 구축할 수 있습니다. Netlify는 GitHub, GitLab, Bitbucket 및 자체 호스팅 Git 저장소를 지원합니다.
연결 과정은 직관적입니다. Netlify 대시보드에서 "새 사이트 추가"를 선택한 후 "Git에서 가져오기" 옵션을 클릭합니다. 이후 사용할 Git 공급자를 선택하고 권한을 부여하면, 해당 계정의 저장소 목록이 표시됩니다. 배포할 프로젝트 저장소를 선택하면 연결이 완료됩니다. 연결 시 특정 브랜치(예: main, master)를 프로덕션 브랜치로 지정할 수 있으며, 다른 브랜치로의 푸시에 대한 프리뷰 배포를 활성화할 수도 있습니다.
저장소 연결 후에는 빌드 설정을 구성해야 합니다. Netlify는 대부분의 인기 정적 사이트 생성기를 자동으로 감지하여 기본 빌드 명령어와 출력 디렉터리를 제안합니다. 예를 들어, Next.js 프로젝트는 next build와 out 디렉터리로, Gatsby 프로젝트는 gatsby build와 public 디렉터리로 자동 설정됩니다. 필요시 "사이트 설정 > 빌드 및 배포"에서 빌드 명령어, 게시 디렉터리, 사용할 Node.js 버전 등을 수동으로 지정할 수 있습니다.
설정 항목 | 설명 | 일반적인 예시 |
|---|---|---|
빌드 명령어 | 사이트를 생성하는 명령어 |
|
게시 디렉터리 | 빌드 후 생성된 파일이 위치한 폴더 |
|
기준 브랜치 | 자동 배포가 트리거될 브랜치 |
|
이 설정이 완료되면, 지정된 기준 브랜치에 새로운 커밋이 푸시될 때마다 Netlify가 자동으로 저장소를 클론하고, 빌드 명령어를 실행하며, 결과물을 글로벌 CDN에 배포합니다. 또한 모든 풀 리퀘스트에 대해 고유한 URL을 가진 프리뷰 배포가 생성되어 변경 사항을 실제 배포 전에 확인할 수 있습니다.
Netlify는 Git 저장소를 연결한 후, 저장소의 코드를 기반으로 사이트를 자동으로 빌드하고 배포한다. 이 과정은 대부분 Netlify의 웹 대시보드에서 설정할 수 있으며, 빌드 명령어와 게시 디렉터리 지정이 핵심이다.
빌드 설정은 프로젝트 루트에 netlify.toml 파일을 생성하거나 대시보드의 "Site configuration > Build & deploy" 메뉴에서 구성한다. 주요 설정 항목은 다음과 같다.
설정 항목 | 설명 | 기본값 예시 |
|---|---|---|
빌드 명령 (Build command) | 정적 파일을 생성하기 위해 실행할 명령어 |
|
게시 디렉터리 (Publish directory) | 빌드 후 생성된 정적 파일이 위치한 폴더 |
|
기본 분기 (Base branch) | 배포 트리거의 기준이 되는 Git 브랜치 |
|
빌드가 성공적으로 완료되면, Netlify는 지정된 게시 디렉터리의 파일들을 글로벌 CDN에 자동으로 배포한다. 이후 Git 저장소의 설정된 분기에 새로운 커밋이 푸시될 때마다 이 빌드 및 배포 과정이 자동으로 재실행된다[1]. 배포된 각 버전은 고유한 미리보기 URL을 가지며, 프로덕션 배포 전에 확인할 수 있다.
배포 환경 변수를 설정하여 빌드 과정을 제어할 수 있다. 대시보드의 "Site configuration > Environment variables"에서 키-값 쌍을 추가하면, 빌드 시 해당 값이 주입된다. 이를 통해 API 키나 환경별 설정값을 코드에 하드코딩하지 않고 안전하게 관리할 수 있다. 또한 빌드 시간 제한, 빌드 이미지(Node.js 버전 등)와 같은 고급 옵션도 설정 가능하다.
Netlify는 사용자가 소유한 도메인 이름을 사이트에 연결하는 과정을 단순화합니다. 대시보드의 '도메인 관리' 섹션에서 커스텀 도메인을 추가할 수 있습니다. 일반적으로는 도메인 등록 기관의 관리 패널에서 DNS 레코드를 수정하여 Netlify가 제공하는 서버 주소를 가리키도록 설정합니다. Netlify는 자동으로 www 접두사가 있는 도메인과 없는 도메인을 연결하고, 기본적으로 한 도메인에서 다른 도메인으로의 리디렉션을 설정합니다.
모든 Netlify 사이트에는 자동으로 무료 HTTPS 인증서가 제공됩니다. 이 인증서는 Let's Encrypt를 통해 발급되며 자동으로 갱신됩니다. 도메인 연결이 완료되면 Netlify는 도메인의 소유권을 확인하고, 일반적으로 몇 분 내에 SSL/TLS 인증서를 프로비저닝합니다. 이 과정은 완전히 자동화되어 있어 사용자가 인증서를 관리하거나 갱신할 필요가 없습니다.
설정 항목 | 설명 | 비고 |
|---|---|---|
커스텀 도메인 추가 | Netlify 대시보드에서 도메인을 입력하고 DNS 설정 안내를 따름 | |
DNS 레코드 설정 | 도메인 제공업체에서 | |
HTTPS 자동 활성화 | 도메인 확인 후 Let's Encrypt 인증서가 자동 배포됨 | 대기 시간은 DNS 전파 시간에 영향받음 |
Force HTTPS | 모든 HTTP 요청을 HTTPS로 강제 리디렉션하는 옵션 | 기본적으로 권장 및 활성화됨 |
이를 통해 개발자는 복잡한 인증서 발급 및 서버 설정 없이도 프로덕션 수준의 보안을 갖춘 사이트를 빠르게 배포할 수 있습니다.

Netlify는 정적 사이트 호스팅을 넘어서 서버리스 기능, 폼 관리, A/B 테스트 등 다양한 고급 기능을 제공하여 동적인 요소를 정적 사이트에 추가할 수 있게 한다.
Netlify Functions는 서버리스 AWS Lambda 함수를 손쉽게 배포하고 관리할 수 있는 기능이다. 개발자는 사이트 코드베이스 내 특정 디렉토리(기본값 /netlify/functions)에 함수 코드를 작성하기만 하면, Netlify가 자동으로 배포 시 이를 감지하고 실행 환경을 구성한다. 이를 통해 사용자 인증, 데이터베이스 연동, 외부 API 호출 등 백엔드 로직을 정적 사이트에 통합할 수 있다. 지원하는 언어는 JavaScript, Go, Python 등이 포함된다.
폼 처리 기능은 별도의 백엔드 서버 구축 없이 HTML 폼을 통해 데이터를 수집할 수 있게 한다. 사이트에 <form> 태그를 추가하고 data-netlify="true" 속성을 지정하기만 하면, 제출된 폼 데이터는 Netlify 대시보드에서 관리되고, Slack이나 이메일로 알림을 받거나, Zapier 등을 통해 타 서비스와 연동할 수 있다. 분할 테스팅(스플릿 테스팅) 기능은 Git 브랜치나 특정 파일 경로를 기반으로 사이트의 여러 버전을 생성하고, 트래픽을 분배하여 각 버전의 성능을 비교 테스트할 수 있게 한다.
기능 | 설명 | 주요 용도 |
|---|---|---|
서버리스 함수 실행 환경 | API 엔드포인트 생성, 동적 데이터 처리 | |
폼 처리 | 내장 폼 제출 핸들링 | 연락처 폼, 설문조사, 뉴스레터 구독 |
분할 테스팅 | 트래픽 분배를 통한 A/B 테스트 | UI/UX 변경 효과 측정, 마케팅 캠페인 테스트 |
이러한 기능들은 JAMstack 아키텍처의 핵심 원칙을 따르며, 정적 사이트의 보안과 성능 장점을 유지하면서도 필요한 동적 상호작용을 가능하게 한다.
Netlify Functions는 Netlify 플랫폼에서 제공하는 서버리스 함수 기능이다. 이를 통해 개발자는 별도의 서버를 관리할 필요 없이 JavaScript 또는 Go로 작성된 백엔드 로직을 배포하고 실행할 수 있다. 각 함수는 특정 이벤트(예: HTTP 요청)에 의해 트리거되는 독립적인 코드 단위로, AWS Lambda를 기반으로 구축되어 확장성과 내결함성을 제공한다. 함수는 정적 사이트와 동일한 배포 워크플로우를 통해 관리되며, 사이트의 일부로 자동 배포된다.
함수는 일반적으로 사이트 소스 코드 내의 특정 디렉토리(기본값: netlify/functions)에 작성된다. Netlify는 이 디렉토리를 감지하고, 빌드 과정에서 각 함수를 개별적인 서버리스 엔드포인트로 변환한다. 생성된 엔드포인트는 /.netlify/functions/functionName 형식의 경로를 통해 접근할 수 있다. 이를 통해 API 호출, 데이터 처리, 사용자 인증, CRON 작업 등 동적인 기능을 정적 사이트에 쉽게 추가할 수 있다.
주요 사용 사례로는 폼 제출 처리, 외부 API 프록시, 사용자 데이터 검증, 동적 콘텐츠 조회 등이 있다. 예를 들어, 이메일 전송 서비스나 데이터베이스와의 연동이 필요한 기능을 Functions로 구현하여, 완전한 정적 사이트의 한계를 극복할 수 있다. 또한, Functions는 Netlify Identity와 같은 다른 Netlify 서비스와 통합되어 사용자 관리 기능을 강화하는 데 활용되기도 한다.
성능과 비용 측면에서, Netlify Functions는 사용량 기반으로 실행된다. 무료 티어에서는 일정량의 호출과 실행 시간을 제공하며, 이를 초과할 경우 유료 플랜으로 전환해야 한다. 함수의 실행 환경은 격리되어 있으며, 각 요청은 독립적으로 처리된다. 이를 통해 트래픽 급증 시 자동으로 확장되고, 사용하지 않을 때는 비용이 발생하지 않는 서버리스 모델의 이점을 누릴 수 있다.
Netlify는 정적 사이트에서도 서버 측 처리가 필요한 HTML 폼을 쉽게 구현하고 관리할 수 있는 기능을 제공합니다. 이 기능은 별도의 서버나 백엔드 코드 없이도 폼 제출 데이터를 수집할 수 있게 해줍니다.
폼 처리를 활성화하려면 사이트의 HTML 폼에 data-netlify="true" 속성을 추가하거나, Netlify 관리 대시보드에서 '폼(Forms)' 섹션을 통해 수동으로 폼을 생성하면 됩니다. 사용자가 폼을 제출하면 Netlify가 자동으로 요청을 가로채 데이터를 처리하며, 제출된 내용은 대시보드에서 확인하거나 설정한 알림(이메일, Slack, 웹훅 등)을 통해 받아볼 수 있습니다. 또한 reCAPTCHA 통합을 통해 스팸 제출을 방지할 수 있습니다.
폼 데이터의 활용을 확장하기 위해 Netlify Functions와 결합할 수 있습니다. 폼 제출 시 특정 함수를 트리거하도록 설정하여, 데이터를 외부 서비스(예: Google Sheets, Airtable, CRM 시스템)에 자동으로 전송하거나 추가 가공하는 자동화 워크플로를 구축할 수 있습니다. 이는 단순한 문의 접수를 넘어 복잡한 애플리케이션 로직으로 연결하는 데 유용합니다.
기능 | 설명 |
|---|---|
기본 폼 처리 |
|
스팸 필터링 | 내장 스팸 필터 및 reCAPTCHA 통합 제공 |
알림 설정 | 이메일, Slack, 웹훅 등으로 제출 알림 수신 |
데이터 내보내기 | 대시보드에서 제출 내용을 CSV로 내려받기 가능 |
함수 연동 | Netlify Functions를 트리거하여 복잡한 후속 처리 실행 |
분할 테스팅은 A/B 테스팅 또는 다변량 테스팅으로도 알려져 있으며, 사이트 방문자들을 여러 그룹으로 나누어 서로 다른 버전의 콘텐츠나 기능을 제공하고 그 성과를 비교하는 실험 방법이다. Netlify에서는 이를 'Netlify Split Testing' 기능을 통해 손쉽게 구현할 수 있다. 이 기능은 Git 브랜치를 기반으로 작동하여, 서로 다른 브랜치에 배포된 사이트 버전을 특정 비율의 트래픽에 할당한다.
실행 방법은 간단하다. 먼저, 실험에 사용할 여러 버전의 사이트 코드를 각각 별도의 Git 브랜치(예: main, experiment-header)에 푸시한다. Netlify 대시보드의 '분할 테스팅' 섹션에서 실험을 활성화하고, 참여시킬 브랜치를 선택한 후 각 브랜치에 할당할 트래픽의 비율(예: 50%/50%)을 설정하면 된다. 이후 Netlify는 자동으로 사용자를 정의된 비율에 따라 각 버전의 사이트로 라우팅한다.
분할 테스팅의 결과는 Netlify 분석 또는 제삼자 분석 도구(예: Google Analytics)를 통해 측정할 수 있다. 실험의 목표에 따라 전환율, 체류 시간, 이탈률 등 주요 지표를 비교하여 어떤 버전이 더 나은 성과를 내는지 판단한다. 충분한 데이터가 수집되면 우세한 버전을 선택하여 실험을 종료하고, 해당 브랜치를 프로덕션 브랜치(일반적으로 main)에 병합하여 모든 트래픽을 최적화된 버전으로 전환할 수 있다.
실험 요소 | 예시 A 버전 | 예시 B 버전 |
|---|---|---|
헤더 문구 | "무료 체험 시작하기" | "지금 바로 가입하기" |
버튼 색상 | 녹색 | 파란색 |
할당 트래픽 | 50% | 50% |
측정 지표 | 가입 폼 제출률 | 가입 폼 제출률 |
이 접근 방식을 통해 UI 변경, 마케팅 복사본, 새로운 기능 출시 등에 대한 의사 결정을 데이터에 기반하여 내릴 수 있다. Netlify의 분할 테스팅은 별도의 복잡한 인프라 구성 없이도 정적 사이트에서도 손쉽게 실험 문화를 도입할 수 있게 해준다.

Netlify는 전 세계에 분산된 CDN을 통해 사이트의 정적 자산을 효율적으로 제공함으로써 성능을 극대화한다. 모든 배포는 자동으로 Netlify의 글로벌 에지 네트워크에 캐싱되며, 사용자 요청은 지리적으로 가장 가까운 에지 노드에서 처리된다. 이를 통해 레이턴시를 최소화하고 페이지 로딩 속도를 크게 향상시킨다. 또한, HTTP/2 및 TLS 1.3과 같은 최신 프로토콜을 기본적으로 지원하여 연결 효율성과 보안성을 높인다.
이미지 최적화를 위해 Netlify는 별도의 변환 도구를 제공한다. Netlify의 이미지 CDN인 'Image CDN'은 자동으로 이미지 포맷을 최신 형식(WebP 또는 AVIF)으로 변환하고, 적절한 크기로 리사이징하며, 지연 로딩을 적용한다. 개발자는 간단한 URL 매개변수를 추가하는 것만으로도 이러한 변환을 요청할 수 있어, 원본 이미지 파일을 수정하지 않고도 최적화된 버전을 제공할 수 있다.
성능 모니터링과 관련하여 Netlify Analytics는 사이트의 성능 데이터를 실시간으로 제공한다. 여기에는 페이지뷰, 고유 방문자 수, 그리고 Core Web Vitals 지표인 LCP, FID, CLS에 대한 리포트가 포함된다. 이를 통해 개발자는 성능 병목 현상을 식별하고 개선할 수 있다.
최적화 기능 | 설명 | 이점 |
|---|---|---|
글로벌 CDN | 자동 배포 및 캐싱을 위한 전 세계 에지 노드 네트워크 | 낮은 레이턴시, 높은 가용성, 빠른 콘텐츠 전송 |
이미지 CDN | 온더플라이 이미지 포맷 변환, 리사이징, 최적화 | 대역폭 절감, 로딩 속도 향상, 사용자 경험 개선 |
에지 기능 | Netlify Functions를 에지 네트워크에서 실행 | 서버리스 기능의 응답 시간 단축, 동적 콘텐츠 처리 가속화 |
사전 렌더링 | SPA의 경우 미리 페이지를 렌더링하여 정적 파일로 제공 | 검색 엔진 최적화(SEO) 향상 및 초기 로드 성능 개선 |
Netlify는 글로벌 콘텐츠 전송 네트워크를 활용하여 정적 사이트의 성능과 가용성을 극대화합니다. 이 CDN은 전 세계 수십 개의 에지 노드로 구성되어 있으며, 사용자의 지리적 위치에 가장 가까운 노드에서 사이트 콘텐츠를 제공합니다. 이를 통해 지연 시간을 최소화하고 페이지 로딩 속도를 크게 향상시킵니다. 모든 배포는 기본적으로 이 CDN을 통해 자동으로 전 세계에 배포되며, 별도의 설정 없이도 이점을 누릴 수 있습니다.
에지 네워크의 핵심은 지능형 프리패칭과 에지 로직입니다. Netlify의 CDN은 사이트 탐색 중에 다음에 방문할 가능성이 높은 페이지를 예측하여 미리 캐싱합니다. 또한, Netlify Functions를 에지에서 실행할 수 있어, 정적 콘텐츠와 동적 서버리스 기능을 같은 네트워크 내에서 저지연으로 처리할 수 있습니다. 이는 전통적인 중앙 집중식 서버 아키텍처와 대비되는 JAMstack의 주요 장점을 실현합니다.
성능 최적화를 위한 구체적인 기능으로는 자산 최적화가 있습니다. Netlify는 배포 과정에서 JavaScript와 CSS 파일을 압축하고, 불필요한 공백을 제거하며, 브라우저 캐싱을 위한 최적의 헤더를 자동으로 설정합니다. 또한, HTTP/2 및 TLS 1.3과 같은 최신 프로토콜을 지원하여 전송 효율성과 보안을 함께 강화합니다.
최적화 영역 | Netlify CDN의 역할 |
|---|---|
전송 속도 | 사용자 근처의 에지 노드에서 콘텐츠 제공 |
가용성 | 전 세계 분산 노드로 장애 조치 및 부하 분산 |
기능 실행 | Netlify Functions를 에지 네트워크에서 실행 |
프로토콜 | |
캐싱 전략 | 지능형 프리패칭 및 영구적 애셋 캐싱 |
Netlify는 자동화된 이미지 최적화 기능을 제공하여 개발자가 별도의 복잡한 설정 없이도 웹사이트의 이미지 성능을 개선할 수 있게 합니다. 이 기능은 CDN을 통해 전달되며, 요청 시점에 이미지를 변환하고 최적화합니다.
주요 최적화 기술로는 이미지 포맷 자동 변환, 크기 조정, 지연 로딩 적용이 있습니다. 예를 들어, 브라우저가 WebP 형식을 지원하면 자동으로 해당 형식으로 변환하여 제공합니다. 또한 srcset 속성을 자동 생성하여 디바이스의 화면 크기에 맞는 적절한 해상도의 이미지를 로드하도록 합니다. 이를 통해 불필요한 대역폭 사용을 줄이고 로딩 속도를 향상시킵니다.
사용 방법은 간단하며, 기존 HTML 이미지 태그(<img>)의 src 속성 경로를 Netlify의 이미지 최적화 URL로 변경하기만 하면 됩니다. 설정을 통해 이미지 품질 수준, 허용되는 최대 너비 등을 제어할 수 있습니다.
최적화 기능 | 설명 | 비고 |
|---|---|---|
형식 변환 | 브라우저 지원에 따라 결정 | |
반응형 이미지 |
| 다양한 디스플레이 크기에 대응 |
지연 로딩 |
| 뷰포트 바깥 이미지의 로딩을 지연 |
크기 조정 | URL 쿼리 파라미터를 통해 실시간 리사이징 지원 |
|
이러한 최적화는 Core Web Vitals 지표 중 하나인 Largest Contentful Paint를 개선하는 데 직접적으로 기여하여, 사용자 경험과 검색 엔진 최적화 순위에 긍정적인 영향을 미칩니다.

Vercel은 Next.js를 만든 팀에서 개발한 플랫폼으로, Netlify와 가장 직접적으로 경쟁합니다. React, Vue, Svelte 등 현대적인 자바스크립트 프레임워크에 대한 최고 수준의 지원과 개발자 경험을 제공하는 것이 특징입니다. 특히 Next.js의 서버 사이드 렌더링(SSR)과 증분 정적 재생성(ISR) 같은 동적 기능을 기본적으로 완벽하게 지원합니다. 배포 속도와 개발 워크플로우의 간소화에 강점을 보이며, 프리티어의 대역폭과 기능 제한이 비교적 관대한 편입니다.
GitHub Pages는 GitHub 저장소와 직접 통합된 완전 무료 정적 호스팅 서비스입니다. Jekyll 같은 정적 사이트 생성기를 사용하거나, 직접 작성한 HTML, CSS, 자바스크립트 파일을 배포하는 데 적합합니다. 설정이 매우 간단하고 사용량 제한 없이 무료로 이용할 수 있다는 장점이 있습니다. 그러나 서버리스 함수, 고급 형태 처리, CDN 성능 최적화 도구 등 JAMstack 애플리케이션을 위한 고급 기능은 부족합니다. 사용자 지정 도메인에 HTTPS를 지원하지만, 빌드 프로세스와 환경 변수 관리에 있어 Netlify나 Vercel에 비해 유연성이 떨어집니다.
다른 대체 서비스로는 AWS Amplify, Firebase Hosting, Cloudflare Pages 등이 있습니다. 각 플랫폼은 고유한 강점을 가지고 있습니다.
서비스 | 주요 특징 | 적합한 사용 사례 |
|---|---|---|
현대 프레임워크 최적화, 뛰어난 개발자 경험, 빠른 배포 | ||
완전 무료, GitHub과의 단순 통합 | 개인 프로젝트, 문서, 포트폴리오, 간단한 정적 사이트 | |
AWS 생태계와의 깊은 통합, 풍부한 백엔드 서비스 | AWS 서비스를 광범위하게 사용하는 엔터프라이즈 애플리케이션 | |
Firebase를 백엔드로 사용하는 모바일 또는 웹 앱 | ||
Cloudflare의 글로벌 에지 네트워크, 우수한 성능, 무료 계층의 넉넉한 제한 | 전 세계적으로 빠른 액세스가 필요한 정적 사이트 및 JAMstack 앱 |
선택은 프로젝트의 기술 스택, 필요한 고급 기능, 예산, 그리고 기존에 사용 중인 클라우드 생태계에 따라 달라집니다.
Vercel은 Next.js를 만든 팀이 개발한 프론트엔드 클라우드 플랫폼이다. 주로 JAMstack 아키텍처와 서버리스 함수를 위한 배포 및 호스팅에 특화되어 있으며, 특히 Next.js, Nuxt.js, Gatsby와 같은 현대적 정적 사이트 생성기 및 메타프레임워크와의 통합이 뛰어나다. Netlify와 마찬가지로 Git 저장소와의 연동을 통한 지속적 배포, 글로벌 CDN 제공, 자동 HTTPS 인증서 발급 등의 핵심 기능을 공유한다.
주요 차이점은 프레임워크 지원과 개발자 경험에 있다. Vercel은 자사 제품인 Next.js에 최적화되어 있으며, 프리뷰 배포, 에지 네트워크에서의 서버 사이드 렌더링(SSR) 및 점진적 정적 재생성(ISR)과 같은 고급 기능을 기본적으로 제공한다. 반면, Netlify는 다양한 정적 생성기와의 호환성에 중점을 두고 있으며, Netlify Functions 외에도 폼 처리, 분할 테스팅과 같은 내장 기능이 풍부하다.
비교 항목 | Vercel | Netlify |
|---|---|---|
주요 강점 | Next.js 및 메타프레임워크 최적화, 에지 기능 | 다양한 정적 사이트 생성기 지원, 내장 기능 풍부 |
서버리스 함수 | Vercel Functions (Node.js, Python, Go 등) | Netlify Functions (Node.js, Go) |
고급 배포 기능 | 프리뷰 배포, ISR, 미들웨어 | 분할 테스팅(A/B 테스트), 롤백 |
무료 티어 | 대역폭 100GB/월, 함수 실행 시간 100GB-시간/월 | 대역폭 100GB/월, 함수 실행 시간 100시간/월 |
선택은 프로젝트의 기술 스택과 요구사항에 따라 달라진다. Next.js를 사용한 고성능 애플리케이션을 구축한다면 Vercel이 더 매끄러운 통합을 제공한다. 반면, Hugo, Jekyll, Eleventy 등 다양한 생성기를 사용하거나 폼 처리, 분할 테스팅 같은 내장 기능을 중시한다면 Netlify가 적합할 수 있다. 두 플랫폼 모두 우수한 개발자 경험과 강력한 무료 티어를 제공한다.
GitHub Pages는 GitHub에서 제공하는 무료 정적 사이트 호스팅 서비스입니다. 사용자는 Git 저장소를 이용하여 HTML, CSS, JavaScript 파일로 구성된 웹사이트를 간편하게 배포하고 관리할 수 있습니다. 특히 오픈 소스 프로젝트, 개인 포트폴리오, 기술 블로그, 프로젝트 문서 등을 호스팅하는 데 널리 사용됩니다.
GitHub Pages는 사용 편의성과 무료 요금제로 인해 개발자 커뮤니티에서 인기가 높습니다. 배포 과정은 매우 직관적이며, 저장소에 코드를 푸시하는 것만으로 자동으로 사이트가 빌드되고 게시됩니다[3]. 주요 설정은 저장소의 gh-pages 브랜치를 사용하거나, 특정 브랜치(예: main)의 /docs 폴더 또는 루트를 게시 소스로 지정하는 방식으로 이루어집니다. Jekyll이라는 정적 사이트 생성기를 기본적으로 지원하여 마크다운 기반의 블로그 작성에도 용이합니다.
기능 | 설명 |
|---|---|
호스팅 유형 | 정적 사이트 전용 |
가격 | 공개 저장소 기준 완전 무료 |
사용자 저장소 사이트 |
|
프로젝트 사이트 |
|
맞춤 도메인 | 지원 (DNS 설정 필요) |
HTTPS | 맞춤 도메인 포함 기본 제공 |
대역폭/트래픽 제한 | GitHub 서비스 약관에 따름[4] |
그러나 GitHub Pages는 서버 측 로직을 실행할 수 없는 순수 정적 호스팅 서비스라는 한계가 있습니다. Netlify Functions나 Vercel Serverless Functions와 같은 서버리스 기능을 기본적으로 제공하지 않으며, 빌드 과정에서의 고급 사용자 지정이나 CDN 구성의 유연성 측면에서 Netlify나 Vercel 같은 전문 플랫폼보다 제한적일 수 있습니다. 따라서 복잡한 빌드 프로세스나 동적 기능이 필요한 프로젝트보다는 비교적 단순한 정적 사이트 배포에 최적화되어 있습니다.
