PR 마다 환경을 띄운다 — 12개월 비용 분석
모든 PR 에 ephemeral 환경을 띄운다는 결정은 *유혹적* 이다. 12개월간 측정한 진짜 비용은 *클라우드 청구서가 아니라 다른 곳* 에 있었다.
작년 1월, 모든 PR 마다 ephemeral 환경 을 띄우는 결정을 내렸다. 1년 후, 그 결정의 진짜 비용 표 를 갖게 됐다.
청구서 비용은 예상보다 적었다. 다른 비용이 예상보다 컸다.
청구서 비용 — 예상보다 적은 부분
PR 당 환경 평균 수명: 2.4 시간 (PR 열림→첫 커밋, 첫 커밋→merge 사이)
주당 평균 PR 수: 62
월 환경-시간: ~6,500
EC2 (소형): $0.05 / 시간 × 6,500 = $325
RDS (서버리스 Aurora): $180
EBS: $90
네트워크: $40
─────────────────────────────────
청구서 합: $635 / 월 = $7,620 / 연12개월 후 실제 청구: $8,400. 예상의 +10%. 수치적으로는 깨끗.
청구서 밖 의 비용
여기서 진짜 가 시작된다.
1. 환경 부팅 시간 으로 사라진 엔지니어 시간
PR 한 번에 환경 부팅 평균 4분 12초. 부팅 동안 엔지니어는 기다림. 1년 동안:
3,224 PR × 4.2 분 = 13,540 분 = 225 시간 = ~$22,500 (engineer rate)청구서 비용의 3배. 이게 가장 비싼 항목 이었다.
2. 삭제 안 되는 환경
이론상 PR merge 후 자동 삭제. 실제: 14% 의 환경이 어떤 이유로 자동 삭제 실패 함. 매뉴얼 cleanup 잡을 분기 1회 돌려서 약 60개 고아 환경 제거.
연간 고아 환경 누적 비용 — 약 $1,200 (무시 가능 수준이지만 0이 아님).
3. DB seed 데이터 관리
ephemeral 환경마다 DB seed 가 필요. 처음에 production 의 일부 anonymized snapshot 으로 시작. 6개월 후, seed 데이터의 노후화 발견 — 새 schema 가 추가됐는데 seed 가 갱신되지 않음. 환경에서 통과 한 PR 이 production 에서 schema mismatch. 인시던트 2건.
해결 — seed 자동 갱신 파이프라인 + seed schema 검증 도구. 추가 인프라 2주 작업. 그 후 분기 1회 점검.
4. 외부 의존성 처리
ephemeral 환경이 외부 API (Stripe, SendGrid 등) 에 어떻게 연결하나? 옵션 두 개:
- 공유 sandbox 자격증명 사용 — 모든 환경이 같은 sandbox. 동시성 문제 가능.
- 환경별 sandbox 발급 — 외부 vendor API 호출, vendor 측 quota 소진.
우리 선택: 공유 sandbox + test-isolation namespace. 깔끔하진 않지만 동작.
5. Cleanup 모니터링
자동 cleanup 이 실패 없이 작동 하는지 검증해야 함. 실패하면 청구서가 늘어남. cleanup 성공률 dashboard 박음. 분기 1회 점검.
그래서 도입할 가치가 있나
연간 청구서 비용: $8,400
연간 엔지니어 부팅 대기 시간: $22,500
연간 고아 환경: $1,200
연간 추가 인프라 운영: $4,800
─────────────────────────────
연간 총 비용: $36,900
연간 절감 (가설):
- PR 리뷰 빨라짐: $25,000 (정성적)
- 회귀 인시던트 감소: $15,000 (가설)
- QA 사이클 단축: $10,000
─────────────────────────
연간 절감: $50,000순 가치 약 $13,000 / 연. 작지만 양수.
다만 순 가치가 양수 라는 게 핵심이 아니다. 부팅 시간 22,500 달러 가 가장 큰 항목인데, 이건 부팅 시간 단축 으로 직접 줄일 수 있다. 부팅 시간을 4분 → 1분 으로 줄이면 연간 비용이 $15,000 줄어 순 가치가 $28,000 이 된다.
도입 전 에 점검할 4 가지
- seed 데이터 자동 갱신 파이프라인 이 있나
- 외부 의존성 의 sandbox 정책이 있나
- 자동 cleanup 의 실패 처리 가 자동인가
- 부팅 시간 의 target 이 명시되어 있나 (보통 90초 이하)
이 4 가지가 없는 채로 시작하면 위 비용이 각각 1.5~2배 로 올라간다.
누가 이 글을 읽으면 좋은가
지금 ephemeral 환경 도입을 검토 중 인 플랫폼 리드. 위 4 가지가 없는 상태 라면, 도입 전 에 그것을 만드는 게 총 비용을 절반 으로 줄인다.
비슷한 글
에이전틱 DevOps 12개월 후 — 첫 가설 중 무엇이 *맞았고* 무엇이 *틀렸나*
12개월 전 다음 10년의 DevOps는 에이전틱이다 의 가설들. 12개월의 데이터로 어느 가설이 맞고 어느 게 틀렸는지의 정직한 평가.
백재민
3 pillars 그 후 — 4 추가 신호의 *6개월 후* 운영 노트
3 pillars 가 더 이상 충분하지 않은 이유 발행 후 6개월. 4 추가 신호 (events / user journeys / deploy correlation / similarity) 가 운영에서 어떻게 작동했는지의 후속.
백재민
GitHub Actions vs 자체 호스팅 — *진짜 비용* 비교 (12개월 데이터)
GitHub Actions 가 *비싸 보임* 은 표면. 12개월 자체 호스팅 vs SaaS 비교 — 단순 *분당 비용* 이 아니라 *총 운영 비용* 으로.
백재민