침착맨은 자신의 팬 사이트 침하하.net를 개설하고 생각보다 높은 운영비 (월 500만원+)에 당황한 모습을 보였는데...
왜 침하하 같은 사이트의 운영비는 비쌀 수 밖에 없을까? 짧은 분석:
침하하 사이트는 일반적인 게시판 사이트다. 아주 기본적인 게시판 사이트의 구조는 아래와 같고, 여기서 과금이 되는 요소들은:
🌐 사이트 접속 시 흐르는 "트래픽"
🖥️ 웹 요청을 처리하는 "서버"
🛢️ 게시글, 코멘트, 회원 등 데이터를 저장하는 "디비"
📁 이미지/움짤을 저장하는 "디스크"
(따지고 보면 1: "디비"는 "서버"와 "디스크"를 특정하게 활용하는 방법이지만 서버와 디비를 따로 돌리는 구조는 흔하고
스케일링의 장점도 있으니 분리해 계산해 보겠다)
(따지고 보면 2: 서버와 디비/디스크 역시 통신을 하니 "트래픽" 과금이 있을 때도 있지만, 상황에 따라 (e.g. 같은 리전) 무료인 경우도 있음으로
과금 요소에서 제외)
당연한 말이지만 총과금은 사이트의 사용량에 비례하는데, 또 당연한 말이지만 침하하 운영팀이 아니면 사용량을 알기는 어렵다.
침하하 사이트를 둘러보며 얻을 수 있는 정보로는:
• URL로 (e.g. chimhaha.net/pet/88729) 총 게시글 수를 파악이 가능하다. 2023-01-04 기준 ~9.5만개의 게시글.
• 하루에 ~1500개 정도의 게시글이 등록된다. • 대부분 게시글에는 이미지가 포함되어있고, 특히 "베스트글"은 대부분 이미지가 있다.
게시글 방문시 400KB에서 코멘트/이미지/움짤이 많으면 100MB 까지도 (...) 트래픽을 받게된다.
여기서 "📁 디스크" 과금을 유추해보자. 평균적으로 게시글 당 약 2MB 이미지를 저장한다고 가정해보면:
2 MB * 9.5만 ~= 200GB 대표적인 스토리지 클라우드 서비스들을 가격을 참고해 1GB/월 20원 정도 과금을 한다고 치면:
200GB * 20원/GB = 4천원/월
(따지고 보면 3: AWS S3같은 오브젝트 스토리지 경우 "업로드" 요청 역시 돈을 내지만, 업로드당 0.005원 정도여서
큰 과금 포인트는 아닐거라 예상한다)
침하하는 오픈한지 2개월 밖에 안되었고, 디스크 사용량은 계속 늘어날 것이다. 지금 페이스라면 1년에 거의 5TB (= 8만원/월) 정도의 디스크를
사용하게 될 텐데, 가격에 점점 부담이 올때 오래된 이미지는 더 저렴한 상품으로 옴기는 방식으로 운영을 할거라 예상한다.
나머지 과금 요소들은 사이트 사용자에 비례해서 과금이 부여된다. 총 방문자 수 같은 경우 similarweb.com 같은 툴을 사용해 유추해보면:
월 100만 방문자 25 페이지 / 방문 = 월 2500만 페이지 방문
🖥️ 서버와 🛢️디비 비용은 유추하기가 쉽지않다. 무슨 게시판 소프트웨어를 쓰는지도 모르고 최적화는 어떻게 했는지도 모른다.
페이지 요청 양을 보면 적어도 월 2500만 페이지뷰 (= ~10 req/s), 서비스 특성상 피크 시간이 있다보니 넉넉한 서버 사양이 필요하다.
고성능 🖥️서버 한대는 한달에 50-100만원은 우숩게 넘어간다. 좋은 성능의 🛢️디비 가격도 비슷하게 만만하지 않다.
서버 가격은 천차만별이지만 🖥️서버/🛢️디비에만 100-200만원 정도 운영에 쓸거라 예상해보자.
마지막 🌐 "트래픽" 과금. 침하하 같은 이미지 공유가 많은 사이트는 트래픽 과금이 부담될 수 밖에 없다.
좀 전 사용한 월 2500만 페이지 방문과 게시글당 2MB 계산만 해도 벌써 50TB라는 수치가 나온다.
트래픽 과금의 방식은 종류가 많지만, 대충 100원/GB으로 계산해도 500만원이 넘는다.
하지만 실제로 이런 트래픽을 감당하며 운영할리는 없다. 게시판 사이트 처럼 이미지 사용량이 높은 사이트는
대부분 Content Delivery Network (CDN)을 사용한다. 쉽게 말하면 이미지/비디오 같은 자료를 CDN 서비스에 "저장"해 두어
서버에서 발생하는 트래픽 사용을 대폭 줄이는 방식이다.
CDN 서비스 종류 역시 다양한데, 그 중 Cloudflare CDN는 "트래픽 사용량 무료"라는 대단한 과금 정책을 시행하고 있다.
여담으로 나는 이 과금 정책이 믿기지 않는다. 대부분 CDN 서비스는 100원/GB 과금을 한다. Cloudflare CEO가 직접 "해명"을 하기도 했지만...
(https://webmasters.stackexchange.com/questions/88659/how-can-cloudflare-offer-a-free-cdn-with-unlimited-bandwidth)
서버 응답 해더를 보면 침하하 사이트는 이미 Cloudflare CDN을 사용하는 것을 확인 할 수 있다:
Cloudflare CDN을 사용한다 한들, 캐슁이 매번 적중할 순 없으니 약 90% hit rate으로 계산을 해보면 이미지 관련 트래픽 과금은:
50 TB * 0.10 = 5 TB
프로필/게시글/코멘트는 CDN활용을 안한다 보고 당 20KB의 데이터을 전송한다는 가정을 하면 2500만 * 20KB ~= 500GB
100원/GB이면 월 ~55만원.
종합:
🌐 트래픽 = 55만원
🖥️ 서버 = 50-100만원
🛢️ 디비 = 50-100만원
📁 디스크 = 1만원
아주 긍정적이고 소극적인 계산으로도 ~156-266만원이나 나온다.당연한 소리지만 이건 재미로 하는 계산이다.
모든 계산, 특히 🖥️서버와 🛢️디비 비용은 근거가 아주 얄팍하다.
🌐 트래픽 📁디스크 계산도 행복 회로를 가동해 어뷰져, ddos 등 실제 겪는 문제는 완벽하게 배제했다.
실제 침하하 개발자 분들은 운영에 많은 고민과 투자를 하실 거라 생각한다.
비용을 줄일 방법은 없을까? 사실 특정 게시판 소프트웨어에 묶인 이상 🖥️서버와 🛢️디비 비용을 획기적으로 줄이긴 어려울 것 같다.
개발에 더 투자해 최적화 작업을 할 순 있지만, 사실 개발자가 제일 비싸다.
침하하의 역사성 ("웃음의 알렉산드리아 도서관")을 생각하면 투자할만 할 수도.
트래픽 부분은 Cloudflare의 Bandwidth Alliance에 속한 클라우스 서비스로 호스팅 이전을 하면 더 아낄 수 있을지 않을 까 한다.
AWS가 아닌 GCP를 쓰기만 해도 트래픽 과금의 20-50%를 아낄 수 있고, Vultr 서버의 경우 아예 과금이 없다! https://www.cloudflare.com/bandwidth-alliance/
===============================================
일부 개발용어가 있지만 전반적으로 비개발자분들도 이해하기 쉬운 내용으로 잘 정리해주셨길래 가져와봅니다.
출처: https://typefully.com/dylayed/c07KWRo