WEBBOOK CHAPTER

웹서비스 트러블슈팅, 증거로 고치는 법: 1장. 장애와 결함을 구분한다

1장. 장애와 결함을 구분한다

결함은 코드·설정·절차의 문제이고, 장애는 사용자가 기대한 서비스를 받지 못하는 사건이다. 결함이 있어도 장애가 아닐 수 있고, 코드 결함 없이 의존 공급자·인증서·용량 때문에 장애가 날 수 있다. 첫 문장은 “DB가 이상하다”가 아니라 “14:02부터 모바일 결제 시도 31%가 10초 안에 완료되지 않는다”처럼 쓴다.

시간, 기능, 사용자 집단, 지역, client, status, latency, 최근 변경을 고정한다. 평균만 보지 않고 성공률과 p50/p95/p99, timeout, abandon을 본다. 내부 CPU가 정상이어도 사용자는 실패할 수 있다.

완료 기준은 원인 발견이 아니라 사용자 경로 회복, 데이터 대사, 관측 정상화, 재발 방지 owner 지정이다.