์ด ๋ธ”๋กœ๊ทธ์˜ ์ฝ๊ธฐ ์ˆœ์„œ

์ด ๋กœ๋“œ๋งต์€ ๋ธ”๋กœ๊ทธ์˜ 55ํŽธ ํฌ์ŠคํŠธ๋ฅผ 5๋‹จ๊ณ„ ํ•™์Šต ๊ฒฝ๋กœ๋กœ ์ •๋ฆฌํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Level 1๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ๋”ฐ๋ผ๊ฐ€๋ฉด Kubernetes ๊ธฐ์ดˆ๋ถ€ํ„ฐ ํ”„๋กœ๋•์…˜๊ธ‰ E2E ML ํ”Œ๋žซํผ๊นŒ์ง€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Level 1. ๊ธฐ์ดˆ โ€” Kubernetes & Airflow ๊ธฐ๋ณธ๊ธฐ (10ํŽธ)

๊ธฐ๋ฐ˜ ๊ธฐ์ˆ ์„ ๋จผ์ € ์ตํž™๋‹ˆ๋‹ค. Kubernetes ๋ฆฌ์†Œ์Šค ๊ตฌ์กฐ์™€ Airflow DAG ์ž‘์„ฑ๋ฒ•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Kubernetes

  1. Kubernetes 1๋‹จ๊ณ„: Deployment & Service โ€” Pod ๋ฐฐํฌ์™€ Service ๋…ธ์ถœ ๊ธฐ๋ณธ ๊ฐœ๋…
  2. Kubernetes 2๋‹จ๊ณ„: ConfigMap & Secret โ€” ์„ค์ • ๋ถ„๋ฆฌ์™€ ๋ฏผ๊ฐ ์ •๋ณด ๊ด€๋ฆฌ
  3. Kubernetes 3๋‹จ๊ณ„: Ingress & Nginx Controller โ€” ์™ธ๋ถ€ ํŠธ๋ž˜ํ”ฝ ๋ผ์šฐํŒ… ๊ตฌ์„ฑ
  4. Kubernetes 4๋‹จ๊ณ„: Helm โ€” ์ฐจํŠธ ๊ธฐ๋ฐ˜ ํŒจํ‚ค์ง•๊ณผ ๋ฐฐํฌ
  5. Kubernetes 5๋‹จ๊ณ„: Prometheus + Grafana ๋ชจ๋‹ˆํ„ฐ๋ง โ€” ํด๋Ÿฌ์Šคํ„ฐ ๋ฉ”ํŠธ๋ฆญ ์ˆ˜์ง‘๊ณผ ์‹œ๊ฐํ™”

Airflow

  1. Airflow 1๋‹จ๊ณ„: ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ๊ธฐ๋ณธ DAG ์‹คํ–‰ โ€” DAG ๊ตฌ์กฐ์™€ ๋กœ์ปฌ ์‹คํ–‰ ํ™˜๊ฒฝ ๊ตฌ์„ฑ
  2. Airflow 2๋‹จ๊ณ„: Python & Bash Operator + XCom โ€” Operator ์ข…๋ฅ˜์™€ Task ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ
  3. Airflow 3๋‹จ๊ณ„: ML ํŒŒ์ดํ”„๋ผ์ธ DAG ๊ตฌ์„ฑ โ€” ํ•™์Šต ํŒŒ์ดํ”„๋ผ์ธ์„ DAG๋กœ ํ‘œํ˜„
  4. Airflow 4๋‹จ๊ณ„: BashOperator๋กœ ์™ธ๋ถ€ ํ•™์Šต ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ โ€” ์™ธ๋ถ€ Python ์Šคํฌ๋ฆฝํŠธ ํ˜ธ์ถœ ํŒจํ„ด
  5. Airflow 5๋‹จ๊ณ„: PythonOperator + MLflow Tracking ์—ฐ๋™ โ€” ์‹คํ—˜ ์ถ”์ ๊ณผ DAG ํ†ตํ•ฉ

Level 2. ํ”Œ๋žซํผ ๊ตฌ์ถ• โ€” Helm ๊ธฐ๋ฐ˜ MLOps ์ธํ”„๋ผ (7ํŽธ)

