본문 바로가기

깃허브 대 비트버킷 대 깃랩 : 개발자의 마음을 사기 위한 치열한 경쟁

OSS 게시글 작성 시각 2018-07-12 15:49:12 게시글 조회수 2364

2018년 7월 11일

 

 ⓒ ITWORLD, Peter Wayner | InfoWorld

 

오늘날의 소프트웨어 개발은 너무 복잡해져서 만들어야 할 소프트웨어를 이해하고 제작하는 데 도움이 되는 소프트웨어를 만들어야 할 판이다. 코드가 코드를 낳고, 그 코드가 또 다른 코드를 낳는다

깃(Git)이라는 이름의 코드 리포지토리가 소프트웨어를 관리하기 위한 툴로 각광받고 있지만, 이것으로도 충분하지는 않다. 대부분의 프로그래머와 이들이 속한 팀은 다양한 부가적인 분석 및 프레젠테이션 계층을 더해 광활한 늪지와 같은 코드를 헤쳐 나갈 수 있게 해주는 온라인 버전의 깃을 애용한다.

정규식과 익명 함수, 재귀적 트리 워킹 등을 쌓아 두기 위한 최적의 장소는 깃허브(GitHub), 비트버킷(Bitbucket), 깃랩(GitLab) 세 곳인데, 이 세 플랫폼이 소스를 보관할 최적의 장소를 두고 경쟁 중이다.

셋 중 어느 것이 가장 좋을까? 팀에서는 어느 것을 사용하는 편이 가장 유리할까? 셋을 비교해 보고 어느 것이 가장 뛰어난지 확인해 보자.

깃허브가 가장 크다
깃 리포지토리 호스팅에 전문화된 최초의 대규모 웹사이트. 오픈소스 커뮤니티에서의 긍정적인 활동, 이유가 무엇이든 순수한 코드 양을 기준으로 보면 깃허브가 가장 크다. 깃허브에 따르면 사용자 수는 2,800만 명, 리포지토리는 8,500만 개에 이른다. 비트버킷 사용자는 600만 명이고 깃랩은 무슨 이유에선지 사용자 수를 묻는 질문에 답을 하지 않았다.

규모를 중시하는 사람도 있다. 여러 프로젝트 사이를 자주 오가는 오픈소스 개발자들은 한 번 로그인해서 모든 작업을 연결할 수 있다. 고양이를 좋아하는 사람들이 유튜브에서 인기 고양이 비디오 제작자들을 팔로우하듯이, 깃허브에서도 인기 개발자를 팔로우할 수 있다. 인터넷을 지배하는 네트워크 효과가 깃허브에서도 제대로 힘을 발휘하고 있다.

반면 규모를 그다지 중시하지 않는 사람도 있다. 많은 개발자가 공개 코드는 기꺼이 연결하더라도 클라이언트를 위한 작업은 연결하고 싶어하지 않는다. 그 코드를 별도로, 비공개로 보관해야 한다. 그러한 맥락에서 보면 네트워크 효과는 별 의미가 없다.

비트버킷과 깃랩이 더 싸다
세 서비스 모두 다양한 무료 옵션을 제공하지만 개발자, 일반적으로 전문 개발자에게 비공개 프로젝트를 호스팅하는 대가로 비용을 청구해 수익을 얻는다. 최저 가격은 깃허브는 개발자당 월 7달러, 비트버킷은 월 2달러, 깃랩은 월 4달러다.

그러나 계정을 업그레이드할 가능성이 높기 때문에 이러한 기본 가격에는 큰 의미는 없다. 비트버킷의 한 단계 위 비용은 월 5달러, 깃랩의 프리미엄 버전은 월 19달러다(1년치를 지불해야 이 가격으로 이용 가능).

세 서비스 모두 인원이 많은 팀에 대해서는 할인을 제공하지만 할인율이 공개되진 않기 때문에 비교하기가 어렵다. 깃 호스팅을 쉽고 간단하게 생각한다면 오산이다. 세 업체들이 워낙 많은 부가 기능을 추가해 놨기 때문에 비용 대비 기능을 비교하기 시작하면 어지러움을 느낄 정도다.

비트버킷과 깃랩은 무제한 비공개 리포지토리 허용
무료로 얻을 수 있는 기능은 각기 다르다. 비트버킷과 깃랩에서는 비공개 리포지토리를 무료로 저장할 수 있다. 팀 규모가 커지고 전문화되면 그때부터 비용을 지불하면 된다. 깃허브에서는 무료로 프로젝트를 보관하려면 학생이거나 프로젝트를 공개로 전환하거나 둘 중 하나의 조건을 충족해야 한다. 오픈소스 영역에서는 문제 없지만 비공개 프로젝트라면 걸리는 부분이다.

무료 계층이라도 경우에 따라 꽤 후한 서비스를 제공한다. 비트버킷은 최대 5명의 협업자로 구성된 소규모 팀을 허용하며, 깃랩은 협업자 수에 아예 제한이 없다.

