SLI SLO - 100-hours-a-week/9-team-Devths-WIKI GitHub Wiki
๋ณธ ๋ฌธ์๋ ํ์ฌ V1 ๊ธฐ์ค์ผ๋ก ์์ฑํ ์ด์์ด๋ฉฐ, 1์ฐจ ์์ฑ ๋ฐฐํฌ, V2~ ์ดํ ์์ฑ์ ์งํ ํ ์์ ์ ๋๋ค.
์๋น์ค ์์ค ๋ชฉํ(SLO) / ์๋น์ค ์์ค ์งํ(SLI)
์ค์ ์๋น์ค ๊ธฐ์ค ์๋น์ค ์์ค ๋ชฉํ ์ค์ ๋๋ฌด ๋๊ฒ ์ก์ผ๋ฉด ์๋น์ค ์ด์ ๋น์ฉ ํญ์ฆ, ๋๋ฌด ๋ฎ๊ฒ ์ก์ผ๋ฉด ์ฌ์ฉ์๊ฐ ๋ ๋จ.
1. ์ด๋ ฅ์ ๋ถ์ ์๋น์ค
๊ธฐ๋ค๋ฆผ์ด ์ง๋ฃจํ์ง ์์์ผ ํ๋ค.
- ์ค์ ํค์๋:
์ฑ๊ณต ์ฌ๋ถ์ฒด๊ฐ ๋๊ธฐ์๊ฐ - SLO ๋ชฉํ: ์ด๋ ฅ์๋ฅผ ์ฌ๋ฆฌ๋ฉด ์ค๋ฅ ์์ด ๋ถ์๋์ด์ผ ํ๊ณ , ๋๋ฌด ์ค๋ ๊ธฐ๋ค๋ฆฌ๋ฉด ์๋๋ค.
- ์ด๋ ฅ์ ๋ถ์์์ ์ค๋ฅ ๋ฐ์ ์ ์ฌ์ฉ์ ๊ฒฝํ ์ ํ
- ์ค๋ ๊ธฐ๋ค๋ฆด ๊ฒฝ์ฐ ์ฌ์ฉ์ ์ดํ ๋ฐ์
- 99%์ ์ ํจํ ์ด๋ ฅ์๋ ์ ๋ก๋ ์คํจ ์์ด ๋ถ์๋์ด์ผํ๋ค.
- 90%์ ์ฌ์ฉ์๋ 30์ด ์ด๋ด์ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์์ผํ๋ค.
- SLI ์ธก์ ๋ฐฉ์
- ์ด๋ ฅ์ ์ฒ๋ฆฌ ์ฑ๊ณต๋ฅ :
(๋ถ์ ์๋ฃ ๋ก๊ทธ ์ / ์ ๋ก๋ ์์ฒญ ๋ก๊ทธ ์) * 100 - E2E ์ฒ๋ฆฌ ์๊ฐ: ์ด๋ ฅ์ ์
๋ก๋ ํ
์ข ํฉ ๋ถ์ํ๊ธฐ๋ฒํผ ํด๋ฆญํ์ฌ ๋ถ์ ์๊ฐ ํ, ๋ถ์ ์๋ฃ ๊ฒฐ๊ณผ DB ์ ๋ฐ์ดํธ ์๊ฐ (ํ์ฌ ์๋ฆผ์ด ๋น๋๊ธฐ์ ์ผ๋ก ์ฒ๋ฆฌ๋๋, ํธ์ ์๋ฆผ ๋ฑ์ ์์คํ ์๋ฆผ์ ๋ฐ์ํ์ง ์๊ธฐ ๋๋ฌธ์, DB ๊ธฐ์ค์ผ๋ก ๋ก๊ทธ ์์ง)
- ์ด๋ ฅ์ ์ฒ๋ฆฌ ์ฑ๊ณต๋ฅ :
2. AI ๋ชจ์ ๋ฉด์ ์๋น์ค
๋ํ๊ฐ ๋๊ธฐ์ง ์์์ผ ํ๋ค.
- ์ค์ ํค์๋:
์ฒซ ๋ฐ์ ์๋ - SLO ๋ชฉํ: ๋ง์ ๊ฑธ๊ฑฐ๋, ์๋ต์ ํ๋ฉด ์ฆ๊ฐ์ ์ผ๋ก ๋ฐ์ํ๋ ๊ฒ์ผ๋ก ๋๊ปด์ผ ํ๋ค.
- ๋ฉด์ ์ ํธํก์ด ๋์ด์ง๋ฉด ์ฌ์ฉ์ ๊ฒฝํ์ด ์ ํ
- ๋ฉด์ ์งํ ์ค ์ค๋ฅ๋ก ์ฐ๊ฒฐ์ด ๋์ด์ง๋ฉด, ์ฌ์ฉ์ ๊ฒฝํ์ด ์ ํ๋๊ณ , ์ดํ ๋ฐ์
- 95%์ ๋ํ์์ AI๋ 2์ด ์ด๋ด์ ์๋ต์ ์์ํด์ผํ๋ค.
- ๋ฉด์ ์งํ ์ค ์ค๋ฅ๋ก ๋ํ๊ฐ ์ค๋จ๋๋ ๊ฒฝ์ฐ๋ 1% ๋ฏธ๋ง์ด์ด์ผํ๋ค.
- SLI ์ธก์ ๋ฐฉ์
- TTFT(Time To First Token): FastAPI ์์ ์์ฒญ ์์ ์๊ฐ ~ ์ฒซ ์คํธ๋ฆฌ๋ฐ ์ฒญํฌ ๋ฐ์ก ์๊ฐ ๊ฐ๊ฒฉ ์ธก์
- ์ธ์
๋น์ ์ ์ข
๋ฃ์จ:
(์ ์ฒด ์ฑํ ์์ฒญ ์ - "incomplete": true ์ธ ๋ฉ์์ง ์) / ์ ์ฒด ์ฑํ ์์ฒญ ์ * 100. DB์ยai_chat_messagesย ํ ์ด๋ธ์ ์กฐํํ์ ๋,ยmetadataย ์ปฌ๋ผ(JSON)์ย"incomplete": trueย ๊ฐ์ด ๋ค์ด์๋ค๋ฉด ์ค๊ฐ์ ๋๊ธด ์คํจํ ๋ํ
3. ์น ์ฌ์ดํธ ๋ฐ์ ์๋
์ฌ์ฉ์ด ๋ต๋ตํ์ง ์์์ผ ํ๋ค.
- ์ค์ ํค์๋:
๋น ๋ฅธ ๋ฐ์ - SLO ๋ชฉํ: ๋งํฌ ๋ฐ ๋ฒํผ์ ํด๋ฆญํ์ ๋, ํ๋ฉด์ ์ฃผ์ ๋ด์ฉ์ด ๋ฐ๋ก ๋ณด์ฌ์ผํ๋ค.
- ํ๋ฉด ์์๊ฐ ๋ก๋ฉ์ค์ ๋ฐ๋๋ฉด ์ฌ์ฉ์ ๊ฒฝํ ์ ํ
- ํ๋ฉด ๋ก๋ฉ์ด ๋๋ ค์ง๊ฑฐ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์ฌ์ฉ์ ์ดํ ๋ฐ์
- 90%์ด์์ ํ์ด์ง ๋ก๋ฉ์ 2.5์ด ์ด๋ด์ ์๋ฃํด์ผํ๋ค.
- ํด๋ฆญ, ์ ๋ ฅ ์ 100ms ์ด๋ด์ ๋ฐ์ํด์ผํ๋ค.
- SLI ์ธก์ ๋ฐฉ์
- LCP (Largest Contentful Paint)
- FID (First Input Delay)
4. ๋ก๊ทธ์ธ / ํ์๊ฐ์ ์๋ต
์๋น์ค ์ ์์ด ์ ์์ ์ด์ด์ผ ํ๋ค.
- ์ค์ ํค์๋:
์ ์ ์๋ - SLO ๋ชฉํ: ๋ก๊ทธ์ธ, ๋ฐ ํ์๊ฐ์
๊ณผ์ ์ด ์ ์์ ์ผ๋ก ์งํ๋์ด์ผํ๋ค.
- ์๋น์ค์ ์ง์ ์ง์ ์ด๋ฏ๋ก, ์๋ฌ ๋ฐ์์ ์ฌ์ฉ์ ์ ์ ์ด ๋ถ๊ฐ๋ฅํ๋ค.
- ์๊ฒฉํ ์๋ฌ ๊ด๋ฆฌ๊ฐ ์งํ๋์ด์ผํ๋ค.
- 99.9%์ ์ฌ์ฉ์๋ ํ์๊ฐ์ /๋ก๊ทธ์ธ ๊ณผ์ ์์ ์์คํ ์๋ฌ๋ฅผ ๊ฒฝํํ์ง ์์์ผํ๋ค.
- SLI ์ธก์ ๋ฐฉ์
- ์ธ์ฆ ํ๋ก์ธ์ค ์ฑ๊ณต๋ฅ :
(๋ก๊ทธ์ธ ์ฑ๊ณต 200 OK ์ / ์ ์ฒด ๋ก๊ทธ์ธ ์๋ ์) * 100ย (401 ์ธ์ฆ ์คํจ๋ ์์คํ ์คํจ๋ก ์น์ง ์์์ผ ํจ)
- ์ธ์ฆ ํ๋ก์ธ์ค ์ฑ๊ณต๋ฅ :
5. AI ์๋ต ํ์ง
AI ์ ์๋ต์ด ์ ํ์ง์ด ์๋์ด์ผํ๋ค.
- ์ค์ ํค์๋:
์ ์ ํ ์๋ต,์๋ต ํ์ง ๊ด๋ฆฌ - SLO ๋ชฉํ: AI ๊ฐ ์ง๋ฌธ์ ๋ง๋ ์ ์ ํ ์๋ต์ ํด์ผํ๋ค.
- 200 OK๊ฐ ๋์๋ ์๋ฑํ ์๋ฆฌ๋ฅผ ํ๋ ๊ฒฝ์ฐ ์๋น์ค ๋ฌธ์ ๋ผ๊ณ ์ธ์
- 200 OK ํ ์๋ต์ด ์ ๋๋ก ์ค์ง ์๋ ๊ฒฝ์ฐ(๋น ์๋ต) ์ฌ์ฉ์ ๊ฒฝํ ์ ํ
- ์๋ต์ ํ์์ผ๋, ๋งฅ๋ฝ์ ๋ง์ง ์๋ ์๋ต์ ํ๋๊ฒฝ์ฐ, ์ฌ์ฉ์ ์ดํ
- ์ฌ์ฉ์๊ฐ ๋ต๋ณ์ ๋ง์กฑํ์ง ์์ ๋ต๋ณ ์ฌ ์์ฑ์ ์๋ํ๋ ๋น์จ์ด 15% ๋ฏธ๋ง์ด์ด์ผ ํ๋ค.
- SLI ์ธก์ ๋ฐฉ์
- ์ฌ์์ฑ ์์ฒญ ๋น์จ: FE ์์ ๋ค์ ์์ฑ ๋ฒํผ์ ๋๋ฅด๋ ์ด๋ฒคํธ ์์ง (RUM Custom event)