본문 바로가기
개발 일지

배포 및 운영 비용

by 그랴 2023. 1. 10.

현재 진행 중인 프로젝트를 배포해야 하는데, 토이 프로젝트가 아니라 연구 과제 느낌..? 이다. 그렇기 때문에 서버비나 향후 유지보수 등까지 고려해야 한다. 또한 비개발자 분들도 함께 참여하고 있어 이에 대한 배경 지식이 부족하기 때문에 (물론 나도 부족하지만...) 나도 공부할 겸 정리를 해보았다. 나 또한 제대로 알아본 것은 처음이기 때문에 잘못된 내용이 있을 수도 있다. 내 블로그 읽는 사람 없을 것 같긴 하지만 혹시 잘못된 내용이 있으면 지적해주십사...

 


사이트 구조

먼저 우리 팀이 개발하고 있는 서비스는 쉽게 말하면 계산기 프로그램이다. 따라서 아래와 같은 구조로 이루어져있다고 생각했다.

 

  • 트래픽 : 네트워크 장치에서 일정 시간 내에 흐르는 데이터의 양
  • 서버 : 웹 요청 처리
  • DB : 회원 데이터 저장

 

 

 

 

총 과금은 사이트의 사용량에 비례한다. 이 때 생각해봐야 할 과금 항목들은 회원 수, 월 평균 로그인, 로그인 시 평균 페이지 뷰, 평균 데이터 전송량, 메모리, 실행시간 등이 있다. 이건 서비스의 특성에 따라 달라질 것 같다.

 

웹 서버를 구축하는 방법

웹 서버를 구축하는 방법은 크게 2가지로 나눌 수 있다.

  1. 자체 시설 내 구축
    • 데이터 센터나 서버실에 서버를 두고 직접 관리
    • 서버, 네트워크 장비, OS, 스토리지, 각종 솔루션 등을 직접 사서 설치하고 관리 (+ 유지보수)
    • 극히 일부의 대기업이나 준 대기업에서 사용
    • 구축하는 방법 예시 (https://yoons-family.tistory.com/296)
    • 유리한 경우
      • 사용자가 한정되어 있고 트래픽을 예측하기 쉬운 서비스 (ex. 회사 직원용 시스템)
      • 클라우드 업체가 보장하는 것 이상의 가용성이 필요한 시스템
      • 기밀성이 높은 데이터를 다루는 경우
  2. 임대 서버 & 클라우드 서비스
    • 인터넷을 통해 불특정 다수에게 서비스 형태로 제공
    • 업체의 데이터 센터와 인프라 이용
    • 서버의 구성, 소프트웨어의 설치 및 설정은 직접 해야 함
    • 이용한 시간이나 데이터 양에 따라 비용 지불
    • 유리한 경우
      • 트래픽을 예상하기 어려운 대외 서비스
      • 시스템 운영이 끊기면 안되는 서비스
      • 초기 투자금이 적은 스타트업, 개인 개발자

출처 : 그림으로 배우는 웹 구조, 영진닷컴 / https://futurecreator.github.io/2018/11/09/it-infrastructure-basics/

 

임대 서버

  • 장점
    • 쉽고 간편함
  • 단점
    • 비쌈
    • 서버 구성의 자유도가 한정적임
  • 예시 : pythonanywhere, heroku, netlify 등

 

클라우드 서비스

  • 장점
    • 저렴함
    • 서버 구성의 자유도가 높음
  • 단점
    • 인프라 공부가 필요함
  • 예시 : aws, Microsoft Azure, Google Cloud Platform

 

서비스별 비용

이 부분은 우리 팀의 서비스에 맞춰서 알아본 것이다. 

 

AWS EC2 온디맨드

 

AWS lambda

  • 서버리스
    • 단순 요청-응답을 처리하는 Restful API 서비스를 구축할 경우, 서버를 운영하거나 호스팅 받는 것보다 획기적인 비용 절감 가능
  • 요청 100만 건당 $0.2 (약 250₩)
  • 함수 실행 시간, 메모리 점유율, API Gateway 사용 비용도 고려해야 하긴 함
  • 계산해볼 수 있는 링크 :https://calculator.aws/#/addService/Lambda

 

pythonanywhere

  • Beginner (무료)
    • 512.08MB
  • Hacker ($5/month)
    • 1GB
    • 100,000 hit/day
    • 2,000 CPU-seconds/day
  • Web dev ($12/month)
    • 5GB
    • 150,000 hit/day
    • 4,000 CPU-seconds/day

 

HEROKU
  • 절전모드
  • 결제 시 현지 통화 지원 X
  • 정적 컨텐츠 호스팅 서비스   ∴ 우리는 못 씀

 

netlify
  • 한 달에 빌드 시간 300분 이상, 월 트래픽 100G 이상 → $19
    • 내 경험 상, 넘어간 달만 청구되는 것 같음
  • 정적 컨텐츠 호스팅 서비스   ∴ 우리는 못 씀

 

Cloudtype

우리 팀이 어떤 걸 쓰게 될진 모르겠지만... 암튼 공부해볼 수 있어서 좋았다.