pile·
아키텍처·gitlab-engGitLab Blog·

GitLab 속도 제한 마이그레이션에 AI 에이전트를 활용한 방법

GitLab은 애플리케이션 레벨 속도 제한 시스템과 Rack 레벨 시스템 두 개를 동시에 운영하고 있었다. 3인 팀이 AI 에이전트를 활용해 121개 키 전체를 labkit-ruby 단일 구현으로 통합하는 마이그레이션을 수행하며 에이전트가 코드 생성의 병목을 해소하지만 리뷰 역량과 롤아웃 판단이 새로운 병목으로 떠오른다는 사실을 발견했다.

핵심 포인트
  • 3인 팀이 121개 속도 제한 키를 30개 이상의 MR을 통해 마이그레이션하면서 AI 에이전트를 코드 생성·검토 보조 도구로 활용했다.
  • 엄격한 에이전트 작업 흐름: epic 읽기 → 명세 작성 → 명세 적대적 검토 → 구현 → 증거 기반 검증 → MR 적대적 검토 → 인간 에스컬레이션 → 머지.
  • 초기 코호트 5개 키(pipelines_create, notes_create, user_sign_in 포함) 롤아웃: 1% → 10% → 50%(5월 4일) → 100%(다음날) 순서로 진행.
  • 에이전트는 코드베이스 전반 95개 호출 지점 통합 같은 기계적 팬아웃 작업에서 특히 효과적이었다.
  • Redis 클러스터 주요 샤드 CPU 포화로 75,000 커넥션 시점에 강제 중단이 발생해 인프라 제약이 마이그레이션 페이스를 결정했다.
상세 정리
  • 배경: GitLab이 애플리케이션 레벨과 Rack 레벨 두 개의 속도 제한 시스템을 병행 운영하던 상황. 목표는 두 시스템을 labkit-ruby의 단일 구현으로 통합.
  • 팀 구성: Max Woolf, Bob Van Landuyt, Sam Wiskow 3인.
  • 엄격한 작업 흐름: epic 읽기 → 명세 작성 → 적대적 검토(refute-first, 2라운드 이내 해소 안 되면 인간 에스컬레이션) → 블로커 해소 후 구현 → 명시적 증거로 검증 → MR 적대적 검토 → 머지.
  • 초기 코호트 선정: 트래픽 상위 5개 키(pipelines_create, notes_create, user_sign_in 포함)를 먼저 선택.
  • 피처 플래그 기반 점진적 롤아웃: 1% → 10% → 50%(2026-05-04) → 100%(다음날) 순서로 코호트별 확산.
  • 섀도 모드 인시던트: 인증되지 않은 코드 경로에서 식별자가 의도치 않게 누락되는 버그를 섀도 모드에서 발견. 포스 모드 전환 전 수정 완료.
  • 누락 키 발견: 초기 분석에서 EE 전용 제한 키 17개와 고아(orphaned) 어댑터 행이 빠져있었음. 이후 스캐닝으로 발견해 포함.
  • Redis 병목: 주요 샤드에서 CPU 포화 현상이 발생해 75,000 Redis 커넥션 시점에 강제 중단. 4-샤드 클러스터 구조에서 특정 샤드에 부하 집중.
  • 기계적 팬아웃에서의 효과: 95개 호출 지점을 새 프레임워크로 전환하는 반복 작업에서 에이전트가 큰 효과를 발휘.
  • 병목 이동: 에이전트 도입 후 코드 생성이 아닌 리뷰 역량, 롤아웃 판단, 운영자 주의가 새로운 제약 자원으로 떠오름.
  • 결과: 2026년 6월 중순 기준 121개 키 전체가 새 프레임워크를 통해 동작. 피처 플래그 전략과 시스템 동작 검증에는 인간 판단이 필수적이었음.
왜 읽나AI 에이전트를 대규모 레거시 마이그레이션에 실제로 투입한 팀의 성공과 실패, 그리고 "병목이 코드 생성에서 리뷰 역량으로 이동한다"는 예리한 관찰을 실전 사례로 확인할 수 있다.
gitlab-eng
GitLab Blog 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 아키텍처·dropbox-techDropbox Tech·

    Dropbox의 통합 콘텐츠 처리 플랫폼 Riviera, AI 시대로의 진화

    Dropbox가 파일 미리보기 생성용 내부 서비스로 출발한 콘텐츠 처리 플랫폼 Riviera가 약 10년에 걸쳐 Search·Replay·Sign·Dash가 공유하는 플랫폼으로, 나아가 AI 시대의 문서 처리 인프라로 진화한 과정을 다룬다. 미리보기를 '재사용 가능한 변환들의 조합'으로 재정의한 설계가 확장의 핵심이었고, 지금은 100개 넘는 변환 능력으로 초당 수십만 건을 처리한다. 최근엔 공개 API와 MCP로 외부 개발자에게도 열렸다.

  2. 아키텍처·github-engGitHub Engineering·

    AI 시대에 달라진 '예스'의 비용

    GitHub Engineering 에서 AI 코드 생성 도구가 보편화되면서 소프트웨어 엔지니어링 경제학이 어떻게 달라졌는지를 다룬다. 코드를 작성하는 비용은 낮아졌지만 그 코드를 소유하고 유지보수하는 비용은 그대로라는 점을 핵심 논지로, 엔지니어링 팀의 의사결정 방식도 달라져야 한다고 주장한다.

    #engineering-process#ai-code-generation#code-ownership+1
  3. 아키텍처·당근당근 테크블로그·

    천만 MAU를 지탱하는 커뮤니티 시스템 아키텍처

    당근 커뮤니티실이 2021년 약 100 RPS에서 현재 약 20,000 RPS를 처리하는 규모로 성장한 과정과, 이를 가능하게 한 "여러 웹앱 + 하나의 서버앱" 모듈형 모놀리스 아키텍처를 다룬다. 동네생활, 모임, 카페, 아파트 서비스를 소규모 팀이 장기 운영 가능한 구조로 설계한 원칙과, 장애 경험에서 도출한 resilience 패턴까지 단계별로 정리했다.

    #event-driven#kafka#postgres+2