블로그2분 읽기

쇼피파이 CEO가 주말에 깃 서버를 새로 만들어버렸습니다

시가총액 2천억 달러 쇼피파이의 CEO가 주말 동안 러스트로 깃 서버를 구현해 오픈소스로 던졌습니다. 조회 81만, 깃허브 CTO가 직접 답글을 달았습니다.

시가총액 2천억 달러 회사의 CEO가 주말에 러스트로 깃 서버를 구현해서 오픈소스로 던졌습니다. 조회 81만. 답글창에는 깃허브 CTO가 나타났고, 같은 주말에 깃허브 공동창업자도 같은 걸 만들고 있었어요.

발단은 블로그 글 하나였습니다.

커서의 설계 문서가 방아쇠

커서가 닷새 전에 Git at Scale이라는 블로그를 냈습니다. 대규모 깃을 오브젝트 스토리지 위에서 굴리는 설계 이야기예요.

토비 뤼트케는 마침 쇼피파이 내부 깃 시스템에 답답해하던 참이었다고 합니다. 본인 트윗 표현이 이렇습니다. "연습 삼아, 주말 동안 오픈소스로 구현해봤다."

그의 바이오가 이 사건의 배경 설명입니다. 낮에는 쇼피파이 CEO, 저녁에는 아빠, 밤에는 해커.

만든 물건: walgit

구조가 도발적입니다.

  • 러스트 단일 바이너리 하나
  • 아무 S3형 오브젝트 스토어에 붙이면 끝
  • 다른 데이터 스토어 불필요
  • 예비 로그(WAL)와 콘텐츠 주소 저장(CAS)이라는 데이터베이스의 고전 원리 둘
  • bundle-uri 구현으로 대형 모노레포를 정적 번들 체인으로 고속 다운로드

쇼피파이 모노레포 같은 걸 염두에 둔 설계입니다. 스크린샷의 UI는 셀프호스트 상태라고 본인이 답글에서 확인했어요.

답글창이 본편보다 재밌습니다

깃허브 CTO가 직접 등판했습니다. 주말 프로젝트 인정. S3 선형 읽기 스케일은 자기들도 테스트 중이고 몇 주 안에 롤아웃 예정. 쓰기 처리량은 더 복잡해서 시간이 걸린다는 실무 답변까지 달았어요.

한 개발자는 이 레포를 구경하다가 깃허브 레이트리밋에 걸렸다고 했습니다. 깃허브보다 잘 스케일한다는 레포를 보다가 깃허브에 막힌 거예요.

그리고 스레드에 나온 한 마디. 같은 주말, 깃허브 공동창업자 스콧 차콘도 같은 설계를 따로 구현하고 있었다고 합니다.

인용 트윗이 시대를 요약했습니다

이 사건을 인용한 트윗 하나가 조회 9만 8천을 받았습니다.

"커서 블로그가 나온 지 닷새다. 몹시 바쁠 게 분명한 2천억 달러 회사 CEO가 이미 러스트로, 깃허브보다 잘 스케일하는 구현을 끝냈다. What a time to be alive."

물론 스레드에는 "깃허브보다 잘 스케일한다는 건 글쎄"라는 견제구도 달렸습니다. 벤치마크가 아니라 주말 프로젝트니까요. 그 거리감은 유지하는 게 맞습니다.

남는 생각

저는 이 사건에서 구현 비용의 붕괴를 봅니다.

좋은 설계 문서 하나가 나오자, 주말 이틀 만에 쇼피파이 CEO와 깃허브 공동창업자가 각자 구현을 끝냈어요. 설계를 읽고 판단하는 눈이 있는 사람에게, 구현은 더 이상 몇 달짜리 일이 아닙니다.

방향이 중요합니다. AI가 CEO를 개발자로 만든 게 아니라, 원래 해커였던 사람의 손을 다시 풀어준 겁니다. 바이오에 밤에는 해커라고 적어둔 사람이, 진짜로 밤에 해킹을 한 것뿐이에요.

그 주말이 예전보다 훨씬 길어졌을 뿐입니다.


출처: @tobi 원 트윗 전문(그록 x_search 회수, 조회 813,113 스냅샷), 깃허브 CTO·JorgeO 답글, github.com/tobi/walgit, cursor.com/blog/git-at-any-scale. 스타 수 등 2차 수치는 표기 제외.

FAQ

자주 묻는 질문

이 깃 서버 walgit은 어떤 구조로 만들어졌나요?
러스트 단일 바이너리 하나로, 아무 S3형 오브젝트 스토어에 붙이면 됩니다. 예비 로그(WAL)와 콘텐츠 주소 저장(CAS)이라는 데이터베이스 고전 원리 둘로 구현됐습니다.
깃허브 CTO는 답글에서 뭐라고 했나요?
주말 프로젝트를 인정하며, S3 선형 읽기 스케일은 깃허브도 테스트 중이고 몇 주 안에 롤아웃 예정이라고 밝혔습니다. 쓰기 처리량은 더 복잡해 시간이 걸린다고 답했습니다.
같은 주말에 비슷한 걸 만든 사람이 또 있나요?
깃허브 공동창업자 스콧 차콘도 같은 설계를 따로 구현하고 있었다는 언급이 스레드에 나왔습니다.