본문 바로가기
C.W.K.
Stream
Lesson 01 of 13 · published

왜 자체 호스팅 러너를 써야 할까

~10 min · self-hosted, decisions, tradeoffs

Level 0견습생
0 XP0/101 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

직접 러너를 도입할 솔직한 이유

  1. 비용. 요금 청구액이 macOS나 large 러너 사용량 때문에 감당이 안 된다면, Mac mini나 홈랩 박스를 직접 구축하는 게 한 분기 안에 본전을 뽑을 수 있어.
  2. 하드웨어. MLX를 쓰려면 Apple Silicon이 필요하고, 학습을 하려면 NVIDIA H100이 필요하지. 크로스 아키텍처 테스트를 위한 ARM도 마찬가지야. 이런 건 표준 호스팅형 러너에서는 지원하지 않아.
  3. 네트워크 접근. 테스트를 하려면 사설 네트워크 안에 있는 서비스(DB, Vault, 내부 API)와 통신해야 할 때가 있어. Hosted 러너로는 그런 곳에 접근할 수 없어.
  4. 영구 캐시. 파일 시스템 수준에서 실행 간에 유지되는 빌드 캐시를 쓸 수 있어. Docker 레이어 캐시, pip 캐시, conda 환경 같은 것들이지.
  5. 이미지 재현성. 우리 팀이 쓰는 정확한 OS와 패키지 세트를 그대로 유지할 수 있어. 환경이 계속 바뀌는 골칫거리가 아니지.

직접 러너를 도입하지 않을 솔직한 이유

  1. 작은 팀. 1~3개 정도의 자체 호스팅 러너를 유지하는 건 괜찮아. 하지만 30개 이상을 관리하려면 그게 네 본업이 되어버려.
  2. 보안 부담. 자체 호스팅 러너는 신뢰할 수 없는 코드(기여자의 PR 등)를 실행하게 돼. 기본 격리 수준이 약하니까 추가로 보안 조치를 해야 해.
  3. 앞서 말한 이유 중 해당하는 게 없음. '있으면 멋져 보여서'는 이유가 될 수 없어.

결정 매트릭스

다섯 가지 솔직한 이유 중 하나라도 맞는다면 직접 러너를 써. 그게 아니라면, 직접 운영하느라 들어가는 엔지니어링 시간보다 호스팅형 러너를 쓰는 게 거의 항상 더 저렴해.

Code

자체 호스팅 러너 타겟팅·yaml
  build-on-apple-silicon:
    runs-on: [self-hosted, macos, apple-silicon]

  train-on-h100:
    runs-on: [self-hosted, gpu-h100, linux-x64]

  internal-integration:
    runs-on: [self-hosted, internal-network]

External links

Exercise

아직 자체 호스팅를 해야 할 이유가 없다면 CI 비용이나 기능적인 한계에서 아쉬운 점 상위 3가지를 적어봐. 5가지 솔직한 이유 중 아무것도 떠오르지 않는다면 호스팅형 러너를 쓰는 게 괜찮다고 인정해. 하나라도 떠오르면 로드맵에 넣어둬.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.