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