[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 - ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ] k6๋กœ ๊ฒ€์ฆํ•œ Triton + FastAPI ์„œ๋น™ ์„ฑ๋Šฅ: 136 RPS, p95 553ms

์ด ๊ธ€์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ k6 ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ๋กœ Triton + FastAPI ์„œ๋น™ ์„ฑ๋Šฅ์„ ์‹ค์ธก ๊ฒ€์ฆ: 136 RPS, p95 553ms, ์—๋Ÿฌ์œจ 0% (CPU-only 3๋…ธ๋“œ ํด๋Ÿฌ์Šคํ„ฐ) ์„ ์ˆ˜์ง€์‹ GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ์šด์˜ ๋ฌธ์„œํ™” Load Test: ์„œ๋น™ ์„ฑ๋Šฅ ๊ฒ€์ฆ ์‹ค์ œ๋กœ ์–ผ๋งˆ๋‚˜ ๋ฒ„ํ‹ฐ๋Š”๊ฐ€ ๋“ค์–ด๊ฐ€๋ฉฐ ์ด ์‹œ๋ฆฌ์ฆˆ์—์„œ ์ง€๊ธˆ๊นŒ์ง€ ๋‹ค์Œ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. Triton READY Model Repository Loaded FastAPI Health OK Reload API Success Metrics Exported ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์งˆ๋ฌธ์ด ํ•˜๋‚˜ ๋” ๋‚จ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ํŠธ๋ž˜ํ”ฝ์ด ๋“ค์–ด์™”์„ ๋•Œ ์ด ์‹œ์Šคํ…œ์ด ๋ฒ„ํ‹ฐ๋Š”๊ฐ€? ...

March 18, 2026 ยท 5 min

[Triton ์šด์˜ํ˜• ์„œ๋น™ ํ”Œ๋žซํผ - dynamic_batching + instance_group: CPU ์„œ๋น™ ์„ฑ๋Šฅ ์ตœ์ ํ™”]

์ด ๊ธ€์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ CPU-only ํ™˜๊ฒฝ์—์„œ Triton์˜ dynamic_batching๊ณผ instance_group ์„ค์ •์œผ๋กœ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ๋†’์ด๊ณ  latency๋ฅผ ์•ˆ์ •ํ™”ํ•˜๋Š” ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ณผ์ • ์„ ์ˆ˜์ง€์‹ Triton ์„œ๋น™ ํ”Œ๋žซํผ - Alerting ์šด์˜ ํ‘œ์ค€ ๋งค๋‰ด์–ผ ์ด ๋‹จ๊ณ„์—์„œ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ๋ฌธ์ œ Triton์„ ์˜ฌ๋ฆฌ๊ณ  ๋ชจ๋ธ์ด READY ์ƒํƒœ๊ฐ€ ๋˜๋ฉด ๋์ผ๊นŒ? ๊ธฐ๋ณธ ์„ค์ •๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ์š”์ฒญ์ด ํ•˜๋‚˜์”ฉ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๋™์‹œ ์š”์ฒญ์ด ๋ชฐ๋ฆฌ๋ฉด ํ๊ฐ€ ์Œ“์ด๊ณ , latency๊ฐ€ ๊ธ‰๊ฒฉํžˆ ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค. ์ด ๊ธ€์€ dynamic_batching๊ณผ instance_group ์„ค์ •์œผ๋กœ CPU ํ™˜๊ฒฝ์—์„œ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ๋†’์ด๊ณ  latency๋ฅผ ์•ˆ์ •ํ™”ํ•œ ๊ณผ์ •์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๐ŸŽฏ ํ•ต์‹ฌ ์š”์•ฝ ๊ธฐ๋ณธ ์„ค์ •์˜ ํ•œ๊ณ„: single instance + no batching -> ์š”์ฒญ ์ง๋ ฌ ์ฒ˜๋ฆฌ instance_group: CPU ์ธ์Šคํ„ด์Šค ์ˆ˜ ์ฆ๊ฐ€ -> ๋ณ‘๋ ฌ ์ถ”๋ก  ์ฒ˜๋ฆฌ dynamic_batching: ์š”์ฒญ ์ž๋™ ๋ฌถ์Œ -> ๋ฐฐ์น˜ ๋‹จ์œ„ ์ถ”๋ก ์œผ๋กœ ์ฒ˜๋ฆฌ๋Ÿ‰ ํ–ฅ์ƒ ์ ์šฉ ์‹œ์ : explicit mode์—์„œ๋Š” model load ์‹œ config.pbtxt ๋ฐ˜์˜ ์‹ค์ธก ๊ฒฐ๊ณผ: 136 RPS, p95 553ms, ์—๋Ÿฌ์œจ 0% (100 VU, CPU-only 3๋…ธ๋“œ) 1๏ธโƒฃ ๊ธฐ๋ณธ ์„ค์ •๋งŒ์œผ๋กœ๋Š” ๋ฌด์—‡์ด ๋ถ€์กฑํ•œ๊ฐ€ Triton์„ ์ฒ˜์Œ ์‹คํ–‰ํ•˜๋ฉด ๊ธฐ๋ณธ ๋™์ž‘์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ...

