[MLflow Model Registry: alias ๊ธฐ๋ฐ˜ ๋ชจ๋ธ ๋ฒ„์ „ ๊ด€๋ฆฌ์™€ hot swap ๊ตฌ์กฐ]

์ด ๊ธ€์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ MLflow 2.x์˜ alias ๊ธฐ๋ฐ˜ ๋ชจ๋ธ ๋ฒ„์ „ ๊ด€๋ฆฌ๋กœ Champion/Challenger ํŒจํ„ด์„ ๊ตฌํ˜„ํ•˜๊ณ , FastAPI์™€ ์—ฐ๋™ํ•œ zero-downtime hot swap ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๊ณผ์ • ์„ ์ˆ˜์ง€์‹ Feature Store & Feast - Feast ์ด ๋‹จ๊ณ„์—์„œ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ๋ฌธ์ œ MLflow 2.x๋ถ€ํ„ฐ Staging/Production Stage๊ฐ€ deprecated๋ฉ๋‹ˆ๋‹ค. ๋Œ€์‹  Registered Model Alias ๋ฐฉ์‹์ด ๊ณต์‹ ๊ถŒ์žฅ ํŒจํ„ด์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ณ€ํ™”๋Š” ๋‹จ์ˆœํ•œ API ๊ต์ฒด๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋ชจ๋ธ ๋ฒ„์ „ ๊ด€๋ฆฌ์˜ ์ฑ…์ž„ ๊ตฌ์กฐ๊ฐ€ ๋ฐ”๋€Œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์€ Stage ๋ฐฉ์‹์˜ ํ•œ๊ณ„๋ฅผ ๋ถ„์„ํ•˜๊ณ , alias ๊ธฐ๋ฐ˜ Champion/Challenger ํŒจํ„ด๊ณผ FastAPI์™€ ์—ฐ๋™ํ•œ zero-downtime hot swap ๊ตฌ์กฐ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ...

March 18, 2026 ยท 4 min

[GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ๋ชจ๋ธ ๋“ฑ๋ก/์„œ๋น™ ๋ฐ˜์˜ ๋ถ„๋ฆฌ]

์ด ๊ธ€์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ ๋ชจ๋ธ ๋“ฑ๋ก(MLflow)๊ณผ ์„œ๋น™ ๋ฐ˜์˜(Triton + FastAPI)์„ ๋ถ„๋ฆฌํ•œ ๊ตฌ์กฐ, explicit ๋ชจ๋“œ, FastAPI Reload API, ํ™•์žฅ ์ „๋žต(replica/batching), Feature Store ์—ฐ๋™ ํŒจํ„ด ์„ ์ˆ˜์ง€์‹ GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ๋ชจ๋ธ ๋ฐ˜์˜ ์ œ์–ด MLflow + Triton + FastAPI ๋“ฑ๋ก๊ณผ ์„œ๋น™ ๋ฐ˜์˜์„ ๋ถ„๋ฆฌํ•œ ์ด์œ  ๋“ค์–ด๊ฐ€๋ฉฐ ML ์‹œ์Šคํ…œ์„ ์ฒ˜์Œ ๊ตฌ์ถ•ํ•  ๋•Œ ํ”ํžˆ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Train โ†“ MLflow Register โ†“ Deploy ์ฆ‰, ๋ชจ๋ธ ๋“ฑ๋ก๊ณผ ์„œ๋น™ ๋ฐ˜์˜์ด ๊ฑฐ์˜ ๊ฐ™์€ ๋‹จ๊ณ„๋กœ ์ทจ๊ธ‰๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ ๊ฐ„๋‹จํ•˜๊ณ  ๊ตฌํ˜„ํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ...

March 6, 2026 ยท 7 min

[GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ๋ชจ๋ธ ๋ฐ˜์˜ ์ œ์–ด]

