나는 2년간 같은 질문을 스스로에게 세 번쯤 던졌다. “이 블로그, 그냥 Ghost나 Substack으로 옮겨버릴까?” 그때마다 스프레드시트를 꺼내 5년 비용을 찍어보고, 결국 이미 돌아가고 있는 오피스 Xeon 서버 위에 얹는 Self-host 구성으로 돌아왔다. 이 글은 그 결정의 근거를 숫자와 시간으로 정리한 것이다. 1인 개발자·창업가 관점에서 쓴 글이라, 팀이 있는 회사에는 다른 답이 나올 수 있다.
블로그를 시작할 때 마주치는 4가지 선택지
개발자·인디해커 블로그에 실제로 쓰이는 스택은 4가지로 압축된다. 대다수 글이 앞 세 개만 소개하는데, 네 번째가 1인 개발자에게 가장 마진이 크다.
- ① VPS Self-host WordPress: Vultr·DigitalOcean·Oracle Cloud Free Tier에 LAMP 스택을 올리고 Cloudflare를 앞단에 두는 구성. 월 $5~$40.
- ② Managed WordPress: WP Engine·Kinsta·Cafe24 매니지드 호스팅. 설치·백업·보안·CDN을 플랫폼이 책임진다. 월 $25~$100.
- ③ SaaS 블로그 플랫폼: Ghost(Pro)·Substack·Medium·Wix. 코드 접근을 포기하는 대신 운영 부담이 거의 0. 월 $9~$36.
- ④ 홈서버·오피스 서버 Self-host + Cloudflare Tunnel: 이미 돌리고 있는 물리 서버에 WordPress를 얹고, 공인 IP 없이 Cloudflare Tunnel로 외부 노출. 하드웨어가 이미 있으면 월 고정비가 전기값 수준.
④번은 조건이 따른다. 어차피 다른 용도로 서버를 돌리고 있어야 한다. 블로그만을 위해 서버를 새로 맞춘다면 전기값·소음·UPS까지 더해 오히려 VPS보다 비싸진다. 내 케이스는 ④번이 맞았다.
5년 TCO 비교 (내 기준 추정)
블로그 비교 글 대부분이 “월 $10짜리가 제일 싸요” 정도로 끝난다. 5년을 시뮬레이션해야 진짜 비교가 된다. 트래픽을 월 0→1만→10만 PV 가정으로 단계별로 그려보자.
- ① VPS Self-host: 초기 2년 월 $5~$7, 10만 PV 구간 월 $20~$40. 5년 총 약 $600~$1,500 + 도메인.
- ② Managed WP: 월 $25~$200. 5년 총 약 $3,000~$9,000.
- ③ Ghost Pro / Substack / Wix: 월 $9~$36. 5년 총 약 $540~$2,160 + 수익 수수료 (Substack 10%).
- ④ 홈서버 Self-host + Cloudflare Tunnel: 추가 전력비 월 $3~$5, 도메인 연 $12~$15, Cloudflare Tunnel 무료. 5년 총 약 $180~$360. 하드웨어는 어차피 돌리고 있으니 증분비용만 계산.
숫자만 보면 ④번이 압도적으로 싸다. 하지만 TCO는 돈뿐 아니라 운영 리스크도 포함한다. 그게 다음 섹션이다.
1인 개발자 관점의 트레이드오프 3축
돈 비교만으로 선택을 끝내면 보통 1년 안에 후회한다. 내가 세 번 뒤집어 본 결론은, 아래 세 축을 각자 시간 비용으로 환산해야 한다는 것이다.
- ① 시간 vs 돈: 개발자 시간 단가를 시간당 $30~$100으로 잡으면, Self-host 유지에 드는 연간 10~20시간은 이미 $300~$2,000의 잠재 기회비용. 본업에 쓸 시간이 빠듯하면 Managed가 진짜 더 싸다.
- ② 유연성 vs 안정성: Self-host는 AdSense 코드 직접 삽입·mu-plugin 커스텀·SEO 플러그인 자유 설치가 가능하다. SaaS는 플랫폼 허용 범위 안에서만 움직인다. Substack은 AdSense를 못 붙인다.
- ③ 가용성 책임: Managed·SaaS는 다운타임이 플랫폼 이슈다. VPS Self-host는 전부 내 책임. 홈서버 Self-host는 한 단계 더 — 인터넷 회선 끊김, 정전, 공유기 리부팅까지 모두 장애 범주에 들어온다. Cloudflare Tunnel이 포트포워딩·고정 IP 문제는 지워주지만, 전력·회선 단일 장애점까지 지워주진 않는다.
내 실제 구성: 오피스 Xeon + Cloudflare Tunnel
내 운영 구성은 이렇다. 사무실에서 원래 돌리고 있던 Xeon 서버에 WordPress(+ GeneratePress + AdSense/Site Kit)를 얹고, 외부 공개는 Cloudflare Tunnel로 뺀다. 공인 IP·포트포워딩·DynDNS 없이 Cloudflare가 연결 지점을 대신해준다.
- 하드웨어: Xeon E5-2680 v4, 32GB RAM, SSD 6TB. 블로그 전용이 아니라 다른 워크로드와 공유.
- 블로그가 차지하는 비중: CPU·RAM 기준 5% 미만. Docker 컨테이너로 격리.
- 월 증분 비용: 전기값 약 ₩4,000, 도메인 상각 약 ₩2,000, Cloudflare Tunnel 무료. 총 월 6천 원 수준.
- 구축 시간: 약 3~4시간. Cloudflare Tunnel 설치·WP 복원·플러그인·광고까지.
- 한 달 관리 시간: 2~3시간 플러그인 업데이트·백업 확인·Rank Math 점검.
Cloudflare Tunnel을 선택한 이유는 세 가지다.
- 공인 IP가 필요 없고, 공유기 설정을 건드리지 않는다. ISP가 CGNAT를 쓰더라도 동작한다.
- 오리진 서버가 직접 노출되지 않아 IP 기반 공격면이 줄어든다. SSL 인증서도 Cloudflare가 발급·갱신한다.
- WAF·Bot Management·Cache·지역 차단까지 동일 Cloudflare 대시보드에서 관리된다. 단, Bot Fight Mode는 반드시 OFF — Google·AdSense 봇까지 막아 수익이 0이 되는 사고가 가장 흔하다.
누구에게 무엇을 추천하나
상대화된 답을 피하자. 구체적 페르소나로 답한다.
- “본업 9-to-6, 블로그에 월 10시간도 못 빼는 파트타임” → Ghost Pro. 돈으로 시간을 산다. 수익화는 어필리에이트·뉴스레터 위주.
- “개발 배경 있고 인디 제품 운영 중, 블로그가 제품 홍보 채널” → VPS Self-host WordPress. 제품과 블로그를 같은 도메인 서브패스에 둘 수 있고, 수익화 수단을 자유롭게 섞을 수 있다.
- “오직 글만 쓰고 싶은 작가” → Substack. 구독자 리스트가 자산이 되고, 이메일 인프라가 기본.
- “이미 홈서버·오피스 서버를 돌리는 개발자” → 홈서버 + Cloudflare Tunnel. 증분 비용이 전기값 수준이고, 재시도 실험 비용이 0에 가깝다. 단, 전원·인터넷 단일 장애점 허용 가능할 때만.
- “가용성 SLA 99.9% 이상 필요” → 위 4번은 피하고 Managed WP 또는 VPS + 이중화로 가자.
요약: 월 비용표만 비교하면 Self-host가 이긴다. 시간 단가를 넣으면 순위가 뒤집힌다. 거기에 이미 돌아가는 서버가 있는가라는 조건 하나가 더 들어가면 판은 또 달라진다. 본인의 출발 조건(시간·하드웨어·가용성 요구)을 먼저 정의하고, 수익화 방식(AdSense·어필리에이트·구독)까지 엮어서 5년 TCO를 그려보자. 숫자가 답을 내준다.
다음 편 예고: 다음 주 화요일에는 “1인 개발자가 쓰는 SEO 툴 5가지 (무료 + 유료 비교)”를 공개합니다. 블로그를 세팅한 뒤 트래픽을 붙이는 단계에서 실제로 쓰는 툴 스택을 예산대별로 정리할 예정입니다.