에러 처리와 엣지 케이스
자동화가 고장날 때 (반드시 그럴 거예요) 우아한 에러 처리가 사소한 문제와 재앙의 차이를 만들어요. 견고한 워크플로우를 구축해요.
프리미엄 강좌 콘텐츠
이 레슨은 프리미엄 강좌의 일부예요. Pro로 업그레이드하면 모든 프리미엄 강좌와 콘텐츠를 이용할 수 있어요.
- 모든 프리미엄 강좌 이용
- 1000개 이상의 AI 스킬 템플릿 포함
- 매주 새로운 콘텐츠 추가
새벽 3시 긴급 호출
🔄 Quick Recall: 이전 레슨에서 멀티스텝 데이터 워크플로우를 구축했어요 — 도구 연결, 데이터 변환, 룩업. 이번에는 피할 수 없는 현실을 다뤄요: 자동화는 반드시 고장나요. 문제는 “고장나느냐"가 아니라 “어떻게 고장나느냐"예요.
실제 사례: 재시도 로직이 잘못 설정돼서 고객에게 중복 인보이스가 발송됐어요. 자동화가 “작동 중"이었지만 잘못 작동하고 있었어요. 사일런트 실패의 전형이에요.
실패 모드 인벤토리
모든 자동화가 맞닥뜨릴 수 있는 실패를 파악하세요:
외부 실패:
- API 타임아웃
- 요청 제한 초과
- 서비스 장애
- 인증 만료
- 데이터 소스 변경
데이터 실패:
- 필수 필드 누락
- 잘못된 데이터 포맷
- 중복 제출
- null/빈 값
- 예상치 못한 특수 문자
로직 실패:
- 조건이 잘못 평가됨
- 루프가 종료되지 않음
- 레이스 컨디션
- 오래된(stale) 데이터
재시도 전략
절대 하지 마세요 — 무한 재시도:
❌ 실패 → 재시도 → 실패 → 재시도 → 실패 → 재시도... (영원히)
스마트 재시도:
✅ 실패 → 1분 대기 → 재시도 → 실패 → 5분 대기 → 재시도 → 실패 → 알림
지수 백오프 + 지터:
✅ 실패 → 1-2분 대기 → 재시도 → 4-8분 대기 → 재시도 → 16-32분 대기 → 알림
랜덤 지터를 추가하면 여러 자동화가 동시에 재시도해서 서버를 과부하시키는 걸 방지해요.
멱등성: 안전망
각 단계를 “이미 성공했나?“를 확인하도록 설계하세요. 재시도해도 같은 결과를 보장하는 멱등 설계가 중복 처리를 방지해요.
엣지 케이스 처리
| 카테고리 | 예시 | 처리 방법 |
|---|---|---|
| 빈/null 데이터 | 이름 없음, 0원 금액, 이메일 없음 | 기본값 또는 건너뛰기 + 로깅 |
| 경계값 | 1월 1일, 수량 1, 10,000자 | 경계 테스트 케이스 작성 |
| 포맷 변형 | 전화번호 포맷, 이름의 특수문자 | 정규화 단계 추가 |
| 타이밍 | 중복 제출, 서머타임, 타임존 | 중복 감지, UTC 사용 |
AI를 활용해 엣지 케이스를 발견하세요:
이 자동화 워크플로우의 엣지 케이스를 찾아줘:
[워크플로우 설명]
데이터 엣지 케이스, 타이밍 엣지 케이스,
외부 서비스 실패 시나리오를 포함해서
각 케이스의 처리 방법도 제안해줘.
✅ Quick Check: 여러분의 자동화 후보에서 각 단계가 실패하면 어떻게 되나요? “모르겠어요"라면 그게 취약점이에요.
에러 처리를 설계에 내장하기
모든 단계에 대해:
| 항목 | 내용 |
|---|---|
| 예상 인풋 | 필드, 포맷, 범위 |
| 유효성 검사 | 인풋이 올바른지 확인 |
| 성공 아웃풋 | 정상 시 결과 |
| 실패 모드 | 가능한 실패 3가지 이상 |
| 복구 액션 | 각 실패에 대한 대응 |
| 알림 규칙 | 누구에게, 어떻게, 언제 |
| 로깅 | 기록할 데이터 |
모니터링과 알림
| 메트릭 | 설명 |
|---|---|
| 성공률 | 에러 없이 완료된 비율 |
| 실행 시간 | 성능 추적 |
| 에러 수 | 일별 실패 횟수 |
| 처리량 | 처리된 레코드 수 |
| 큐 깊이 | 백로그 확인 |
알림 케이던스:
- 즉시: 성공률 95% 미만, 크리티컬 에러
- 일간 다이제스트: 에러 요약, 비정상 패턴
- 주간 리뷰: 트렌드 분석, 자주 발생하는 에러
에러 처리 체크리스트
- 모든 단계에 성공/실패 상태 정의
- 최대 시도 횟수가 있는 재시도 로직
- 멱등 재시도 (중복 처리 방지)
- null/빈 데이터 처리
- 중복 트리거 감지
- 복구 불가능 에러 시 담당자에게 알림
- 에러 로깅
- 수동 오버라이드 존재
핵심 정리
- 사일런트 실패가 최악 — 모든 게 작동하는 것처럼 보이지만 잘못되고 있어요
- 재시도 전략에 최대 시도 횟수와 백오프가 필요
- 엣지 케이스가 대부분의 자동화 실패를 일으켜요
- 모든 단계에 성공/실패/복구를 정의
- 성공률, 실행 시간, 에러 수를 모니터링
- 에러 처리 체크리스트가 흔한 실수를 방지
Up Next: 다음 레슨 — 자동화를 설계하고 에러를 방지했어요. 이제 제대로 테스트하고 장기 안정성을 위해 최적화해요.
이해도 체크
먼저 위의 퀴즈를 완료하세요
레슨 완료!