이 사이트를 DigitalOcean 대신 Cloudflare로 배포한 이유 (실제 비용 대조)

·

블로그나 사이드 프로젝트를 배포하려고 검색하면 DigitalOcean Droplet이 자주 추천된다. 이 사이트(duckpipe.com)는 실제로 다른 선택을 했다 — Cloudflare Workers 무료 플랜이다. 왜 그런지 실제 설정과 공식 요금제로 비교했다.

실제로 쓰고 있는 설정

이 사이트의 wrangler.jsonc 배포 설정 일부다.

{
  "name": "duckpipe",
  "assets": {
    "directory": "./dist",
    "binding": "ASSETS"
  },
  "d1_databases": [
    {
      "binding": "DB",
      "database_name": "duckpipe-metrics"
    }
  ]
}

Astro로 빌드한 정적 파일(dist/)을 그대로 서빙하고, 운영 대시보드용 소량 데이터만 D1(Cloudflare의 서버리스 SQL 데이터베이스)에 저장한다. 상시 실행되는 서버 프로세스는 없다.

Cloudflare Workers 무료 플랜 한도

공식 developers.cloudflare.com/workers/platform/pricing를 확인했다.

항목무료 플랜 한도
요청 수하루 100,000건
CPU 시간호출당 10ms
정적 자산 서빙무료·무제한, 요청 한도 계산에서 제외
D1 저장 용량5GB
D1 일일 읽기/쓰기500만 읽기 / 10만 쓰기

핵심은 “정적 자산 서빙은 무료·무제한”이라는 부분이다. 블로그 본문처럼 방문자가 늘어도 서버 코드가 도는 게 아니라 파일을 그대로 내려주는 구조라, 이 사이트처럼 트래픽이 적은 초기 단계에서는 사실상 $0로 운영된다.

DigitalOcean Droplet 요금제

공식 digitalocean.com/pricing/droplets를 확인했다.

요금제최저가
Basic Droplet월 $4 (512MiB·1vCPU·10GiB SSD)
CPU-Optimized월 $42부터
General Purpose월 $63부터

가장 저렴한 옵션도 월 $4가 고정으로 나간다. 트래픽이 0이어도 서버가 켜져 있는 시간만큼 과금되는 구조이기 때문이다. 2026년 1월부터 초 단위 청구로 바뀌었지만(최소 60초 또는 $0.01 중 높은 쪽), 이건 짧게 켰다 끄는 배치 작업 같은 용도에 유리한 변화고, 24시간 켜둬야 하는 웹사이트에는 큰 차이가 없다.

그래서 언제 뭘 쓰나

상황맞는 선택
정적 블로그·랜딩페이지, 트래픽 적음~중간Cloudflare Workers 무료~저가 플랜
백그라운드에서 상시 도는 작업(크론·큐), 특정 런타임 종속 서버 코드DigitalOcean Droplet 같은 상시 서버
DB를 직접 운영하고 싶다(관리형이 아닌)DigitalOcean(자체 Postgres/MySQL 설치)
서버리스로 충분한 소량 데이터 저장Cloudflare D1

이 사이트는 정적 콘텐츠 + 소량 데이터라는 조건에 정확히 맞아서 Workers 무료 플랜으로 충분했다. 반대로 상시 백그라운드 작업이 필요한 프로젝트였다면 이 선택은 안 맞았을 것이다.

정리

항목Cloudflare Workers (무료)DigitalOcean Droplet (최저가)
월 고정비$0$4
정적 자산 서빙무료·무제한트래픽과 무관하게 서버비 고정 발생
상시 서버 프로세스없음있음(항상 켜져 있음)
적합한 경우정적 사이트, 가벼운 APIDB 직접 운영, 백그라운드 작업

트래픽이 적은 초기 단계의 정적 사이트라면, 서버를 띄우기 전에 무료 플랜으로 되는지부터 확인하는 게 순서다.

자주 묻는 질문

정적 사이트인데 왜 서버(Droplet)가 필요 없나요?

이 사이트는 Astro로 빌드한 정적 HTML/CSS/JS 파일을 Cloudflare Workers의 Static Assets 기능으로 서빙합니다. 서버가 요청마다 페이지를 새로 만드는 게 아니라 이미 만들어진 파일을 그대로 전달하는 구조라, 상시 실행되는 서버 프로세스가 필요 없습니다. DigitalOcean Droplet은 반대로 서버가 항상 켜져 있어야 하는 구조라, 정적 사이트에도 서버 비용이 계속 나갑니다.

그럼 DigitalOcean이 필요한 경우는 언제인가요?

데이터베이스를 직접 운영하거나, 백그라운드에서 계속 도는 작업(크론, 큐 처리)이 필요하거나, 특정 런타임·라이브러리에 종속된 서버 코드를 돌려야 할 때는 Droplet 같은 상시 실행 서버가 맞습니다. 이 사이트도 D1(Cloudflare의 서버리스 DB)로 소량의 운영 데이터를 저장하지만, 상시 실행 서버가 필요한 수준은 아니라서 Workers만으로 충분합니다.

무료 한도를 넘으면 어떻게 되나요?

Cloudflare Workers 유료 플랜은 월 $5부터 시작하며 요청 한도가 크게 늘어납니다. 이 글 작성 시점 기준 이 사이트의 실제 트래픽은 무료 한도의 일부만 쓰고 있어 유료 전환 시점은 아직 멀었습니다.

#Cloudflare#DigitalOcean#배포#호스팅#비용