경험 중심 — 추론 서버 장애 발생 후 운영 안정성을 높인 경험
인턴 때 ML 추론 서버를 직접 관리했는데, 배포 중에 서버가 한 번 꺼지면서 5분 넘게 서비스 응답이 0건이 되었습니다. 원인을 보니 컨테이너를 그냥 교체하는 방식이라 새 서버가 뜨기 전에 요청이 들어오면 바로 에러가 발생했습니다.
이후 Kubernetes의 rolling update로 바꾸고, 모델 로딩 완료 후 헬스체크가 통과해야 트래픽이 넘어가도록 설정하였습니다. 모델 파일이 1.5GB라 로딩에 15초가 걸렸는데, initialDelaySeconds를 너무 짧게 설정하여 배포가 롤백되는 실수도 있었습니다.
수정 후에는 배포 중 에러율이 0에 가깝게 유지되었습니다. 또한 Prometheus로 추론 레이턴시 p95를 모니터링하도록 추가하여, 이상 시 팀 채널에 알림이 오게 하였습니다. 작은 규모였지만 ML 서버는 일반 서버보다 시작 시간이 길어서 헬스체크 튜닝이 훨씬 중요하다는 것을 직접 느꼈습니다.