참고로 이러한 가격과 계층은 클라우드 호스팅 버전에 적용된다. 셀프 호스트를 원하는 경우 비용이 더 저렴해질 수 있다. 조건이 좋은 아카데미 요금제와 오픈소스 커뮤니티 버전도 있다.

비트버킷과 깃랩, 지속적 통합 제공
이 업체들은 코드를 보관하는 데 그치지 않고 코드를 빌드하고 배포하기도 한다. 깃랩은 젠킨스(Jenkins) 기반 지속적 통합을 도입하고, 이후 배포 지원과 모니터링도 더했다. 깃랩 내에서 코드를 커밋하고 배포하고 모니터링하고 다음 수정도 계획할 수 있다.

비트버킷도 몇 번의 클릭으로 이와 비슷한 기능을 제공하는 빌드 및 배포 툴인 파이프라인(Pipelines)을 제공한다. 모니터링은 깃랩에 비해 빈약하지만, 아마존 클라우드와 긴밀하게 통합된다는 장점이 있다.

깃허브, 자체 지속적 통합 서버 허용
깃허브 사용자가 코드를 빌드할 일이 있을까? 물론 있다. 많은 개발자가 깃허브 커밋에 의해 트리거되는 서클CI(CircleCI) 또는 트래비스 CI(Travis CI)와 같은 서드파티 툴을 사용한다. 일부는 깃허브에 호스팅되는 오픈소스 리포지토리에서 사용 가능한 자체 버전의 젠킨스를 호스팅하기도 한다.

물론 서드파티 툴은 업체 자체적으로 제공하는 것과는 다르지만 기능은 거의 대부분 동일하다. 또한 하는 작업에 따라서는 툴과 업체의 분리가 오히려 유리하게 작용하는 경우도 가끔 있다.

참고로 비트버킷과 깃랩 역시 사용자가 자체적으로 지속적 통합 솔루션을 사용하는 것을 막지 않는다. 다른 깃 클라이언트와 마찬가지로 코드를 체크아웃할 뿐이다.

깃랩, 온라인 개발 가능
깃랩은 정적 코드 탐색 툴로 시작한 이후 서서히 발전해서 지금은 완전한 개발 플랫폼으로 탈바꿈했다. 깃랩의 인터페이스는 점점 더 복잡해지면서 통합 개발 환경, 즉 IDE에 근접해지는 중이다. 통합 디버깅을 제공하는 이클립스(Eclipse), 엑스코드(Xcode)와 같은 데스크톱 환경만큼 정밀하지는 않지만 깔끔한 다중 파일 커밋과 함께 정교한 개발 작업에 점점 더 많이 사용되는 추세다.

깃허브와 비트버킷 모두 온라인으로 파일을 편집한 다음 결과를 커밋할 수 있는 더 간소한 버전을 제공한다. 신속한 손질이나 수정에는 이 버전을 사용하는 편이 더 좋다.

비트버킷, 코드 인식 검색 기능 제공
사소해 보일 수 있지만 비트버킷의 검색 알고리즘은 주요 언어의 상당부분을 이해하고 이를 통해 결과의 순위를 매길 수 있다. 함수 또는 변수의 정의가 결과 상단에 나오고, 그 뒤에 사용이 나온다. 키워드가 하는 일을 알아보기 위해 결과 페이지를 줄줄이 넘겨가며 찾을 필요가 없다.

비트버킷과 지라는 한 회사의 작품
지라(Jira)는 티켓을 추적하고 팀에서 누가 어느 리포지토리에 무엇을 했는지, 그리고 작업을 언제 마치는지를 파악하는 기능으로 개발 프로세스 정리 분야에서 가장 앞선 툴이다. 지라는 셋 모두와 통합이 가능하지만 아틀라시안(Atlassian)이 소유한 만큼 비트버킷과 잘 어울린다.

깃허브와 깃랩에는 워크플로우에 통합된 자체 문제 추적 툴이 있으며 기능도 거의 동일하다. 더 많은 부가 기능이 필요한 깃허브와 깃랩 사용자는 지라 또는 다른 비슷한 툴로 바꾸면 된다.

깃랩은 오픈소스
깃랩의 특정 부분이 마음에 들지 않는다면 루비 소스 코드를 다운로드해서 수정한 다음 직접 호스팅하면 된다. 깃랩은 오픈소스며, 언제든 포크할 수 있다. 깃허브도 리포지토리에 몇 가지 유용한 퍼즐 조각을 제공하며, 아틀라시안은 승인된 라이선스를 사용하는 모든 오픈소스 프로젝트를 관대하게 지원한다. 그러나 깃랩은 전체 플랫폼의 코드를 커뮤니티 에디션으로 제공한다.

그 외에 자바로 만든 깃블릿(Gitblit), 파이썬으로 만든 알루라(Allura), 고로 만든 곡스(Gogs) 등 다른 오픈소스 깃 서버 프로젝트도 있다. 다만 모두 호스팅이 필요하다.

