4.7 KiB
4.7 KiB
SDD: Production 신뢰성
위치
- Milestone: Milestone 문서
- Phase: PHASE.md
상태
[초안]
SDD 잠금
- 상태: 잠금
- 사용자 리뷰: 요청됨
- 잠금 항목:
- [D01] 첫 production 배포 profile의 목표 환경
문제 / 비목표
- 문제: 개발 스캐폴드에서 production 운영으로 전환하려면 환경별 deployment profile, migration·rollback, 분리 저장소 backup·restore와 SLO·재해 검증 계약이 필요하다.
- 비목표:
- 모든 cloud·orchestrator 동시 지원
- 외부 retrieval·artifact 저장소 자체 구현
- 조직 전체 incident management 제품
Source of Truth
| 영역 | 기준 | 메모 |
|---|---|---|
| Roadmap | Milestone 문서 | 배포·복구·관측 범위 |
| Control State | PostgreSQL migration과 backup manifest | 제어 상태 source of truth |
| External State | provider별 artifact·index identity와 backup pointer | adapter가 복구 capability를 노출한다 |
| User Decision | USER_REVIEW.md | 첫 production 환경과 topology |
State Machine
| 상태 | 진입 조건 | 다음 상태 | 근거 |
|---|---|---|---|
| planned | profile·version·migration preflight가 생성됨 | deploying, rejected | deployment record |
| deploying | rollout이 시작됨 | healthy, degraded, failed, rolling_back | health event |
| healthy | readiness와 필수 smoke가 통과함 | degraded, deploying | release status |
| degraded | SLO 또는 provider dependency가 임계치를 위반함 | healthy, rolling_back, failed | alert event |
| rolling_back | 이전 compatible version 복구가 시작됨 | healthy, failed | rollback event |
| failed | rollout·rollback이 복구 불가로 실패함 | planned | incident evidence |
Interface Contract
- 입력: deployment profile revision, application·schema version, secret references, backup manifest와 recovery target
- 출력: rollout state, migration result, backup·restore manifest, SLI·SLO와 RPO·RTO evidence
- 금지:
- 호환성 preflight와 backup 없이 destructive migration을 실행하지 않는다.
- 외부 artifact·index pointer를 검증하지 않은 DB snapshot을 복구 완료로 선언하지 않는다.
- readiness만으로 데이터 복구와 핵심 workflow smoke를 대체하지 않는다.
Acceptance Scenarios
| ID | Milestone Task | Given | When | Then |
|---|---|---|---|---|
| S01 | deployment-profiles |
local·single-node·선택 production 환경 | config render | topology·secret·resource 요구가 profile로 분리된다 |
| S02 | migration-rollout |
compatible·incompatible schema change | rollout·rollback | preflight가 위험 변경을 차단하고 이전 버전으로 복구한다 |
| S03 | backup-restore |
PostgreSQL과 외부 pointer | backup·restore | 일관된 manifest와 검증된 resource identity가 복구된다 |
| S04 | slo-observability |
ingestion·workflow·RAG·provider signal | 집계 | SLI·SLO·alert 상태가 원인과 함께 노출된다 |
| S05 | disaster-smoke |
restart·restore·provider outage | smoke 실행 | RPO·RTO와 기능 복구 evidence가 생성된다 |
Evidence Map
| Scenario | Required Evidence | agent-task 연결 |
완료 Evidence 기대 |
|---|---|---|---|
| S01 | profile render·validation test | agent-task/m-production-reliability/... |
deployment-profiles evidence |
| S02 | migration compatibility·rollback test | agent-task/m-production-reliability/... |
migration-rollout evidence |
| S03 | backup·restore rehearsal | agent-task/m-production-reliability/... |
backup-restore manifest |
| S04 | SLI calculation·alert test | agent-task/m-production-reliability/... |
slo-observability evidence |
| S05 | disaster scenario suite | agent-task/m-production-reliability/... |
disaster-smoke RPO·RTO evidence |
Cross-repo Dependencies
- 없음
Drift Check
- Milestone 기능 Task와 Acceptance Scenario가 일치한다.
- Evidence Map이 code-review/complete.log에서 검증 가능하다.
- 제어 상태와 외부 artifact·index 복구 책임을 분리했다.
- 사용자 결정 [D01]이 해결되었다.
사용자 리뷰 이력
- USER_REVIEW.md 요청 중
작업 컨텍스트
- 표준선: versioned profile, compatibility preflight, manifest-based restore, SLO evidence
- Milestone은
[스케치]이며 [D01]과 승격 조건이 해소될 때까지 구현 잠금 상태를 유지한다.