์ด ๊ธ€์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ Drift Gate์˜ KS statistic ๊ธฐ๋ฐ˜ ๊ฒ€์ฆ, Promotion/Shadow ๋ถ„๊ธฐ ์ •์ฑ…, FastAPI ํŠธ๋ž˜ํ”ฝ ๋ถ„๊ธฐ(Mirror/Split) ์ „๋žต ์„ ์ˆ˜์ง€์‹ GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ์šด์˜ ํ™˜๊ฒฝ ๋ฐ˜์˜ ์ œ์–ด Drift Gate / Promotion / Shadow ๊ฒ€์ฆ๋œ ๋ณ€๊ฒฝ๋งŒ ์šด์˜ ๊ฒฝ๋กœ์— ์˜ฌ๋ฆผ ๋“ค์–ด๊ฐ€๋ฉฐ ๋ชจ๋ธ ํ•™์Šต ํŒŒ์ดํ”„๋ผ์ธ์„ ๋งŒ๋“ค๋‹ค ๋ณด๋ฉด ๋‹ค์Œ ์งˆ๋ฌธ์ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๋ชจ๋ธ์„ ์šด์˜ ํ™˜๊ฒฝ์— ๋ฐ˜์˜ํ•  ๊ฒƒ์ธ๊ฐ€? ๋งŽ์€ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋‹ค์Œ ๊ธฐ์ค€์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. accuracy >= threshold ํ•˜์ง€๋งŒ ์šด์˜ ํ™˜๊ฒฝ์—์„œ๋Š” ์ด ๊ธฐ์ค€๋งŒ์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ...

March 6, 2026 ยท 5 min

[GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ์šด์˜ ํ™˜๊ฒฝ ๋ฐ˜์˜ ์ œ์–ด]

์ด ๊ธ€์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ E2E ํŒŒ์ดํ”„๋ผ์ธ ์ „์ฒด ๊ตฌ์กฐ, DAG ๋ ˆ๋ฒจ ์—๋Ÿฌ ์ฒ˜๋ฆฌ(SLA/on_failure_callback), SSOT ํŒจํ„ด(ids.py/policy.py), Promotion/Shadow ๋ถ„๊ธฐ, Rollback ๊ตฌ์กฐ ์„ ์ˆ˜์ง€์‹ GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ํ† ๊ธ€ ๊ตฌ์กฐ E2E DAG: ํ•™์Šต ์„ฑ๊ณต์ด ๊ณง ์šด์˜ ๋ฐ˜์˜์„ ์˜๋ฏธํ•˜์ง€ ์•Š๋„๋ก ์„ค๊ณ„ ๋“ค์–ด๊ฐ€๋ฉฐ ๋งŽ์€ ๋จธ์‹ ๋Ÿฌ๋‹ ํŒŒ์ดํ”„๋ผ์ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. Train โ†’ Register โ†’ Deploy ์ด ๊ตฌ์กฐ๋Š” ์‹คํ—˜ ํ™˜๊ฒฝ์—์„œ๋Š” ์ถฉ๋ถ„ํžˆ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์šด์˜ ํ™˜๊ฒฝ์—์„œ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊น๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ ์ƒํ™ฉ์„ ์ƒ๊ฐํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ...

March 6, 2026 ยท 7 min

[GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ํ† ๊ธ€ ๊ตฌ์กฐ]