March 15, 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

[MLOps ํ”Œ๋žซํผ Observability & Data Pipeline - ๊ฒ€์ฆ]

๐Ÿงญ ๋ชฉ์ฐจ ๊ตฌ๋ถ„ ์ฆ๋ช… ํฌ์ธํŠธ A. Observability ๋ฉ”ํŠธ๋ฆญยท๋กœ๊ทธยท์•Œ๋žŒ dev/prod ์™„์ „ ๋ถ„๋ฆฌ B. FastAPI & Platform Observability FastAPI + Platform ๋Œ€์‹œ๋ณด๋“œ ์ •์ƒ ๋™์ž‘ C. Data Pipeline Rawโ†’Feature ETL ์ž๋™ ์‹คํ–‰ ์„ฑ๊ณต D. Data Pipeline Advanced ๋ฒ„์ „ยท์Šคํ‚ค๋งˆยท๋ฉ”ํƒ€๋ฐ์ดํ„ฐยท๊ด€์ธก ๋“ฑ ์šด์˜ํ˜• ๊ตฌ์กฐ A. Observability ๊ณ„์ธต Observability ๊ณ„์ธต(๋ชจ๋‹ˆํ„ฐ๋ง + ๋กœ๊ทธ ์ˆ˜์ง‘ + ์•Œ๋žŒ)์ด GitOps ๊ธฐ๋ฐ˜์œผ๋กœ dev/prod ์™„์ „ ๋ถ„๋ฆฌ + ์ž๋™ํ™” ๋˜์–ด ์žˆ์Œ์„ ์ฆ๋ช…ํ•ฉ๋‹ˆ๋‹ค. 1๏ธโƒฃ ArgoCD Applications (GitOps ๊ธฐ๋ฐ˜ ๊ตฌ์„ฑ) โœ” 1-1. CLI๋กœ ์ „์ฒด Application ์ƒํƒœ ํ™•์ธ kubectl -n argocd get applications ...

November 30, 2025 ยท 11 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 ํ”Œ๋žซํผ Observability & Data Pipeline - 6๋‹จ๊ณ„ : FastAPI Observability Dashboard & Alert Library]

