Choorai
Cycle 6

운영 (Ops) 기초

서비스를 안정적으로 운영하기 위한 배포 전략, 모니터링, 장애 대응, 비용 관리를 배웁니다.

이 Cycle에서 배우는 것

  • 배포 전략 (Blue-Green, Rolling)
  • 모니터링과 알림 설정
  • 장애 대응 프로세스
  • 비용 관리와 최적화

배포 전략

새 버전을 배포할 때 다운타임 없이 안전하게 배포하는 방법입니다.

Blue-Green 배포

두 개의 동일한 환경(Blue/Green)을 준비하고, 트래픽을 한 번에 전환합니다.

Blue (현재)
→ 전환 →
Green (새 버전)

장점: 빠른 롤백 가능 | 단점: 리소스 2배 필요

Rolling 업데이트

인스턴스를 순차적으로 교체합니다. Cloud Run의 기본 전략입니다.

v1 v1 v2 v1 v2 v2 v2 v2 v2

장점: 리소스 효율적 | 단점: 롤백이 새 배포와 동일

롤백 방법

터미널
# Cloud Run에서 이전 버전으로 롤백
gcloud run services update-traffic my-api \
  --to-revisions=my-api-00001-abc=100 \
  --region=asia-northeast3

# Cloudflare Pages 롤백 (대시보드에서)
# Deployments → 이전 배포 → Rollback to this deploy

모니터링 기초

로그 수집

Cloud Run은 자동으로 Cloud Logging에 로그를 수집합니다.

main.py
# FastAPI에서 구조화된 로그 출력
import logging
import json

logger = logging.getLogger(__name__)

@app.get("/api/users/{user_id}")
def get_user(user_id: int):
    logger.info(json.dumps({
        "action": "get_user",
        "user_id": user_id,
        "status": "success"
    }))
    return {"id": user_id}

핵심 메트릭

응답 시간

p50, p95, p99 확인

목표: p95 < 200ms

에러율

5xx 에러 비율

목표: < 0.1%

요청 수

분당/시간당 요청

트래픽 패턴 파악

리소스 사용량

CPU, 메모리

스케일링 기준

알림 설정

터미널 (예시)
# GCP에서 알림 정책 생성 (CLI)
gcloud alpha monitoring policies create \
  --display-name="High Error Rate Alert" \
  --condition-display-name="Error rate > 1%" \
  --condition-filter='resource.type="cloud_run_revision" AND metric.type="run.googleapis.com/request_count"'

알림 채널 추천

  • Slack: 팀 채널로 즉시 알림
  • Email: 일일 요약 리포트
  • PagerDuty: 긴급 장애 시 온콜 호출

장애 대응

인시던트 대응 프로세스

1

감지

모니터링 알림 또는 사용자 신고

2

분류

심각도 판단 (Critical/High/Medium/Low)

3

완화

롤백, 스케일 업, 트래픽 차단 등

4

해결

근본 원인 파악 및 수정

5

회고

포스트모템 작성, 재발 방지책 수립

롤백 결정 기준

  • 에러율이 1% 이상 증가
  • p95 응답시간이 2배 이상 증가
  • 핵심 기능이 5분 이상 장애
  • 수정 예상 시간이 15분 이상

비용 관리

무료 티어 활용

서비스 무료 제공량
Cloudflare Pages 무제한 요청, 500회/월 빌드
Cloud Run 200만 요청/월, 180,000 vCPU-초/월
Supabase 500MB DB, 1GB 스토리지
Neon 0.5GB 스토리지, 191시간/월 컴퓨팅

비용 알림 설정

비용 알림
# GCP 예산 알림 설정 (콘솔에서)
# 1. 빌링 → 예산 및 알림 → 예산 만들기
# 2. 월 $10, $50, $100 등 임계값 설정
# 3. 50%, 90%, 100% 도달 시 이메일 알림

예상치 못한 비용 주의

  • 데이터 전송(Egress) 비용이 의외로 큼
  • 로그 저장 비용도 무시 못 함
  • 개발용 인스턴스 끄는 것 잊지 말기

운영 런북 확장

축하합니다!

모든 학습 사이클을 완료했습니다! 이제 웹 서비스를 만들고 배포하고 운영하는 기본기를 갖추었습니다. Agent Recipes를 활용해서 실제 프로젝트를 시작해보세요.

마지막 업데이트: 2026년 2월 22일 · 버전: v0.0.1

피드백 보내기

입력한 내용으로 새 이슈 페이지를 엽니다.

GitHub 이슈로 보내기