์ด ๊ธ€์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ Optional ๋ ˆ์ด์–ด(Feature Store)๋ฅผ ์‹ค์ œ๋กœ ON/OFFํ•˜๋ฉด์„œ Core ์‹œ์Šคํ…œ์ด ๋…๋ฆฝ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๊ณผ์ • ์„ ์ˆ˜์ง€์‹ GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - GitOps ๊ตฌ์กฐ Optional ON/OFF ํ™•์žฅ ๊ธฐ๋Šฅ์„ ๋น„ํŒŒ๊ดด์ ์œผ๋กœ ๋ถ™์˜€๋‹ค ๋–ผ๋Š” ๊ตฌ์กฐ ๋“ค์–ด๊ฐ€๋ฉฐ ML ํ”Œ๋žซํผ์„ ์„ค๊ณ„ํ•˜๋‹ค ๋ณด๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋‹ค์Œ ์งˆ๋ฌธ์ด ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค. Feature Store๋ฅผ ๋ถ™์ผ๊นŒ? ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ์‹œ์Šคํ…œ์„ ์ถ”๊ฐ€ํ• ๊นŒ? ์ถ”๊ฐ€ ์‹คํ—˜ ํ”Œ๋žซํผ์„ ๋„์ž…ํ• ๊นŒ? ์ด๋Ÿฐ ์‹œ์Šคํ…œ๋“ค์€ ๋Œ€๋ถ€๋ถ„ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋™์‹œ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”Œ๋žซํผ ๋ณต์žก๋„ ์ฆ๊ฐ€ ์‹œ์Šคํ…œ ์˜์กด์„ฑ ์ฆ๊ฐ€ ์žฅ์•  ์ „ํŒŒ ๋ฒ”์œ„ ํ™•๋Œ€ ์˜ˆ๋ฅผ ๋“ค์–ด Feature Store๋ฅผ Core ์‹œ์Šคํ…œ์— ๊ฐ•ํ•˜๊ฒŒ ์—ฐ๊ฒฐํ•˜๋ฉด ...

March 6, 2026 ยท 4 min

[Triton ์šด์˜ํ˜• ์„œ๋น™ ํ”Œ๋žซํผ (GitOps ยท ๊ฒ€์ฆ ยท Alerting) - MLflow โ†’ Triton ์ž๋™ ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•]

์ด ๊ธ€์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ MLflow Registry๋ฅผ ๋‹จ์ผ ์†Œ์Šค๋กœ ์‚ผ์•„ Airflow DAG์—์„œ Triton์— ๋ชจ๋ธ์„ ์ž๋™ ๋ฐฐํฌํ•˜๊ณ , ๊ฒ€์ฆ ์ฒด์ธ(load/ready/infer) ํ†ต๊ณผ ํ›„์—๋งŒ ์šด์˜ ํ™•์ •ํ•˜๋ฉฐ, ์‹คํŒจ ์‹œ ์ž๋™ ๋กค๋ฐฑํ•˜๋Š” ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•œ ๊ณผ์ • ์„ ์ˆ˜์ง€์‹ Triton ์„œ๋น™ ํ”Œ๋žซํผ - Triton ๊ตฌ์ถ• ์ด ๋‹จ๊ณ„์—์„œ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ๋ฌธ์ œ ์‹ค๋ฌด ํ™˜๊ฒฝ์—์„œ ๋ชจ๋ธ ๋ฐฐํฌ๋Š” โ€œ์ƒˆ ๋ชจ๋ธ์„ ์˜ฌ๋ฆฌ๋Š” ์ž‘์—…"์ด ์•„๋‹ˆ๋ผ โ€œํ˜„์žฌ ์šด์˜ ์ƒํƒœ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๊ฐฑ์‹ ํ•˜๋Š” ์ƒํƒœ ์ „์ด(State Transition)โ€œ์— ๊ฐ€๊น๋‹ค. ์ด๋ฒˆ ๋‹จ๊ณ„์—์„œ๋Š” MLflow Registry๋ฅผ ๋‹จ์ผ ์†Œ์Šค๋กœ ์‚ผ์•„ Triton Inference Server์— ๋ชจ๋ธ์„ ์ž๋™ ๋ฐฐํฌํ•˜๊ณ , ๋กœ๋”ฉ/ํ—ฌ์Šค ์ฒดํฌ/์‹ค์ œ ์ถ”๋ก  ๊ฒ€์ฆ์„ ๋ชจ๋‘ ํ†ต๊ณผํ•œ ๊ฒฝ์šฐ์—๋งŒ ์šด์˜ ๋ชจ๋ธ์„ ํ™•์ •(commit)ํ•˜๋ฉฐ, ์ค‘๊ฐ„ ๋‹จ๊ณ„์—์„œ ํ•˜๋‚˜๋ผ๋„ ์‹คํŒจํ•˜๋ฉด ์ด์ „ ์šด์˜ ์ƒํƒœ๋กœ ์ž๋™ ๋ณต๊ตฌ๋˜๋Š” ์ตœ์†Œ ๋กค๋ฐฑ ๊ตฌ์กฐ๋ฅผ ๊ตฌํ˜„ํ–ˆ๋‹ค. ...

