GitHub Actions vs 자체 호스팅 — 진짜 비용 비교 (12개월 데이터)

분당 단가로는 자체 호스팅이 80% 저렴하고, DIY 운영의 총 비용으로는 GitHub Actions가 35% 저렴하다. 그런데 간접비용의 주인을 사람에서 플랫폼으로 바꾸면 계산이 한 번 더 뒤집힌다. 12개월 실측 기록.

백재민
백재민
CollabOps 창업자
GitHub Actions vs 자체 호스팅 — 진짜 비용 비교 (12개월 데이터)

12개월 동안 GitHub Actions와 자체 호스팅 러너를 같은 워크로드로 나란히 돌렸다. 어느 쪽이 진짜 싼지 의견 말고 숫자로 확인하고 싶어서였다. 계산은 두 번 뒤집혔다. 분당 단가만 보면 자체 호스팅이 80% 저렴하다. 간접비용까지 넣으면 GitHub Actions가 35% 저렴해진다. 그런데 그 간접비용을 사람 대신 플랫폼이 흡수하게 만들자, 다시 자체 호스팅이 이겼다. 이 글은 그 세 번의 계산을 순서대로 따라간다.

12개월 데이터 (DIY 자체 호스팅 기준)

먼저 원본 데이터. 여기서 "자체 호스팅"은 EC2에 러너를 직접 깔고 우리 손으로 운영한 구성이다.

                                   | GitHub Actions | 자체 호스팅
─────────────────────────────────┼────────────────┼──────────────
월 빌드 시간                       | 78,000 분      | 78,000 분
                                   | (동일 워크로드 분배)
─────────────────────────────────┼────────────────┼──────────────
직접 비용                          |
  - GitHub Actions 청구             | $4,200 / 월     | $0
  - EC2 (4 × c5.2xlarge)            | $0              | $560 / 월
  - 네트워크·스토리지               | $0              | $90 / 월
  - 모니터링 (Datadog)              | $0              | $200 / 월
─────────────────────────────────┼────────────────┼──────────────
간접 비용                          |
  - 운영 인력 (월 평균)             | 0.05 FTE       | 0.4 FTE
  - 인건비 환산                     | $400 / 월       | $3,200 / 월
  - 보안 패치 / OS 업데이트         | $0              | $400 / 월
  - 빌드 큐 대기 (엔지니어 시간)    | $1,800 / 월     | $5,200 / 월 *
─────────────────────────────────┼────────────────┼──────────────
월 총                              | $6,400 / 월     | $9,650 / 월
연 총                              | $76,800         | $115,800

큐 대기 비용 $5,200는 워커가 4대로 고정이라 피크 시간에 큐가 쌓여서 생긴 값이다. GitHub Actions는 탄력적으로 스케일링되니 큐가 거의 없다.

분당 단가만 보면 어느 쪽이 싼가

분당 단가는 자체 호스팅이 $0.011/분, GitHub Actions가 $0.054/분으로 자체 호스팅이 80% 저렴하다.

GitHub Actions:  $4,200 / 78,000분 = $0.054 / 분
자체 호스팅:     $850 / 78,000분 = $0.011 / 분

자체 호스팅 결정의 대부분이 이 숫자에서 출발한다. 그리고 대부분 여기서 틀린다.

총 비용으로 보면 왜 뒤집히나

간접비용 때문이다. 연간 총 비용은 GitHub Actions $76,800, DIY 자체 호스팅 $115,800로 GitHub Actions가 35% 저렴하다. 승부를 가른 건 서버비가 아니라 사람 비용이다. 러너를 돌보는 0.4 FTE, OS 패치, 그리고 큐가 빠지길 기다리는 엔지니어들의 시간(월 $5,200).

보통의 비용 비교 글은 여기서 끝난다. 그러니까 SaaS 쓰라고. 근데 표를 다시 보면 이상한 점이 있다. 자체 호스팅이 지는 항목 중에 인프라는 하나도 없다. 직접 비용은 월 $850로 GitHub Actions 청구서($4,200)의 1/5이다. 지는 항목은 전부 사람이 하는 일이다.

자체 호스팅이 비싼 게 아니라 DIY가 비싸다

