용량과 성능
용량 관리는 리소스가 불필요한 비용을 발생시키거나 의존 리소스를 고갈시키지 않으면서 측정된 수요를 충족할 수 있는지 평가합니다. FDAI는 확장 작업을 제안하기 전에 현재 사용률, 예측 근거, 최소 용량 하한, 의존성 검사, 승격 상태를 종합적으로 검토합니다.
용량 근거
섹션 제목: “용량 근거”- 리소스별, 시간 구간별 현재 사용률과 포화도.
- 수요 추세, 예측 기간, 불확실성, 예상 위반 시점.
- 최소 및 최대 용량과 사전 확보 용량의 하한.
- 할당량, 리전별 가용성, 의존 리소스의 제약 조건.
- 워크로드 SLO 및 오류 예산에 미치는 영향.
- 예상 비용과 롤백 또는 용량 축소 경로.
원격 분석 데이터가 누락되거나 오래된 경우, 근거는 ‘사용할 수 없음’ 또는 ‘검토를 위해 보류’ 상태로 처리됩니다. 이를 수요가 0이라는 가정으로 해석하지 않습니다.
전문 에이전트 간 충돌 없이 결정하기
섹션 제목: “전문 에이전트 간 충돌 없이 결정하기”Freyr는 용량을 평가하고 Njord는 비용을 평가합니다. 안정성을 위해 용량을 늘리라는 권고와 효율성을 위해 용량을 줄이라는 권고처럼 두 에이전트의 의견이 충돌할 수 있습니다. 전문 에이전트는 자문 역할만 수행하며, Forseti와 안전성 검사가 설정된 우선순위와 자율성 상한을 적용합니다.
권고가 충돌하면 Forseti는 영역 간 중재를 요청합니다. Odin은 규칙 카탈로그에서 버전이 관리되는 우선순위 정책을 적용하고, Forseti가 결정을 내리기 전에 재현 가능한 단일 중재 결과를 반환합니다. 기본 정책은 비용 및 아키텍처 관련 권고보다 SLO 보호를 우선하지만, 배포 환경에서는 에이전트 코드를 변경하지 않고 검토를 거친 정책을 적용할 수 있습니다. 중재 결과는 판단 근거로 사용되며, 안전성 검사의 상한을 완화할 수는 없습니다.
예시: 낮은 사용률을 근거로 용량 축소를 권고하지만 SLO 예측에서는 용량 한도 위반이 임박한 것으로 나타남 → 설정된 우선순위 정책이 SLO 하한을 유지함 → what-if가 할당량과 의존성을 추가로 확인함 → 안전성 검사가 섀도 모드, 승인 또는 승격된 실행 중 하나를 결정함.
용량 확장 및 축소 제안 흐름
섹션 제목: “용량 확장 및 축소 제안 흐름”- 탐지기 또는 예약된 평가가 용량 관련 탐지 문제를 생성합니다.
- 탐지된 문제를 워크로드 SLO, 현재 변경 사항, 인시던트와 연관 짓습니다.
- what-if가 할당량, 의존성, 용량 하한, 예상 효과를 검증합니다.
- 형식이 지정된 용량 조정 제안에 적용 범위, 배치, 변경 속도, 중단 조건, 롤백을 포함합니다.
- 섀도 모드의 근거와 승격 상태에 따라 제안이 승인 단계 또는 승격된 자동 동작으로 진행할 수 있는지 결정합니다.
안전 보호 장치
섹션 제목: “안전 보호 장치”선언된 안전 용량 하한 미만으로 축소하거나, 의존 리소스를 고립시키거나, 할당량을 초과해서는 안 됩니다. 또한 예측을 실행 권한으로 취급해서는 안 됩니다. 리소스별 잠금과 제한된 배치 변경을 통해 서로 충돌하는 용량 조정 작업이 경쟁적으로 실행되는 상황을 방지합니다.
| 실행 시점 점검 | 통과하면 | 실패하거나 알 수 없으면 |
|---|---|---|
| 수요와 SLO 근거가 최신인지 | what-if로 넘어갑니다 | 근거 확인 불가로 보류합니다 |
| 할당량과 의존성 점검 통과 | 타입이 정의된 제안을 만듭니다 | 제안을 만들지 않습니다 |
| 하한선, 배치, 속도 제한 충족 | 안전성 검토로 넘어갑니다 | 거부하거나 범위를 좁힙니다 |
| 잠금과 멱등성 확보 성공 | 최대 한 번만 적용합니다 | 안전하게 재시도하거나 미실행으로 둡니다 |
| 중단 조건이 정상 유지 | 제한된 배치를 계속 진행합니다 | 중단하고 보상 정책을 적용합니다 |
다음 단계
섹션 제목: “다음 단계”| 알아볼 내용 | 문서 |
|---|---|
| 예측이 만들어지는 방법 | 관측성, 감지, 예측 |
| 워크로드 영향을 측정하는 방법 | SLO와 오류 예산 |
| 비용과 용량이 서로 영향을 주는 방식 | 비용 거버넌스 |
| 작업을 승격하는 방법 | 관찰 후 적용 |