์ด ๊ธ€์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ FastAPI ML ์„œ๋น™ ํ™˜๊ฒฝ์—์„œ ์žฅ์• ๋ฅผ ์ฆ‰์‹œ ๊ฐ์ง€ํ•˜๊ณ  ์›์ธ์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์‹œ๋ณด๋“œ 3์ข…๊ณผ Alert Library 4์ข…์„ ๊ตฌ์ถ•ํ•œ ๊ณผ์ • ์„ ์ˆ˜์ง€์‹ Observability 5๋‹จ๊ณ„: ์šด์˜ ์ค‘ ์‹ค์ œ ์ด์Šˆ & ํ•ด๊ฒฐ ๊ณผ์ • ์ด ๋‹จ๊ณ„์—์„œ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ๋ฌธ์ œ FastAPI๋Š” ๋ชจ๋ธ์„ ์„œ๋น™ํ•˜๋Š” ์ž…๊ตฌ์ด์ž, ์žฅ์• ๊ฐ€ ๋‚˜๋ฉด ๊ฐ€์žฅ ๋จผ์ € ํ”๋“ค๋ฆฌ๋Š” ์ง€์ ์ด๋‹ค. A/B, Canary, ํ•ซ์Šค์™‘ ๊ตฌ์กฐ ์œ„์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ๋ฐ”๋กœ ๊ฐ์ง€๋˜๊ณ  ์›์ธ์„ ๋ฐ”๋กœ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ด€์ธก ์ฒด๊ณ„๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์ด๋ฒˆ ๋‹จ๊ณ„์—์„œ๋Š” ์‹ค์ œ ์šด์˜ ์ˆ˜์ค€์˜ FastAPI Observability Dashboard์™€ Alert Library๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค. ...

November 5, 2025 ยท 5 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 ์šด์˜ ๊ณ ๋„ํ™” - 4๋‹จ๊ณ„: FastAPI ๋กœ๊ทธ ์•ˆ์ •ํ™” (NFS + PV/PVC + Loguru)]

์ด ๊ธ€์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ Pod ์žฌ์‹œ์ž‘ ์‹œ ๋กœ๊ทธ๊ฐ€ ์œ ์‹ค๋˜์ง€ ์•Š๋„๋ก NFS ๊ธฐ๋ฐ˜ PV/PVC๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , Loguru๋กœ ๊ตฌ์กฐํ™”๋œ ํŒŒ์ผ ๋กœ๊น…์„ ์ ์šฉํ•˜์—ฌ FastAPI ์„œ๋น™ ๋กœ๊ทธ๋ฅผ ์˜์†ํ™”ํ•˜๋Š” ๊ณผ์ •์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์„ ์ˆ˜์ง€์‹ MLOps ์šด์˜ ๊ณ ๋„ํ™” 3๋‹จ๊ณ„: ๋ชจ๋ธ ๋กค๋ฐฑ ์ž๋™ํ™” โ€” ์Šค๋ƒ…์ƒท ๊ธฐ๋ฐ˜ ์ž๋™ ๋กค๋ฐฑ ์ด ๋‹จ๊ณ„์—์„œ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ๋ฌธ์ œ FastAPI Pod๊ฐ€ ์žฌ์‹œ์ž‘๋˜๊ฑฐ๋‚˜ ์Šค์ผ€์ผ ๋‹ค์šด๋˜๋ฉด ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— ์Œ“์ธ ๋กœ๊ทธ๊ฐ€ ๋ชจ๋‘ ์‚ฌ๋ผ์ง„๋‹ค. ํ•ซ์Šค์™‘ ์ด๋ ฅ, ์˜ˆ์ธก ์š”์ฒญ ๊ธฐ๋ก, ์—๋Ÿฌ ํŠธ๋ ˆ์ด์Šค๊ฐ€ ์œ ์‹ค๋˜๋ฉด ์žฅ์•  ์›์ธ์„ ์ถ”์ ํ•  ์ˆ˜ ์—†๋‹ค. Pod ๋ผ์ดํ”„์‚ฌ์ดํด๊ณผ ๋…๋ฆฝ์ ์œผ๋กœ ๋กœ๊ทธ๋ฅผ ๋ณด์กดํ•˜๋Š” ๊ตฌ์กฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ...

August 8, 2025 ยท 3 min

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

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

August 1, 2025 ยท 4 min