월 $8,800의 간접비용은 자체 호스팅의 본질적인 비용이 아니다. 러너 프로비저닝, 스케일링, 업그레이드, 모니터링을 사람이 직접 하는 방식, 그러니까 DIY의 비용이다.

그래서 올해 초 우리 dev CI를 우리 제품인 CollabOps CI/CD 위로 옮겼다. 같은 워크로드, 같은 4노드. 석 달 돌린 뒤의 월 평균이다.

                                   | CollabOps CI/CD (self-hosted)
─────────────────────────────────┼──────────────────────────────
인프라 (동일 4노드 + 네트워크)      | $650 / 월
모니터링                           | $0 (플랫폼 내장, Datadog 해지)
운영 인력                          | 0.1 FTE ≈ $800 / 월
보안 패치 / OS 업데이트             | $100 / 월 (노드 OS만 남음)
빌드 큐 대기 (엔지니어 시간)        | $1,900 / 월
─────────────────────────────────┼──────────────────────────────
월 총                              | $3,450 / 월
연 총                              | $41,400 (GitHub Actions 대비 46% ↓)

항목별로 뭐가 바뀌었나.

  • 운영 인력 0.4 → 0.1 FTE. 러너 프로비저닝·스케일링·업그레이드가 사람 일에서 제품 일로 넘어갔다. 남은 0.1은 노드 자체를 돌보는 시간이다.
  • 큐 대기 $5,200 → $1,900. 하드웨어는 그대로인데 잡 스케줄러가 우선순위와 동시성을 관리하면서 피크 큐가 줄었다. 없어진 건 아니고, GitHub Actions 수준($1,800)까지 내려온 정도다.
  • 모니터링은 파이프라인 메트릭이 플랫폼에 들어 있어서 Datadog를 해지했다.

정직하게 더해야 할 것이 두 가지 있다. 첫째, 라이선스 비용. 우리는 우리 제품이라 $0이지만 고객이라면 붙는다. 다만 GitHub Actions와의 격차가 연 $35,400이니, 라이선스가 그 안에 들어오는 한 계산은 안 뒤집힌다. 둘째, 우리는 이 제품을 만드는 회사라서 0.1 FTE 추정이 남들보다 후할 수 있다. 그 값을 두 배로 잡아도 연 총액은 $51,000으로 여전히 GitHub Actions보다 33% 낮다.

그래서 언제 자체 호스팅으로 가야 하나

DIY로 러너를 직접 굴릴 거라면, 다음 넷 중 둘 이상 해당할 때만 권한다.

  1. 월 빌드 시간 200,000분 이상 (청구서가 간접비용을 압도)
  2. 컴플라이언스가 self-hosted를 강제 (대안 없음)
  3. 러너를 봐줄 운영 인력이 이미 있음 (인건비가 한계비용에 가까움)
  4. 빌드당 10분 이상 (짧은 빌드는 SaaS 러너로 충분)

관리형 self-hosted 플랫폼이라면 기준선이 훨씬 앞으로 당겨진다. 간접비용 항목 대부분이 플랫폼으로 넘어가기 때문이다. 우리 데이터 기준으로는 월 78,000분에서 이미 46% 절감이었다.

폐쇄망이거나 컴플라이언스 의무가 있다면

이 경우 SaaS CI는 애초에 선택지가 아니라서, 비교는 "SaaS vs self-hosted"가 아니라 "DIY vs 관리형"이 된다. 위의 세 번째 표가 바로 그 비교다.

폐쇄망 CI/CD 만들기

지금 우리 구성

  • dev PR·기능 개발 빌드: CollabOps CI/CD (위의 4노드)
  • release artifact: CollabOps CI/CD (서명 + 감사 로그)
  • 고객사 deploy artifact: 고객 환경 안의 CollabOps CI/CD (FIPS)
  • GitHub Actions: 퍼블릭 저장소 몇 개에만 남음

분당 단가에서 출발해 총 비용에서 뒤집히고, 간접비용의 주인을 바꾸면 다시 뒤집힌다. self-hosted를 검토 중이라면 두 번째 계산에서 멈추지 말자. 비싼 건 서버가 아니라 러너를 돌보는 사람의 시간이고, 그건 플랫폼이 대신 들 수 있는 비용이다.

태그#github-actions#cicd#cost#self-hosted#devops