MLOps 구축기 (5) - MLflow 기반 MLOps 파이프라인 전체 정리

2026. 3. 13. 01:53·AI

4편에 걸쳐 MLOps 환경을 처음부터 만들어봤다.

  • MLflow 실험 추적
  • 모델 레지스트리
  • FastAPI 서빙
  • GitHub Actions CI/CD
  • Prometheus + Grafana 모니터링

결과적으로 docker compose up -d 한 번으로 전체 환경이 올라오는 구조가 됐다.

이번 글에서는 코드나 설정을 더 추가하지 않는다.
대신 이 구조가 왜 이렇게 만들어졌는지, 그리고 실무에서는 어디까지 확장되는지를 정리해보려고 한다.


전체 아키텍처

지금까지 만든 구조를 한 번에 보면 이렇다.

처음 보면 복잡해 보이지만, 실제로는 역할이 명확하게 나뉜 구조다.


왜 이런 구조가 되는가

MLOps 시스템은 대부분 다음 네 가지 문제를 해결하려고 만든다.

모델 학습 관리
모델 저장
모델 배포
운영 모니터링

지금 만든 구조도 결국 이 네 가지 역할로 나뉜다.

역할 구성
실험 관리 MLflow
모델 저장 MinIO
메타데이터 PostgreSQL
서빙 FastAPI
모니터링 Prometheus + Grafana
자동화 GitHub Actions

각 도구는 하나의 문제만 해결한다.

이게 중요한 이유는 나중에 교체가 가능하기 때문이다.

예를 들어 다음처럼 바꿀 수 있다.

MinIO → AWS S3
FastAPI → KServe
Docker Compose → Kubernetes

구조가 분리되어 있으면 이런 변경이 훨씬 쉽다.


이 구조가 MLOps의 최소 단위다

여기까지 만들면 보통 이런 질문이 나온다.

“이 정도면 실제 MLOps 환경이라고 볼 수 있을까?”

대부분의 경우 그렇다.

많은 MLOps 플랫폼도 결국 같은 구조를 가진다.

학습
→ 실험 기록
→ 모델 저장
→ 모델 서빙
→ 모니터링

차이는 규모와 자동화 수준이다.

예를 들어

개인 프로젝트 대규모 서비스
Docker Compose Kubernetes
MinIO AWS S3
FastAPI KServe / BentoML
수동 학습 파이프라인 오케스트레이션

하지만 기본 흐름은 크게 다르지 않다.


컴포넌트 간 통신 흐름

구조를 이해하려면 데이터 흐름을 보는 게 가장 쉽다.

학습 과정

학습 코드는 MLflow에 실험 결과를 기록하고, 모델 파일은 MinIO에 저장된다.


서빙 과정

서빙 서버는 시작할 때 모델을 한 번만 불러온다.

요청이 들어올 때마다 모델을 다시 로드하지 않기 때문에 성능이 안정적이다.


모니터링 과정

Prometheus는 숫자 메트릭만 저장한다.

예를 들어

  • 요청 수
  • 에러율
  • 응답 시간

같은 데이터다.

로그 분석과는 목적이 다르다.


실무에서는 무엇이 더 추가될까

지금 만든 구조는 기본 골격이다.

실제 환경에서는 여기에 몇 가지 기능이 더 붙는다.


데이터 버전 관리

모델을 재현하려면 데이터 버전이 필요하다.

코드는 Git으로 관리하지만 데이터는 그렇지 않다.

그래서 보통
DVC 같은 도구를 사용한다.

데이터셋이 고정된 프로젝트에서는 큰 문제가 없지만
데이터가 계속 추가되는 시스템에서는 필수에 가깝다.


A/B 테스트

새 모델을 바로 전체 트래픽에 적용하는 건 위험하다.

그래서 보통 이렇게 배포한다.

기존 모델 → 90%
새 모델 → 10%

성능이 검증되면 트래픽을 점점 늘린다.

이건 보통 API 게이트웨이나 서비스 메시에서 처리한다.


데이터 드리프트 감지

시간이 지나면 데이터 분포가 바뀐다.

예를 들어

  • 추천 시스템
  • 이상 탐지
  • 사기 탐지

같은 모델은 입력 데이터가 계속 변한다.

그래서 데이터 분포 변화를 감지하고 재학습을 트리거하는 시스템을 붙이기도 한다.


Feature Store

학습과 서빙에서 같은 feature를 사용하도록 보장하는 시스템이다.