Kubernetes ์œ„์— MLflowยทAirflowยทFastAPI๋ฅผ Helm์œผ๋กœ ๋ฐฐํฌํ•˜๊ณ , ์ฒซ ๋ชจ๋ธ ์„œ๋น™๊นŒ์ง€ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

  1. MLOps ํ”Œ๋žซํผ ๊ตฌ์ถ• 1๋‹จ๊ณ„: ์ธํ”„๋ผ ์„ค๊ณ„ ๋ฐ ํ™˜๊ฒฝ ์ค€๋น„ โ€” NFSยทPostgreSQLยทS3 ์ธํ”„๋ผ ๋ ˆ์ด์•„์›ƒ
  2. MLOps ํ”Œ๋žซํผ ๊ตฌ์ถ• 2๋‹จ๊ณ„: S3 & PostgreSQL ์—ฐ๋™ Secret ๊ด€๋ฆฌ โ€” ์™ธ๋ถ€ ์Šคํ† ๋ฆฌ์ง€ ์—ฐ๊ฒฐ๊ณผ ์‹œํฌ๋ฆฟ ์ „๋žต
  3. MLOps ํ”Œ๋žซํผ ๊ตฌ์ถ• 3๋‹จ๊ณ„: MLflow Helm ๊ตฌ์„ฑ โ€” PostgreSQL + S3 ๋ฐฑ์—”๋“œ MLflow ๋ฐฐํฌ
  4. MLOps ํ”Œ๋žซํผ ๊ตฌ์ถ• 4๋‹จ๊ณ„: Airflow GitSync + Secret ์—ฐ๋™ โ€” DAG Git ๋™๊ธฐํ™”์™€ ์™ธ๋ถ€ DB ์—ฐ๊ฒฐ
  5. MLOps ํ”Œ๋žซํผ ๊ตฌ์ถ• 5๋‹จ๊ณ„: FastAPI ์„œ๋น™ ๋ฐ ํ•ซ์Šค์™‘ ๊ตฌ์กฐ โ€” MLflow ๋ชจ๋ธ์„ FastAPI๋กœ ์„œ๋น™
  6. MLOps ํ”Œ๋žซํผ ๊ตฌ์ถ• 6๋‹จ๊ณ„: ์‹ค์‹œ๊ฐ„ ๋ชจ๋ธ ํ•ซ์Šค์™‘ ์‹คํ—˜ โ€” ๋ฌด์ค‘๋‹จ ๋ชจ๋ธ ๊ต์ฒด ๊ฒ€์ฆ
  7. [TS] Airflow ๊ธฐ์ดˆ ์ž๋™ํ™” ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… โ€” Airflow โ†’ MLflow โ†’ FastAPI ์—ฐ๋™ ์ด์Šˆ ํ•ด๊ฒฐ

Level 3. ์šด์˜ ๊ณ ๋„ํ™” โ€” GitOpsยท๋กค๋ฐฑยท๋ณด์•ˆ (12ํŽธ)

ํ”„๋กœ๋•์…˜ ์ˆ˜์ค€์˜ ์šด์˜ ์ฒด๊ณ„๋ฅผ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค. A/B ์„œ๋น™, ๋กค๋ฐฑ ์ž๋™ํ™”, CI/CD, ์‹œํฌ๋ฆฟ ๊ด€๋ฆฌ๊นŒ์ง€ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

  1. MLOps ์šด์˜ ๊ณ ๋„ํ™” 0๋‹จ๊ณ„: FastAPI A/BยทCanaryยทBlue-Green ์„œ๋น™ ๋ฒ ์ด์Šค โ€” ๋ฉ€ํ‹ฐ ๋ชจ๋ธ ๋ผ์šฐํŒ… ๊ธฐ๋ฐ˜ ์„ค๊ณ„
  2. MLOps ์šด์˜ ๊ณ ๋„ํ™” 1๋‹จ๊ณ„: ํ•ซ์Šค์™‘ ๊ณ ๋„ํ™” โ€” NFS ๊ธฐ๋ฐ˜ ๋ชจ๋ธ ๊ต์ฒด ์•ˆ์ •ํ™”
  3. MLOps ์šด์˜ ๊ณ ๋„ํ™” 2๋‹จ๊ณ„: Slack Alert ํ†ตํ•ฉ โ€” ํŒŒ์ดํ”„๋ผ์ธ ์•Œ๋ฆผ ์ž๋™ํ™”
  4. MLOps ์šด์˜ ๊ณ ๋„ํ™” 3๋‹จ๊ณ„: ๋ชจ๋ธ ๋กค๋ฐฑ ์ž๋™ํ™” โ€” ์Šค๋ƒ…์ƒท ๊ธฐ๋ฐ˜ ์ž๋™ ๋กค๋ฐฑ
  5. MLOps ์šด์˜ ๊ณ ๋„ํ™” 4๋‹จ๊ณ„: FastAPI ๋กœ๊ทธ ์•ˆ์ •ํ™” โ€” ๋กœ๊ทธ ์œ ์‹ค ๋ฐฉ์ง€์™€ NFS ์•ˆ์ •์„ฑ
  6. MLOps ์šด์˜ ๊ณ ๋„ํ™” 5๋‹จ๊ณ„: Airflow ์•ˆ์ •ํ™” & FastAPI HTTPS โ€” TLS ๋ณด์•ˆ๊ณผ ์Šค์ผ€์ค„๋Ÿฌ ์•ˆ์ •ํ™”
  7. MLOps ์šด์˜ ๊ณ ๋„ํ™” 6๋‹จ๊ณ„: GitOps ๊ณ ๋„ํ™” โ€” ArgoCD ๋™๊ธฐํ™” ์ „๋žต ์ •๊ตํ™”
  8. MLOps ์šด์˜ ๊ณ ๋„ํ™” 7๋‹จ๊ณ„: ArgoCD Notifications ์ž๋™ํ™” โ€” ๋ฐฐํฌ ์ƒํƒœ Slack ์ž๋™ ์•Œ๋ฆผ
  9. MLOps ์šด์˜ ๊ณ ๋„ํ™” 8๋‹จ๊ณ„: CI/CD ์šด์˜ ์ž๋™ํ™” โ€” GitHub Actions + Helm Lint ํŒŒ์ดํ”„๋ผ์ธ
  10. MLOps ์šด์˜ ๊ณ ๋„ํ™” 9๋‹จ๊ณ„: ์‹œํฌ๋ฆฟ ๊ด€๋ฆฌ & ํ‚ค ํšŒ์ „ ์ž๋™ํ™” โ€” SealedSecret + AWS ํ‚ค ๋กœํ…Œ์ด์…˜
  11. Airflow 6๋‹จ๊ณ„: KubernetesExecutor ์„ ํƒ ์ด์œ  โ€” CeleryExecutor ๋Œ€๋น„ ์žฅ๋‹จ์  ๋ถ„์„
  12. Airflow 7๋‹จ๊ณ„: DAG CI ๊ตฌ์ถ• โ€” test_dag_integrity + GitHub Actions ์ž๋™ ๊ฒ€์ฆ

