
GitHub vs GitLab: 4달러와 29달러는 같은 묶음이 아니다

저장소와 코드 검토가 주된 요구이고 호스팅된 CI 사용량이 크지 않다면 GitHub Team이 저렴한 출발점이다. GitHub Team 요금표에는 사용자당 월 4달러, 조직에 제공되는 월 3,000분의 Actions와 2GB의 Packages 저장공간이 명시돼 있다. 비공개 저장소의 고급 보안 기능이나 자체 호스팅이 필요하다면 해당 비용은 별도로 계산해야 한다.
빌드 사용량과 우선 지원, 통합된 프로젝트 관리 기능을 함께 구매하려면 GitLab Premium이 비교 대상이다. GitLab Premium 요금표는 연간 결제 기준 사용자당 월 29달러, GitLab.com 그룹에 월 10,000 컴퓨트 분과 우선 지원, 프로젝트별 Git 저장소·LFS 상한 500GiB를 제시한다. 이 저장소 상한은 GitHub의 패키지 저장공간과 같은 용량으로 계산할 수 없다.
10명과 50명 팀의 좌석비는 얼마나 벌어지나
전원이 유료 좌석을 쓴다는 가정에서 10명 팀의 월 기본료는 GitHub Team 40달러, GitLab Premium 290달러다. 50명 팀이면 각각 200달러와 1,450달러다. 두 팀 규모 모두 좌석비 차이는 크지만 이 수치는 공개 단가에 인원만 곱한 결과다. 세금, 환율, 추가 사용량, 계약별 할인은 들어 있지 않다.
GitLab Premium은 표시 단가에 연간 결제 조건이 붙는다. 월 290달러 또는 1,450달러는 그 계약을 월평균으로 환산한 값이지 매달 그 금액만 내고 언제든 해지할 수 있다는 뜻이 아니다. GitHub Team의 실제 구매 조건과 갱신 조건도 견적에서 확인해야 한다. 국내 조직이라면 원화 예산에 결제 통화의 환율과 세금 처리도 따로 반영해야 한다.
포함 CI 시간은 좌석 수와 별도로 움직인다. GitHub Actions 할당량은 요금제에 속한 계정에, GitLab.com 컴퓨트 할당량은 최상위 그룹에 적용된다. 같은 그룹의 GitLab 사용자가 10명에서 50명으로 늘었다고 월 제공량이 인원에 비례해 늘지는 않는다. 따라서 좌석비 표 옆에는 팀 전체의 파이프라인 사용량을 놓아야 한다.
월 8,000분을 돌리는 팀의 CI 청구액
가상 사례로 비공개 저장소에서 한 달에 GitHub의 표준 Linux 2코어 호스팅 러너를 8,000분 쓴다고 하자. 포함된 3,000분을 빼면 초과분은 5,000분이다. GitHub Actions 과금 기준의 해당 러너 단가는 분당 0.006달러이므로 추가 실행료는 월 30달러다. 이 조건에서 좌석비와 CI 실행료를 합치면 10명 팀은 월 70달러, 50명 팀은 월 230달러다.
GitLab Premium에서 같은 달에 8,000 컴퓨트 분을 소모한다는 가정이면 월 포함량 안에 들어가므로 추가 분 구매는 필요하지 않다. 그때의 월평균 기본료는 10명 290달러, 50명 1,450달러다. 다만 GitHub에서 측정한 실행 시간 8,000분을 GitLab에서도 정확히 8,000 컴퓨트 분이라고 단정할 수 없다. 러너 종류와 작업의 실행 방식이 달라지면 실제 소모량도 달라진다.
이 예시에서 GitLab Premium의 더 넓은 포함 시간만으로 좌석비 격차가 메워지지는 않는다. GitHub의 Linux 초과 사용료 30달러는 팀 규모가 커져도 동일한 작업량이라는 가정 아래에서는 그대로다. 반면 Windows나 macOS 작업, 더 큰 러너, 잦은 재실행이 섞이면 계산이 달라진다. CI 예산에는 파이프라인의 시작부터 종료까지 걸린 시간보다 작업별 러너 사용 시간과 재실행 횟수가 더 유용하다.
또 하나의 경계는 누가 러너를 운영하느냐다. 두 플랫폼 모두 자체 러너를 선택할 수 있고, 이 경우 호스팅 러너의 포함 시간과는 다른 비용 구조가 된다. 자체 러너가 호스팅 러너의 초과 사용료를 줄이더라도 기계의 증설, 격리, 캐시, 업데이트, 장애 대응은 조직의 몫이다. 이미 운영하는 빌드 인프라가 없다면 자체 러너 실행을 비용이 들지 않는 시간처럼 취급하기 어렵다.
저장공간 수치는 무엇을 재나
GitHub Team의 Packages 포함 용량은 Actions 산출물과 공유하는 저장공간의 범위다. GitLab Premium의 프로젝트별 상한은 GitLab.com에서 Git 저장소와 LFS를 합산한 크기에 적용된다. 전자는 패키지·산출물 사용량에, 후자는 소스 저장소 크기에 걸린 숫자이므로 단위만 맞춰 용량 우열을 계산하면 잘못된 결론이 나온다.
GitLab에서는 프로젝트별 상한과 그룹 전체의 구매 저장공간도 구분해야 한다. 여러 프로젝트가 각각 상한보다 작더라도 그룹 단위 사용량이 늘면 추가 저장공간이 필요할 수 있다. 반대로 저장공간을 더 사도 한 프로젝트의 고정 상한이 그만큼 늘어나는 구조는 아니다. 대형 저장소 하나를 보유한 조직과 작은 저장소를 많이 운영하는 조직의 제약이 다른 이유다.
패키지와 빌드 산출물이 많은 팀은 소스 저장소보다 보존 정책이 비용을 좌우할 수 있다. 예를 들어 매 빌드의 산출물을 오래 남기면 같은 코드를 보관해도 점유량은 계속 늘어난다. GitHub는 포함된 공유 저장공간을 넘는 산출물·Packages 사용량을 별도로 청구한다. GitLab에서도 컨테이너 레지스트리 같은 항목을 프로젝트의 Git·LFS 상한과 섞어 계산하면 저장 예산이 어긋난다.
보안 기능을 붙이면 좌석 가격은 어떻게 바뀌나
비공개 저장소의 고급 보안 기능은 GitHub Team 기본 좌석료 밖에서 계산해야 한다. GitHub Advanced Security 가격은 Secret Protection을 활성 커미터당 월 19달러, Code Security를 활성 커미터당 월 30달러로 제시한다. 전자는 비밀정보 유출 탐지와 방지, 후자는 코드 취약점 검사에 초점을 둔다. 어떤 제품을 어느 저장소에 켜는지에 따라 청구 대상 인원이 달라진다.
가령 유료 좌석 10명 모두가 보호 대상 저장소의 활성 커미터라는 조건이면 Secret Protection의 추가 비용은 월 190달러, Code Security는 월 300달러다. 두 제품을 모두 쓰면 보안 제품만 월 490달러, Team 좌석비까지 월 530달러가 된다. 이는 조건을 고정한 산술 예시이며 앞의 CI 사용료와 저장공간 초과분은 포함하지 않는다. 좌석은 있어도 해당 저장소에 커밋하지 않는 구성원이 많다면 보안 청구 인원은 달라질 수 있다.
GitLab Premium도 보안 기능이 모두 같은 깊이로 제공되는 것은 아니다. GitLab 비밀정보 탐지 설명에 따르면 Free와 Premium에서도 파이프라인 스캔을 실행하고 JSON 결과 파일을 볼 수 있지만, 병합 요청의 탐지 결과 표시와 취약점 관리, 보안 대시보드, 정책 적용은 Ultimate 영역이다. 스캔 실행만 필요한지, 발견 결과를 승인·관리 흐름에 묶어야 하는지에 따라 필요한 등급이 바뀐다.
따라서 보안 비교에는 ‘검사 가능’이라는 한 줄보다 기능별 구매 대상을 적는 편이 낫다. GitHub는 필요한 제품과 그 기능을 켠 저장소의 활성 커미터 수를 곱한다. GitLab에서 조직 차원의 취약점 관리와 정책이 필수라면 Premium 표시 단가를 최종 단가로 놓을 수 없고 Ultimate 견적을 받아야 한다. 공개 목록 가격이 없는 등급의 비용을 Premium 가격에 임의로 합쳐서는 안 된다.
자체 호스팅에서는 어떤 비용이 빠져 있나
직접 운영해야 한다면 클라우드형 Team과 Premium의 월 좌석비 비교만으로는 결론이 나지 않는다. GitLab은 무료 Community Edition과 유료 Self-Managed 구독을 제공하고, GitHub의 자체 호스팅 제품은 Team이 아니라 Enterprise Server다. GitLab.com의 포함 컴퓨트 분과 프로젝트별 저장소 상한도 자체 호스팅 서버의 제공 자원으로 옮겨 적을 수 없다. 배포 방식이 바뀌면 비교할 라이선스와 인프라가 함께 바뀐다.
자체 호스팅의 비용표에는 서버와 스토리지뿐 아니라 백업, 복구 시험, 패치, 버전 업그레이드, 장애 대응을 맡을 시간도 들어가야 한다. 무료 라이선스의 장점은 좌석 구매 비용을 없앤다는 것이지 운영 업무를 없앤다는 뜻이 아니다. 이미 안정적인 내부 인프라와 담당자가 있는 조직이라면 증가분이 작을 수 있지만, 새로 담당자를 지정해야 한다면 기본료만으로 절약 효과를 예상하기 어렵다.
러너와 플랫폼 인스턴스도 따로 보아야 한다. 호스팅 플랫폼을 쓰면서 자체 러너만 운영하는 구성과, 저장소 서비스부터 CI 러너까지 모두 직접 운영하는 구성은 필요한 백업·보안·가용성 수준이 다르다. 코드의 저장 위치가 중요한 조직이라면 자체 호스팅으로 충족하려는 요구가 데이터 통제인지, 네트워크 격리인지, 특정 운영 환경인지 분명히 해야 관련 비용을 빠뜨리지 않는다.
이전 비용까지 합치면 선택은 달라질까
플랫폼을 바꾸는 비용은 Git 기록 복사만으로 끝나지 않는다. 이슈와 코드 검토 이력, 권한, 브랜치 규칙, 배포 비밀정보, 자동화 워크플로의 이동 범위를 각각 정해야 한다. 특히 GitHub Actions와 GitLab CI/CD의 설정은 서로 다른 형식과 실행 환경을 전제로 하므로 기존 파이프라인을 그대로 재사용한다고 가정하기 어렵다. 마이그레이션 도구로 옮길 수 있는 항목과 사람이 다시 구성할 항목을 나누는 것이 견적의 핵심이다.
이전은 일회성 비용이고 좌석과 CI는 반복 비용이다. 예컨대 이전 작업의 인건비와 중단 비용을 예상 사용 기간에 나누면 월평균 비용으로 환산할 수 있다. 다만 장애를 허용하기 어려운 배포 파이프라인이나 보존해야 할 검토 이력이 많다면 단순 작업 시간 외에 검증 기간도 잡아야 한다. 자동 가져오기가 지원되더라도 권한과 자동화가 의도한 대로 작동하는지 확인하는 비용은 남는다.
저장소 협업이 중심이고 보안 추가 제품이나 자체 호스팅이 필수가 아니라면 GitHub Team의 낮은 좌석료가 강점이다. GitLab Premium은 더 많은 호스팅 CI 사용량과 우선 지원, 프로젝트 관리 기능을 실제로 활용하는 팀에서 의미가 있다. 자체 운영이 필수라면 GitLab Community Edition과 유료 Self-Managed, GitHub Enterprise Server를 별도 안으로 놓아야 한다. 선택을 가르는 총액은 좌석비에 CI 초과분, 저장공간, 필요한 보안 등급, 운영 인력, 이전 비용을 같은 기간으로 더한 값이다.
함께 읽기:
관련 기사
뉴스레터 구독
최신 Web3, AI, 암호화폐 뉴스를 이메일로 받아보세요.




