CI가 무엇이고 Blacksmith가 왜 이를 다루는가
회사의 공동창업자 한 명은 개발자가 코드를 작성할 때마다 아무것도 깨지지 않았는지 확인하는 검사 세트를 돌려야 한다고 설명한다. 이 과정을 CI라고 부르며, Blacksmith는 이 검사를 매우 빠르게 실행하는 인프라를 만든다.
그의 설명의 핵심은 이 검사의 속도가 코드가 얼마나 빨리 앞으로 나갈 수 있는지를 정한다는 점이다. 이것이 이후 논의의 배경이 된다.
창업자들은 AI 도구가 검증해야 할 코드를 훨씬 많이 만들면서 더 빠른 CI 인프라가 더 중요해졌다고 말한다
회사의 공동창업자 한 명은 개발자가 코드를 작성할 때마다 아무것도 깨지지 않았는지 확인하는 검사 세트를 돌려야 한다고 설명한다. 이 과정을 CI라고 부르며, Blacksmith는 이 검사를 매우 빠르게 실행하는 인프라를 만든다.
그의 설명의 핵심은 이 검사의 속도가 코드가 얼마나 빨리 앞으로 나갈 수 있는지를 정한다는 점이다. 이것이 이후 논의의 배경이 된다.
공동창업자는 회사가 지난 1년간 20배 성장했다고 말한다. 그는 Blacksmith가 Sequoia가 주도한 시리즈 C 투자를 최근 유치했고, 기업가치는 10억 달러 규모이며, 라운드 총액은 약 6,600만 달러였다고 덧붙인다.
창업팀은 스스로를 외부인이라고 소개한다. 누구도 플랫폼 엔지니어나 DevOps 출신이 아니었고, 이전에 CI 파이프라인을 작성해본 적도 없었다고 한다. 그는 이들의 접근 방식이 좋은 아이디어를 시장과 만나기도 전에 죽이지 않을 만큼 순진했던 덕분이라고 설명한다.
창업자는 에이전트형 코딩 도구 덕분에 개발자들이 그 어느 때보다 많은 코드를 쓰고 있다고 말한다. 그는 코드를 100배 더 많이 써도 그 속도로 배포할 수 없다면 별 의미가 없다고 주장한다. 그 결과 병목은 소프트웨어를 쓰는 일이 아니라 검증하는 일로 옮겨갔고, 보통 이는 CI를 기다리는 일이라고 설명한다.
그가 말하는 배포의 조건은 테스트가 통과하는지, 그리고 배포하려는 코드가 실제로 동작한다는 확신을 팀이 갖는지다.
공동창업자는 실리콘밸리에서 회사를 세우고 싶었다고 말한다. 고등학생 때 그는 기술 기업의 위키백과 문서를 읽으며 이들이 어떻게 설립되었고 무엇을 했는지 알아보았고, 스스로 무언가를 만들고 싶어 했다.
그는 스타트업 프로그램과 기술 창업자가 많다는 이유로 워털루 대학교를 선택했다. Blacksmith는 그의 두 번째 Y Combinator 지원작이며, 세 창업자는 학부 시절부터 친구였고 당시 모두 토론토에 있으면서 회사를 세우고 싶어 했다고 한다.
공동창업자는 그들이 일했던 거의 모든 회사에서 CI가 형편없었다고 말한다. 너무 느렸고, 그 인프라를 관리하는 일은 어디서나 골칫거리였다. 창업자들은 더 나은 방법이 있다고 느꼈다.
그는 처음에는 이 아이디어가 통할지 회의적이었지만 조사를 하면서 확신이 커졌다고 말한다. 공동창업자 두 명은 데이터베이스 엔지니어였고, 그는 검색 인프라 작업을 하고 있었다.
공동창업자는 외부에서 보기에 CI 인프라가 관리하기 어려운 이유는 CI 작업 부하의 형태가 AWS, GCP, Azure 같은 하이퍼스케일러가 잘하는 것과 다르기 때문이라고 말한다. 그는 이 불일치가 고통의 원인이라고 설명한다.
이로부터 창업자들은 진짜 해법은 CI 작업을 아주 잘 돌리는 클라우드를 직접 만드는 것이라고 결론 내렸고, 그는 이를 일에 맞는 최고의 도구를 쓰는 것이라고 표현한다.
공동창업자는 팀이 CI 작업이 데스크톱 애플리케이션, 특히 일반 게이밍 PC에서 돌아가는 비디오 게임과 닮았다는 것을 알게 되었다고 말한다. 이런 작업은 여러 실행 스레드보다 하나의 스레드가 매우 빠르게 도는 것을 중요하게 여긴다.
이 유사성 때문에 회사는 인프라에 게이밍용 CPU를 쓴다.
공동창업자는 회사를 시작했을 때 마인크래프트와 콜 오브 듀티 게임 서버 호스팅으로 알려진 독일 데이터센터 서비스 회사에서 서버를 빌렸다고 말한다. 규모가 커지면서 Blacksmith는 스택의 더 많은 부분을 직접 소유하기 시작했다.
그는 회사가 이제 데이터센터 업체와 훨씬 큰 규모의 계약 아래 운영되며, 개별 기계가 아니라 메가와트 단위의 전력을 사는 셈이라고 말한다.
한 투자자는 자신을 Y Combinator 인물이자 Blacksmith 이사회 멤버라고 소개하며, 자신이 두 번 투자했다고 말한다. 그는 Y Combinator 첫 라운드를 SAFE로 이끌었고, 몇 달 뒤 시리즈 A를 이끌며 이사회에 합류했다.
그는 회사가 게이밍 CPU를 쓴다는 점이 매우 흥미로웠다고 말한다. CI에 이런 방식을 시도한 사람은 본 적이 없었다는 것이다. 이런 하드웨어는 보통 한 대의 게이밍 환경을 위해 집에 두는 것인데, Blacksmith는 컴파일을 위해 이런 기계를 약 100대 사야 했다는 점이 놀라웠다고 말한다.
공동창업자는 CI를 빠르게 만드는 큰 부분이 이미 한 작업을 다시 하지 않는 것이라고 말한다. 개발자들은 대체로 이를 캐싱이라고 부른다.
그는 Blacksmith의 특별한 접근법의 큰 부분이 캐시 산출물을 작업을 실행하는 연산 노드 가까이로 옮기는 데 있다고 설명한다.
공동창업자는 처음 200개 고객을 확보하기가 매우 어려웠다고 말한다. 처음에는 기업에서 일하는 친구들에게 제품을 써보라고 부탁했고, 신뢰를 쌓기 위해 웹사이트에 로고를 올려도 되는지 허락을 구했다. 이후 창업자들은 CTO, 엔지니어링 VP, 플랫폼 엔지니어에게 직접 연락했다.
초기 고객은 Blacksmith 자신처럼 작은 회사들이었다. 이들은 빠르게 움직이기를 원했고, 빠른 CI를 원했으며, 규제가 적었다. 그는 엔지니어를 설득하는 유일한 진짜 방법은 성과를 내고 그들이 스스로는 풀지 못했을 문제를 해결하는 것이라고 말한다. 또한 엔지니어들은 까다롭고 새로운 도구를 많이 써보기를 좋아하기 때문에 가장 오래 남는 고객은 아닐 수 있다고 덧붙인다.
공동창업자는 영업팀이 없었는데도 회사가 5자리와 6자리 금액대의 대형 계약을 따낼 수 있었다고 말한다. Blacksmith가 CI를 최대한 빠르게 최적화하고 운영하는 일을 아주 쉽게 만들었기 때문이라는 것이다. 그는 고객이 한 번의 클릭으로 모든 CI를 Blacksmith로 옮길 수 있다고 설명한다.
공동창업자는 LangChain이 최근 GCP에서 CI를 돌리다가 Blacksmith로 옮겨왔다고 말한다. GCP에서는 개발자들이 CI 작업을 돌릴 연산 자원을 확보하는 데만 15~20분씩 기다리는 일이 흔했다.
Blacksmith에서는 사실상 무한한 연산 풀을 쓸 수 있어 대기 시간이 10~15초로 줄었다고 말한다. 그는 이것이 LangChain 개발자들이 코드를 밀어 넣는 속도를 크게 높였다고 설명한다.
공동창업자는 지금 Blacksmith의 큰 목표는 어떤 엔지니어링 팀이든 CI 속도나 생성된 코드에 대한 신뢰를 생각할 때 곧바로 Blacksmith를 떠올리게 만드는 것이라고 말한다.
이를 위해 회사는 샌프란시스코와 뉴욕에 대규모 마케팅 캠페인을 펼치고 있으며, 뉴욕의 지하철역 15곳 이상을 점유하고 지하철 열차 한 대를 선명한 노란색으로 감쌀 계획이라고 설명한다.
공동창업자는 그가 합류했을 때 팀은 약 5명이었고, 수백 대의 서버로 이루어진 작은 클러스터를 운영했다고 말한다. 지금 규모는 몇 자릿수나 커졌고, 팀은 엔지니어 12명을 포함해 30명이다.
그는 이를 몇 가지 핵심 결정 덕분이라고 설명한다. 회사는 플릿 확장을 관리하는 소프트웨어와 스택 모든 계층에 맞춘 관찰 도구 등 맞춤형 소프트웨어를 많이 활용한다. 또한 제품의 표면적을 작고 관리 가능한 수준으로 유지하며, 고객별 맞춤 요구에 응하기보다 팀 규모에 맞춰서만 확장한다고 말한다. 그는 이런 집중 덕분에 아주 작은 팀이 매우 많은 기계와 고객으로 확장할 수 있었다고 말한다.
공동창업자는 가장 큰 과제 중 하나가 수요를 따라잡는 일이라고 말한다. 새로운 LLM이 나올 때마다 사람들이 그것을 테스트하고 더 많은 코드를 배포하려고 몰려들면서 CI 사용량이 크게 치솟는다고 그는 말한다. 기계를 주문하고 설치하는 데 시간이 걸리기 때문에 팀은 기술적으로 창의적이어야 했고, 작업 배치 알고리즘을 개선하고, 작업을 더 효율적으로 묶고, 더 효율적인 네트워크 구조를 도입했다고 설명한다.
그는 올여름 초 시리즈 B 발표 직후 피닉스에서 발생한 전력 급증 사고도 설명한다. 이 사고로 회사의 가장 큰 데이터센터 중 한 곳에서 주 냉각 시스템과 예비 냉각 시스템이 모두 멈췄고, 고객들은 장애 기간 동안 작업 시작 시간이 길어지는 것을 겪었다. 그는 이 일이 지리적 분산의 중요성을 보여주었다고 말한다.
공동창업자는 회사가 개발자들이 코드 변경에 확신을 갖도록 돕고 싶다고 말한다. 회사가 개발 중인 제품 중 하나는 자율 QA로, 변경을 믿을 수 있게 해 주는 스크린샷이나 영상 클립 같은 산출물을 모은다.
그는 쏟아지는 코드의 양을 생각하면 개발자들은 일이 제대로 동작하는지 확인할 시간이 없을 것이라고 주장한다. 그래서 대신 증거를 찾게 될 것이고, Blacksmith는 개발자가 코드를 더 빨리 병합할 수 있도록 확신을 주는 것을 목표로 한다고 말한다. 그는 목표가 병목을 없애고 개발자들이 생각의 속도에 가깝게 소프트웨어를 배포하게 하는 것이라고 설명한다.
자막에서 근거가 되는 대목을 찾아 답합니다.
Y Combinator의 다음 글도 받아볼까요?
Y Combinator에 새 영상이 올라오면, 방금 읽으신 것처럼 정리해서 메일로 보내 드릴게요.
이 채널은 지난 7일 동안 15편 올렸어요.