Level 4. ๊ด€์ธก์„ฑ & ์„œ๋น™ โ€” MonitoringยทTritonยทFeature Store (15ํŽธ)

๊ด€์ธก ๊ฐ€๋Šฅํ•œ ํ”Œ๋žซํผ์„ ๋งŒ๋“ค๊ณ , Triton ๊ณ ์„ฑ๋Šฅ ์„œ๋น™๊ณผ Feature Store๋ฅผ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค.

Observability & Data Pipeline

  1. Observability 1๋‹จ๊ณ„: kube-prometheus-stack + GitOps ๊ตฌ์ถ• โ€” Prometheus ์Šคํƒ GitOps ๋ฐฐํฌ
  2. Observability 2๋‹จ๊ณ„: Alertmanager Slack & ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… โ€” ์•Œ๋ฆผ ๋ผ์šฐํŒ…๊ณผ ์žฅ์•  ๋Œ€์‘
  3. Observability 3๋‹จ๊ณ„: Prometheus/KSM/Kubelet ์™„์ „ ๋ถ„๋ฆฌ ๊ตฌ์กฐ โ€” ๋ฉ”ํŠธ๋ฆญ ์ˆ˜์ง‘๊ธฐ ์•„ํ‚คํ…์ฒ˜ ๋ถ„๋ฆฌ
  4. Observability 4๋‹จ๊ณ„: Loki/Promtail ๋กœ๊ทธ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• โ€” ์ค‘์•™ ์ง‘์ค‘ ๋กœ๊ทธ ์ˆ˜์ง‘
  5. Observability 5๋‹จ๊ณ„: ์šด์˜ ์ค‘ ์‹ค์ œ ์ด์Šˆ & ํ•ด๊ฒฐ ๊ณผ์ • โ€” ์‹ค์ „ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ์‚ฌ๋ก€
  6. Observability 6๋‹จ๊ณ„: FastAPI Dashboard & Alert Library โ€” ์„œ๋น™ ์ „์šฉ ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์ถ•
  7. Observability 7๋‹จ๊ณ„: Data Pipeline ๊ตฌ์ถ• โ€” Airflow ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ํŒŒ์ดํ”„๋ผ์ธ
  8. Observability 8๋‹จ๊ณ„: Data Pipeline ๊ณ ๋„ํ™” โ€” Grafana + Loki ํ†ตํ•ฉ ๋ชจ๋‹ˆํ„ฐ๋ง

