Learned Execution Graphs for Anomaly Detection & Drift in APIs โ Ritvik Pandya, JP Morgan Chase
ํ ์ค ํต์ฌ
API ์์ฒญ ์ฒ๋ฆฌ ํ๋ฆ์ ์ผ์์ ์ธ ์คํ ๊ทธ๋ํ๋ก ๋ชจ๋ธ๋งํด ์ ์ ๊ฒฝ๋ก์ ๊ธฐ์ค์ ์ ๋ง๋ค๊ณ , ๊ตฌ์กฐ์ ๋ณํยท์ฑ๋ฅ ํธ์ฐจยท๋๋ฆฌํํธ๋ฅผ ๋น ๋ฅด๊ฒ ๊ตญ์ํํ๋ฉด ์คํ์ ์ค์ด๋ฉด์ ์ฅ์ ํ์ง์ ๋์์ ์๋ํํ ์ ์๋ค.
์๊ฐ๋ณ ์์ฝ
-
0:01
์คํ ๊ทธ๋ํ๋ ์์ฒญ์ด ์ด๋ค ์์๋ก ์ด๋ค ์ปจํ ์คํธ๋ฅผ ๊ฑฐ์ณ ์ฒ๋ฆฌ๋๋์ง DAG๋ก ํํํด, ๋จ์ํ persistence graph์ ๋ฌ๋ฆฌ ์ค์ ์์ฒญ ํ๋ฆ์ ์ ์ ๊ฒฝ๋ก๋ฅผ ์ดํดํ๋ ๋ฐ ์ด์ ์ ๋๋ค. ์ด๋ ๊ฒ ๋ณด๋ฉด ์ฌ์๋์ ๋ฃจํ๊น์ง ๋ณ๋ ์ํฐํฐ๋ก ์ถ์ ํ ์ ์์ด, ๋ฌธ์ ์ง์ ์ ๋ ์ ํํ๊ฒ ์ฐพ์ ์ ์๋ค.
-
3:00
ํต์ฌ์ ์ ์ฒด ํ๋ฆ์ ๊ธฐ์ค์ ๊ณผ ๋น๊ตํด Tier 1์์ ์ด์์ด ์์ผ๋ฉด ๋์ด๊ฐ๊ณ , ์ง์ฐ์ด๋ ํธ์ฐจ๊ฐ ๋ณด์ผ ๋๋ง ๋ ๊น๊ฒ ์กฐ์ฌํ๋ ๋ฐฉ์์ด๋ค. ์ ๋ ธ๋ ์ถ๊ฐยท์ญ์ ๊ฐ์ ๊ตฌ์กฐ์ ๋ณํ๋ client๋ณ๋ก ๋ค๋ฅธ ์ง์ฐ ํน์ฑ๊น์ง ๋ฐ์ํด์ผ ๋ถํ์ํ ์๋์ ์ค์ผ ์ ์๋ค.
-
7:01
Anomaly๋ ๋จ๋ฐ์ฑ ์ด์, drift๋ ์๊ฐ์ด ์ง๋๋ฉฐ ๊ธฐ์ค ์์ฒด๊ฐ ๋ฐ๋๋ ํ์์ผ๋ก ๊ตฌ๋ถ๋๋ค. ๊ตฌ์กฐ์ drift, ๋ณผ๋ฅจ drift, covariate drift์ฒ๋ผ ์ ํ์ ๋๋ ๋ด์ผ ํ๋ฉฐ, ์ฌ๋ก์ ๋ฐ๋ผ ๋กค๋ฐฑยท์ค์ผ์ผ์ ยท๋น๋๊ธฐ ์ ํ์ฒ๋ผ ๋์ ๋ฐฉ์๋ ๋ฌ๋ผ์ง๋ค.
-
12:00
์ ์ฒด ํ์ดํ๋ผ์ธ์ OpenTelemetry๋ก ๋ฐ์ดํฐ ์์ง์ ํ๊ณ , root cause analysis๋ก drift ์ ํ์ ๋ถ๋ฅํ ๋ค, ์๋ ์กฐ์น์ ๊ทธ ์ํ๋๋ฅผ ํ๋จํด ์ ์ง์ ์ผ๋ก ๋ฐฐํฌํ๋ ๊ตฌ์กฐ๋ค. ์ด์ ํ๊ฒฝ์์๋ hot path๋ก ๋น ๋ฅด๊ฒ ๊ฒฐ์ ํ๊ณ , recon ๊ฒฝ๋ก๋ก ๋ ์ ํํ๊ฒ ๊ฒ์ฆํ๋ ์ด์ค ๊ตฌ์กฐ๊ฐ ์ ํจํ๋ค.
-
16:00
์ค๋ฌด์์ ์ค์ํ ๋ณด์ ํฌ์ธํธ๋ ์ง์ฐ๋ ์ด๋ฒคํธ๋ฅผ ๊ตฌ์กฐ์ ๋ณํ๋ก ์ค์ธํ์ง ์๋๋ก ์๋์ฐ์ ๊ธฐ์ค์ ์ ๊ตํ๊ฒ ์ก๋ ์ผ์ด๋ค. endpoint๋ณยทclient๋ณ baseline, cold start ์ฒ๋ฆฌ, ์ค๋ช ๊ฐ๋ฅ์ฑ, ์ ๋ฐฐํฌ ์ธ์ง๊น์ง ํฌํจํด์ผ ์คํ์ ์ค์ด๊ณ ์ค์ ๋์ ์๋๋ฅผ ๋์ผ ์ ์๋ค.
์ค๋ฌด ์ธ์ฌ์ดํธ
- ์์ฒญ ์ฒ๋ฆฌ ํ๋ฆ์ ์๋น์ค ๋ชฉ๋ก์ด ์๋๋ผ ์คํ DAG๋ก ๋จผ์ ์ ์ํ๋ฉด, ์ด์ ํ์ง๋ณด๋ค ์์ธ ๊ตญ์ํ์ ๋์ ์๋ํ๊ฐ ํจ์ฌ ์ฌ์์ง๋ค.
- ๋ชจ๋ ํธ๋ํฝ์ ํ๋์ baseline์ ์ ์ฉํ๊ธฐ๋ณด๋ค client, endpoint, ์์ฒญ ์ ํ๋ณ ๊ธฐ์ค์ ์ ๋ถ๋ฆฌํด์ผ false alarm์ด ์ค๊ณ ์ด์ ์ ๋ขฐ๋๊ฐ ๋์์ง๋ค.
- ๊ฐ์ง ์์คํ ์ ํ์ง๋ง์ผ๋ก ๋๋ด์ง ๋ง๊ณ , ๊ตฌ์กฐ์ ๋ณํ ์ธ์ง์ ์ ์ง์ rollout/rollback ํ๋จ๊น์ง ํฌํจํด์ผ ์ค์ ์์ ์ธ ์ ์๋ค.