December 29, 2025 ยท 4 min

[MLOps ํ”Œ๋žซํผ Observability & Data Pipeline - ์—ํ•„๋กœ๊ทธ]

์—ํ•„๋กœ๊ทธ โ€” โ€œ๊ด€์ธกยท์•Œ๋ฆผยท๋ฐ์ดํ„ฐ๊นŒ์ง€ ํ•œ ๋ฒˆ์— ์ด์–ด์ง€๋Š” MLOps ์šด์˜ ํ”Œ๋žซํผโ€ ๐Ÿ“Œ ์ „์ฒด ๊ฒฝ๋กœ ์š”์•ฝ ์ˆœ์„œ ์ฃผ์ œ 1 ๐Ÿ”— kube-prometheus-stack + GitOps ๊ตฌ์ถ• 2 ๐Ÿ”— Alertmanager Slack & ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… 3 ๐Ÿ”— Prometheus/KSM/Kubelet ์™„์ „ ๋ถ„๋ฆฌ ๊ตฌ์กฐ 4 ๐Ÿ”— Loki/Promtail ๋กœ๊ทธ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• 5 ๐Ÿ”— ์šด์˜ ์ค‘ ๋ฐœ์ƒํ•œ ์‹ค์ œ ์ด์Šˆ & ํ•ด๊ฒฐ ๊ณผ์ • 6 ๐Ÿ”— FastAPI Observability Dashboard & Alert Library 7 ๐Ÿ”— Data Pipeline ๊ตฌ์ถ• 8 ๐Ÿ”— Data Pipeline ๊ณ ๋„ํ™” 9 ๐Ÿ”— ๊ฒ€์ฆ ๐ŸŽฏ ์ „์ฒด ํšŒ๊ณ  ์š”์•ฝ ๋‹จ๊ณ„ ํ•ต์‹ฌ ๋ชฉํ‘œ ์ฃผ์š” ๊ฐœ์„ ์  1 ๋ชจ๋‹ˆํ„ฐ๋ง ๋ผˆ๋Œ€ ๊ตฌ์ถ• kube-prometheus-stack dev/prod ์™„์ „ ๋ถ„๋ฆฌ 2 Slack ์•Œ๋žŒ ํ†ตํ•ฉ Alertmanager configSecret ํ‘œ์ค€ํ™” + ์•Œ๋žŒ ๋ผ์šฐํŒ… 3 ๋ฉ”ํŠธ๋ฆญ ๊ต์ฐจ ์ˆ˜์ง‘ ์ œ๊ฑฐ KSM/Kubelet ๋ผ๋ฒจ ํ†ต์ผ, Prometheus TSDB local-path 4 ๋กœ๊ทธ ํŒŒ์ดํ”„๋ผ์ธ ์™„์„ฑ Loki/Promtail dev/prod ๋ถ„๋ฆฌ + LogQL Range Query 5 ์‹ค์ œ ์šด์˜ ์ด์Šˆ ํ•ด๊ฒฐ ๋ผ๋ฒจ/Secret/NFS ๊ถŒํ•œ/NFS unmount ๋ฌธ์ œ ์ผ๊ด„ ํ•ด๊ฒฐ 6 FastAPI/Platform ๊ด€์ธก ๋Œ€์‹œ๋ณด๋“œ FastAPI ์„œ๋น„์Šค + Kubernetes/Node ํ”Œ๋žซํผ ๊ด€์ธก ์ฒด๊ณ„ ์™„์„ฑ 7 Data Pipeline ๊ตฌ์ถ• (v1) S3 Raw โ†’ Feature ETL ์ž๋™ํ™” (Airflow DAG) 8 Data Pipeline ๊ณ ๋„ํ™” (v2) ๋ฒ„์ „ยท์Šคํ‚ค๋งˆยท๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ž๋™ํ™” + ๊ด€์ธก ๋Œ€์‹œ๋ณด๋“œ 9 ๊ฒ€์ฆ Observability ๊ณ„์ธต, Grafana ๋Œ€์‹œ๋ณด๋“œ, Datapipeline ๐Ÿ”„ ํ•ต์‹ฌ ๋ฌธ์žฅ: ...