학습과 서빙 로직이 달라지면 training-serving skew 문제가 생긴다.

이걸 해결하기 위해 Feature Store를 사용한다.

대표적인 도구는
Feast 가 있다.


이 구조의 한계

여기까지 만들면 꽤 완성된 것처럼 보인다.

하지만 몇 가지 한계도 있다.

1. 대규모 트래픽

FastAPI 단일 서버로는 대규모 트래픽을 처리하기 어렵다.

이 경우

로드 밸런서
+ 여러 서빙 인스턴스

구조로 확장해야 한다.


2. GPU 서빙

딥러닝 모델은 GPU가 필요할 수 있다.

이 경우

Kubernetes
+ GPU scheduling

환경이 필요하다.


3. 모델 수 증가

모델이 많아지면 관리가 복잡해진다.

이때는 보통

모델 서빙 플랫폼

을 따로 사용한다.

예를 들어

  • KServe
  • BentoML

같은 도구다.


왜 여기서 멈췄는가

이 시리즈는 MLOps의 핵심 구조를 이해하는 것을 목표로 했다.

여기서 더 나아가려면 다음이 필요하다.

  • 실제 데이터 파이프라인
  • 실제 트래픽
  • 장기 운영 환경

이런 요소가 없으면 실습으로 만들기 어렵다.

그래서 이번 시리즈는 핵심 골격까지 만드는 데서 멈췄다.


시리즈 요약

편 내용
1편 MLflow 실험 추적 환경 구축
2편 실험 비교와 모델 레지스트리
3편 FastAPI 모델 서빙
4편 CI/CD와 모니터링
5편 전체 구조 정리

마무리

직접 MLOps 환경을 만들어보면서 느낀 건 하나다.

MLOps는 복잡한 시스템처럼 보이지만 결국 역할 분리 문제라는 것.

학습
→ 기록
→ 저장
→ 서빙
→ 모니터링

이 다섯 가지를 어떻게 분리하느냐가 핵심이다.

지금 만든 구조는 아주 작은 규모지만,
대부분의 MLOps 플랫폼도 같은 흐름 위에서 동작한다.

그래서 이 구조를 이해하고 있으면
더 큰 시스템을 볼 때도 훨씬 빠르게 이해할 수 있다.

'AI' 카테고리의 다른 글

온디바이스 AI 경량화 (2) — 프루닝과 지식 증류 실전 비교 (AGP, Temperature, KL Divergence)  (0) 2026.04.17
온디바이스 AI 경량화 (1) — INT8 양자화로 CIFAR-10 모델 92% 줄이기 (TFLite PTQ)  (0) 2026.04.17
MLOps 구축기 (4) - GitHub Actions CI/CD와 Prometheus + Grafana 모니터링  (0) 2026.03.13
MLOps 구축기 (3) - MLflow 모델을 FastAPI로 서빙하기  (0) 2026.03.08
MLOps 구축기 (2) - MLflow 하이퍼파라미터 실험 관리와 Model Registry  (0) 2026.03.08
'AI' 카테고리의 다른 글
  • 온디바이스 AI 경량화 (2) — 프루닝과 지식 증류 실전 비교 (AGP, Temperature, KL Divergence)
  • 온디바이스 AI 경량화 (1) — INT8 양자화로 CIFAR-10 모델 92% 줄이기 (TFLite PTQ)
  • MLOps 구축기 (4) - GitHub Actions CI/CD와 Prometheus + Grafana 모니터링
  • MLOps 구축기 (3) - MLflow 모델을 FastAPI로 서빙하기
João Jin
João Jin
모바일 · 보안 · AI 기록
  • João Jin
    João Jin - 모바일 · 보안 · AI
    João Jin
  • 전체
    오늘
    어제
    • 분류 전체보기 (30)
      • 프로젝트 (3)
      • 개발기 (8)
      • 모바일 (8)
      • 보안 (2)
      • AI (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
    • X
  • 공지사항

  • 인기 글

  • 태그

    mcp-fence
    model context protocol
    Docker
    MCP
    MLFlow
    JNI
    FastAPI
    Native
    온디바이스AI
    Docker Compose
    안드로이드 NDK
    MCP 보안
    ndk
    LLM 보안
    AI
    Android
    MLOps
    머신러닝
    LINE WORKS
    AI 에이전트 보안
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
João Jin
MLOps 구축기 (5) - MLflow 기반 MLOps 파이프라인 전체 정리
상단으로

티스토리툴바