깃랩은 구글 클라우드와 긴밀히 통합
깃랩에서는 구글 클라우드를 사용할 필요가 없다. 깃랩은 구글 쿠버네티스 엔진과 통합되므로 이 과정이 더 쉽다. 몇 번만 클릭하면 실행 중인 컨테이너 클러스터로 코드를 옮길 수 있다. 구글 쿠버네티스 엔진을 사용하지 않는 경우에도 쿠버네티스와의 조화는 유용하다. 쿠버네티스 클러스터에 배포한다면 CI 환경, 배포, 팟, 쿠버네티스 메트릭까지 모든 요소를 깃랩에서 바로 모니터링할 수 있다.

비트버킷은 AWS와 통합
코드를 원하는 어디로든 배포할 수 있지만, 아틀라시안 마켓플레이스의 비트버킷 애드온을 사용하면 아마존 S3 버킷으로 코드를 푸시하고 AWS 코드디플로이(CodeDeploy)를 사용해 EC2에서 코드를 실행할 수 있다. 한 번만 구성하면 된다.

비트버킷은 다수의 확장 기능 보유
아틀라시안 마켓플레이스에는 AWS 코드디플로이 앱 외에도 유용한 것이 많다. 2018년 7월 9일 현재 비트버킷 확장을 위한 서드파티 앱의 304개다. 알림, 커밋 그래프 기능을 위한 앱도 있고, 워크플로우 추적으로 프로젝트 관리에 도움이 되는 앱도 있다. 커밋 정책(Commit Policy) 플러그인을 설치하면 커밋 메시지를 꼼꼼하게 살펴 이슈 번호 및 기타 세부 사항이 제대로 언급되어 있는지 확인할 수도 있다. 마켓플레이스에서 원하는 기능을 찾을 수 없다며 직접 만들면 된다.

깃은 무료이며 비공개
이러한 풍족한 옵션을 일절 거부하는 사람도 있다. 깃은 리포지토리 자체를 파헤치기 위한 풍부한 명령을 갖춘 아주 간단한 명령줄 툴이다. 명령줄을 사용해서 직접 코드를 푸시/풀하고 추적할 수 있다. 명령줄 명령어에 능숙하고 웹 기반의 깔끔한 코드, 디프(diff) 표시도 필요 없다면 간소한 기존 깃으로 충분하다.

두 개 또는 세 개 모두 사용하기!
사실 셋 중에서 하나만 선택해야 할 이유는 전혀 없다. 깃을 사용하면 편하게 커밋을 업스트림으로 푸시할 수 있다. 또한 여러 개의 업스트림을 추가하지 않을 이유도 없다. 두 개 또는 세 개의 플랫폼이 제공하는 기능이 필요하다면 리포지토리를 구성해서 모든 플랫폼으로 푸시하기만 하면 된다. 운이 좋다면 무료 계층으로 충분할 수도 있다. 그렇지 않다 해도 크게 부담스러운 비용은 아니다.  editor@itworld.co.kr
 

 

※ 본 내용은 한국IDG(주)(http://www.itworld.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒITWORLD. 무단전재 및 재배포 금지


[원문출처 : http://www.itworld.co.kr/news/109976]

2018
공개SW 가이드/보고서 - 번호, 제목, 작성자, 조회수, 작성
번호 제목 작성자 조회수 작성
공지 [2024년] 오픈소스SW 라이선스 가이드 개정판 발간 file support 3540 2024-01-03
공지 [2024년] 기업 오픈소스SW 거버넌스 가이드 개정판 발간 file support 2963 2024-01-03
공지 [2024년] 공공 오픈소스SW 거버넌스 가이드 개정판 발간 file support 2910 2024-01-03
공지 공개 소프트웨어 연구개발(R&D) 실무 가이드라인 배포 file support 15356 2022-07-28
공지 공개소프트웨어 연구개발 수행 가이드라인 file OSS 15267 2018-04-26
308 글로벌 칼럼 | EU의 안드로이드 판결, 3가지 핵심 내용과 논리적 모순 file OSS 1536 2018-07-24
307 IDG 블로그 | 록인을 노리는 클라우드 서비스 업체의 엉큼한 수법 6가지 file OSS 1567 2018-07-19
306 [공개SW 월간브리핑]소스공유사이트 깃허브를 인수한 MS로 가시화된 글로벌 IT 기업의 공개SW 주도권 경쟁 OSS 1759 2018-07-17
305 깃허브 인수로 본 오픈소스의 미래 file OSS 1512 2018-07-17
304 '블록체인과 공공서비스가 만난다' 외국 정부 사례 file OSS 1874 2018-07-16
303 구글∙페이스북∙넷플릭스∙에어비앤비의 공통점 '오픈소스' file OSS 1865 2018-07-12
302 깃허브 대 비트버킷 대 깃랩 : 개발자의 마음을 사기 위한 치열한 경쟁 OSS 2364 2018-07-12
301 [기획⑨] IT인프라의 급속한 확장, 피할 수 없는 ‘금융 클라우드’ file OSS 2513 2018-07-12
300 [기획⑥] 금융 블록체인, ‘성능과 보안’ 과연 신뢰할만한가 file OSS 2170 2018-07-05
299 [기획⑤] 금융산업 덮친 ‘블록체인’…혁신일까, 신기루일까 file OSS 1975 2018-07-05
맨 위로
맨 위로