November 20, 2025 ยท 3 min

[MLOps ์šด์˜ ๊ณ ๋„ํ™” - 5๋‹จ๊ณ„: Airflow ์•ˆ์ •ํ™” & FastAPI HTTPS ๋ณด์•ˆ]

์ด ๊ธ€์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ Airflow Sensor๋ฅผ reschedule ๋ชจ๋“œ๋กœ ๋ฆฌํŒฉํ† ๋งํ•˜๊ณ  ์„ฑ๊ณต ์ฒด์ธ์„ ๋ณด์žฅํ•˜๋Š” DAG ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค๊ณ , FastAPI์— cert-manager ๊ธฐ๋ฐ˜ TLS + IP ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ๋ฅผ ์ ์šฉํ•˜๋Š” ๊ณผ์ •์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์„ ์ˆ˜์ง€์‹ MLOps ์šด์˜ ๊ณ ๋„ํ™” 7๋‹จ๊ณ„: ArgoCD Notifications ์ž๋™ํ™” โ€” ๋ฐฐํฌ ์ƒํƒœ Slack ์ž๋™ ์•Œ๋ฆผ ์ด ๋‹จ๊ณ„์—์„œ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ๋ฌธ์ œ ๋ชจ๋ธ์„ ๋“ฑ๋กํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ์ค‘์š”ํ•œ ๊ฑด ์–ธ์ œ Reload๊ฐ€ ์‹คํ–‰๋˜๋А๋ƒ์ด๋‹ค. ๋“ฑ๋ก ์‹คํŒจ๋‚˜ READY ๋ฏธ๋„๋‹ฌ ์ƒํƒœ์—์„œ /reload๊ฐ€ ์‹คํ–‰๋˜๋ฉด ์ž˜๋ชป๋œ ๋ชจ๋ธ์ด ์„œ๋น™๋  ์ˆ˜ ์žˆ๋‹ค. Airflow ํ๋ฆ„์„ ํ•œ ๋ฒˆ ๋” ๋‹จ๋‹จํžˆ ์กฐ์ด๊ณ , FastAPI ์ชฝ์€ HTTPSยทํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ๊นŒ์ง€ ์ ์šฉํ•ด ์•ˆ์ „ํ•˜๊ฒŒ ์ž๋™ํ™”๋œ๋‹ค๋Š” ํ™•์‹ ์„ ์ฃผ๋Š” ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ ๋‹ค. ...

August 18, 2025 ยท 4 min

[MLOps ์šด์˜ ๊ณ ๋„ํ™” - 3๋‹จ๊ณ„: ๋ชจ๋ธ ๋กค๋ฐฑ ์ž๋™ํ™” (๋“ฑ๋ก ์‹คํŒจ ๋Œ€๋น„ ๋ณต๊ตฌ)]