Triton ์„œ๋น™ ํ”Œ๋žซํผ

  1. Triton ์„œ๋น™ ํ”Œ๋žซํผ - Triton ๊ตฌ์ถ• โ€” ONNX ๋ชจ๋ธ ๊ธฐ๋ฐ˜ Triton ๋ฐฐํฌ
  2. Triton ์„œ๋น™ ํ”Œ๋žซํผ - MLflow โ†’ Triton ์ž๋™ ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ โ€” ๋ชจ๋ธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์—ฐ๋™ ์ž๋™ํ™”
  3. Triton ์„œ๋น™ ํ”Œ๋žซํผ - Alerting ์šด์˜ ํ‘œ์ค€ ๋งค๋‰ด์–ผ โ€” Triton ์ „์šฉ ์•Œ๋ฆผ ์ฒด๊ณ„
  4. Triton ์„œ๋น™ ํ”Œ๋žซํผ - dynamic_batching + instance_group โ€” ๋ฐฐ์น˜ ์ตœ์ ํ™”์™€ ์ธ์Šคํ„ด์Šค ํŠœ๋‹

Feature Store & MLflow

  1. Feature Store & Feast - Feature Store-lite โ€” ๊ฒฝ๋Ÿ‰ Feature Store ์„ค๊ณ„
  2. Feature Store & Feast - Feast โ€” Feast ๋„์ž…๊ณผ ์šด์˜
  3. MLflow Model Registry: alias ๊ธฐ๋ฐ˜ ๋ชจ๋ธ ๋ฒ„์ „ ๊ด€๋ฆฌ โ€” promotion/shadow alias ์ „๋žต

Level 5. E2E ํ†ตํ•ฉ โ€” ์ „์ฒด ํ”Œ๋žซํผ ์„ค๊ณ„ยท๊ฒ€์ฆ (11ํŽธ)

์ง€๊ธˆ๊นŒ์ง€ ๊ตฌ์ถ•ํ•œ ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•˜๋‚˜์˜ ํ”Œ๋žซํผ์œผ๋กœ ํ†ตํ•ฉํ•˜๊ณ , ์„ค๊ณ„ ์˜๋„๋ถ€ํ„ฐ ์„ฑ๋Šฅ ๊ฒ€์ฆ๊นŒ์ง€ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

  1. GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ์„ค๊ณ„ ์˜๋„ โ€” ํ”Œ๋žซํผ ์ „์ฒด ์„ค๊ณ„ ์ฒ ํ•™๊ณผ ๋ชฉํ‘œ
  2. GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ์šด์˜ ๊ฒฝ๊ณ„ โ€” ๋ ˆํฌยทํŒ€ยท์ฑ…์ž„ ๊ฒฝ๊ณ„ ์ •์˜
  3. GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - GitOps ๊ตฌ์กฐ โ€” ArgoCD ๋ฉ€ํ‹ฐ๋ ˆ์ด์–ด ๋™๊ธฐํ™”
  4. GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ํ† ๊ธ€ ๊ตฌ์กฐ โ€” ์ปดํฌ๋„ŒํŠธ ํƒˆ๋ถ€์ฐฉ ์„ค๊ณ„
  5. GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ์šด์˜ ํ™˜๊ฒฝ ๋ฐ˜์˜ ์ œ์–ด โ€” ํ™˜๊ฒฝ๋ณ„ ์„ค์ • ๋ถ„๋ฆฌ์™€ ๋ฐ˜์˜ ์ „๋žต
  6. GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ๋ชจ๋ธ ๋ฐ˜์˜ ์ œ์–ด โ€” ํ’ˆ์งˆ ๊ฒŒ์ดํŠธ์™€ ์ž๋™ ๊ต์ฒด ํ๋ฆ„
  7. GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ๋ชจ๋ธ ๋“ฑ๋ก/์„œ๋น™ ๋ฐ˜์˜ ๋ถ„๋ฆฌ โ€” MLflow ๋“ฑ๋ก๊ณผ Triton ์„œ๋น™ ๋ถ„๋ฆฌ
  8. GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ์‹ค์ œ ๋™์ž‘ ํ™•์ธ โ€” ์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ ์‹คํ–‰ ๊ฒ€์ฆ
  9. GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ์šด์˜ ์ œ์–ด ๊ตฌ์กฐ โ€” ๋ณด์•ˆยท๊ถŒํ•œยท์‹œํฌ๋ฆฟ ํ†ตํ•ฉ ๊ด€๋ฆฌ
  10. GitOps ๊ธฐ๋ฐ˜ E2E ML Platform - ์šด์˜ ๋ฌธ์„œํ™” โ€” One Commit Flow์™€ ์šด์˜ ๋งค๋‰ด์–ผ
  11. k6๋กœ ๊ฒ€์ฆํ•œ Triton + FastAPI ์„œ๋น™ ์„ฑ๋Šฅ โ€” 136 RPS, p95 553ms ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