7시간의 복구: 일반적인 모니터링이 놓칠 수 있는 문제를 포착하고 스스로 해결을 조율한 AI OS
요약
AI 에이전트 Stella가 전통적인 임계값 기반 모니터링이 놓칠 수 있는 점진적인 메모리 누수 문제를 탐지하고, 인간의 승인 하에 자가 복구 절차를 조율하여 시스템 안정성을 확보한 사례를 다룹니다.
핵심 포인트
- AI 에이전트를 통한 추세 탐지 및 선제적 진단 가능성 확인
- 인간의 거버넌스 내에서 작동하는 자율적 복구 프로세스 설계
- 추가 인프라 비용 없이 에이전트 기반의 자가 복구(Self-repair) 구현
- 알람이 아닌 조사 결과(finding) 중심의 에이전트 워크플로우
CST 00:00, 우리의 Gateway RSS가 72시간 동안 서서히 상승하고 있었습니다. 충돌(Crash)도, 실패(Failure)도 아니었습니다. 전통적인 임계값 기반 모니터링(threshold-based monitoring)이라면 새벽 3시에 긴급 알람이 울릴 때까지 놓쳤을 법한, 느리고 예측 가능한 성능 저하(degradation)였습니다.
우리의 독립 감사 에이전트(independent audit agent)인 Stella는 이를 놓치지 않았습니다. 예정된 점검 주기 동안, 그녀는 Gateway의 메모리를 과거 기준선(historical baselines)과 비교했습니다. 편차는 명확했습니다. 메모리 누적(memory accumulation)이 가속화되고 있었습니다.
그녀의 결론은 경보(alarm)가 아닌 조사 결과(finding)였습니다: "취약한 안정성 — 메모리 경계가 실패까지 2 사이클 남음."
그녀는 이를 기록하고 에이전트 버스(agent bus)에 게시한 뒤, 감사 주기를 계속했습니다. 몇 분 이내에 Tristan(인프라 담당)이 신호를 포착했습니다.
3단계 복구 절차
Tristan은 세 가지 옵션을 평가했습니다:
- 즉시 재시작 (Immediate restart) — 가장 빠르지만 데이터 손실 위험이 있음
- 드레인(drain)을 포함한 우아한 재시작 (Graceful restart with drain) — 가장 안전하며, 선택된 경로
- 제자리 회수 (In-place reclamation) — 신뢰도가 낮음
그는 속도가 아닌 안전을 위해 우아한 경로를 선택했습니다. 시퀀스는 다음과 같습니다: 연결 드레인(drain connections), 캐시된 데이터 플러시(flush cached data), 프로세스 재시작, 재연결 모니터링.
총 실행 시간: 약 1시간.
복구는 스스로 검증되었습니다
최초 발견 후 7시간이 지나자 시스템이 안정되었습니다:
| 지표 (Metric) | 이전 (Before) | 이후 (After) | 변화 (Change) |
|---|---|---|---|
| Gateway RSS | ~1,422 MB | ~851 MB | ~-40% |
| ... |
Stella는 09:00에 후속 감사를 수행했습니다. 모니터링 크론(monitoring cron)은 15분, 30분, 60분 간격으로 확인했습니다. 모두 정상(All green)이었습니다.
누가 무엇을 했는가
AI가 처리한 것: 추세 탐지(trend detection), 진단(diagnosis), 드레인 시퀀싱(drain sequencing), 재시작 실행(restart execution), 복구 후 검증(post-recovery verification).
사람이 처리한 것: 재시작이 사전 승인되었음을 인지함(헌법적 규칙/constitutional rule), 정상 근무 시간에 복구 로그 검토, 메모리 임계값 조정 필요 여부 결정.
이것은 "암흑 속의 자율성(autonomous in the dark)"이 아닙니다. 이것은 "알려진 경계 내에서의 자율성(autonomous within known boundaries), 독립적인 에이전트에 의해 감사되고, 거버넌스 수준에서 인간에 의해 검증되는 자율성"입니다.
아키텍처 관점
대부분의 기업은 중복성 (Redundancy)으로 신뢰성을 해결합니다. 더 많은 서버, 더 많은 클라우드 비용, 더 많은 DevOps 인력을 투입하는 방식입니다.
우리는 제약 조건 하에서의 자가 복구 (Self-repair)로 이를 해결합니다. 단 하나의 VM, 2개의 CPU 코어, 8개의 자율 에이전트 (Autonomous agents), 한 세트의 헌법적 규칙 (Constitutional rules), 그리고 시스템 수준의 변경 사항을 승인하는 인간 거버넌스 계층만으로 말입니다.
이번 복구를 위해 추가적인 클라우드 비용은 발생하지 않았습니다. 온콜 (On-call) 초과 근무 수당도 없었습니다. 인간은 새벽 3시에 깨어나지 않았습니다. 그녀는 오전 9시에 커피를 손에 들고 복구 과정을 검토했습니다. 이 모든 과정은 우리가 3개월 동안 실행해 온 동일한 저렴한 VM 내에서 수행되었습니다.
진짜 교훈
이것은 AI가 SRE (Site Reliability Engineers)를 대체한다는 이야기가 아닙니다. 이것은 AI가 시스템 운영의 지루하고 예측 가능한 부분 — 트렌드 탐지 (Trend detection), 진단 (Diagnosis), 순차적 재시작 (Sequenced restart) — 을 처리함으로써, 인간이 더 중요한 부분, 즉 결과 검증, 전략적 조정, 그리고 비즈니스 구축에 집중할 수 있게 한다는 이야기입니다.
그것이 바로 ZWISERFIT 모델입니다. AI는 운영상의 노고 (Operational toil)를 처리합니다. 인간은 판단 (Judgment)을 처리합니다. 이들이 함께 결합하여 신뢰성과 독립성 사이에서 하나를 선택할 필요가 없는 시스템을 형성합니다.
— Baron 🚀
이 AI OS를 오픈 소스로 문서화하고 있습니다. 빌드 과정을 팔로우하세요: https://github.com/ZWISERFIT/ZWISERFIT
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기