์ด ๊ธ€์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ ๋ชจ๋ธ ๋“ฑ๋ก ์‹คํŒจ ์‹œ ์ด์ „ ์•ˆ์ • ๋ฒ„์ „์œผ๋กœ ์ž๋™ ๋กค๋ฐฑํ•˜๊ณ  FastAPI์— ์ฆ‰์‹œ ๋ฐ˜์˜ํ•˜๋Š” ๋ณต๊ตฌ ๋ฃจํ”„์™€, ์šด์˜์ž๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ๋ฒ„์ „์„ ์ง€์ •ํ•˜๋Š” ์ˆ˜๋™ ๋กค๋ฐฑ DAG์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ณผ์ •์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์„ ์ˆ˜์ง€์‹ MLOps ์šด์˜ ๊ณ ๋„ํ™” 2๋‹จ๊ณ„: Slack Alert ํ†ตํ•ฉ โ€” ํŒŒ์ดํ”„๋ผ์ธ ์•Œ๋ฆผ ์ž๋™ํ™” ์ด ๋‹จ๊ณ„์—์„œ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ๋ฌธ์ œ ๋ชจ๋ธ ๋ฐฐํฌ๋Š” ์„ฑ๊ณตํ–ˆ์„ ๋•Œ๋ณด๋‹ค, ์‹คํŒจํ–ˆ์„ ๋•Œ์˜ ํšŒ๋ณต ์†๋„๊ฐ€ ์šด์˜ ํ’ˆ์งˆ์„ ๊ฒฐ์ •ํ•œ๋‹ค. ๋“ฑ๋ก์ด ์‹คํŒจํ•˜๋Š” ์ฆ‰์‹œ ์ด์ „ ์•ˆ์ • ๋ฒ„์ „์œผ๋กœ ๋Œ์•„๊ฐ€ FastAPI์— ์ž๋™ ๋ฐ˜์˜๋˜๋Š” ์™„์ „ํ•œ ๋กค๋ฐฑ ๋ฃจํ”„๋ฅผ ๊ตฌ์ถ•ํ•ด์•ผ ํ•œ๋‹ค. ์ด ๊ตฌ์กฐ๊ฐ€ ์žˆ์–ด์•ผ ์žฅ์•  ์ƒํ™ฉ์—์„œ๋„ ์„œ๋น„์Šค๊ฐ€ ๋Š๊ธฐ์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ๋ณต๊ตฌ๋  ์ˆ˜ ์žˆ๋‹ค. ...

August 1, 2025 ยท 4 min

[MLOps ์šด์˜ ๊ณ ๋„ํ™” - 1๋‹จ๊ณ„: ํ•ซ์Šค์™‘ ๊ณ ๋„ํ™” (/reload ๋ณด์•ˆยทDAG ์ž๋™ํ™”)]

์ด ๊ธ€์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ /reload ์—”๋“œํฌ์ธํŠธ์— 3์ค‘ ๋ณด์•ˆ(ํ† ํฐยทIP ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธยทTLS)์„ ์ ์šฉํ•˜๊ณ , Airflow DAG์œผ๋กœ ํ•™์Šตโ†’๋“ฑ๋กโ†’๊ฐ์‹œโ†’ํ•ซ์Šค์™‘ ์ „์ฒด ์‹œํ€€์Šค๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ๊ณผ์ •์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์„ ์ˆ˜์ง€์‹ MLOps ์šด์˜ ๊ณ ๋„ํ™” 0๋‹จ๊ณ„: FastAPI A/BยทCanaryยทBlue-Green ์„œ๋น™ ๋ฒ ์ด์Šค โ€” ๋ฉ€ํ‹ฐ ๋ชจ๋ธ ๋ผ์šฐํŒ… ๊ธฐ๋ฐ˜ ์„ค๊ณ„ ์ด ๋‹จ๊ณ„์—์„œ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ๋ฌธ์ œ ๋ชจ๋ธ์„ ์ž˜ ํ•™์Šต์‹œํ‚ค๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ, ์ž˜๋ชป๋œ ๋ชจ๋ธ์ด ์‹ค์ˆ˜๋กœ ํ•ซ์Šค์™‘๋˜๋Š” ์ˆœ๊ฐ„์ด ๋” ์น˜๋ช…์ ์ด๋‹ค. /reload๋ฅผ ํ™•์‹คํ•˜๊ฒŒ ์ž ๊ทธ๊ณ , ํ•™์Šตโ†’๋“ฑ๋กโ†’๊ฐ์‹œโ†’ํ•ซ์Šค์™‘๊นŒ์ง€๊ฐ€ Airflow์—์„œ ์ž๋™์œผ๋กœ ํ˜๋Ÿฌ๊ฐ€๋„๋ก ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. ์ด ๋‹จ๊ณ„๊ฐ€ ์™„์„ฑ๋ผ์•ผ ์ดํ›„ ๋‹จ๊ณ„์—์„œ ์•ˆ์ „ํ•œ ์ž๋™ ์šด์˜(MLOps)์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ...

July 22, 2025 ยท 4 min