CNCF에서는 +190여개의 오픈소스기반의 Project(Tool)과 함께, MLOps 운영을 지원하고 있습니다.
엔드투엔드(End-to-End) 플랫폼 구축
- 쿠버플로우(Kubeflow) : Kubeflow brings MLOps to the CNCF Incubator | CNCF
*CNCF의 인큐베이팅 프로젝트인 쿠버플로우는 쿠버네티스 기반의 MLOps를 위한 사실상의 표준 플랫폼입니다4. TensorFlow, PyTorch 등 다양한 프레임워크를 지원하며, 분산 모델 개발 및 배포를 위한 파이프라인을 제공합니다4. 쿠버플로우는 모델 개발, 훈련, 배포, 관리 등 머신러닝의 전체 생애주기를 지원하도록 설계되었습니다42. IBM, Canonical 등 여러 기업이 자사 제품에 쿠버플로우를 채택하여 활용하고 있습니다.
모델 및 코드 패키징 (CI/CD)
- KitOps: https://kitops.org/
AI/ML 프로젝트의 패키징과 버전 관리를 위한 오픈소스 표준을 지향하며 CNCF에 제출된 프로젝트입니다. OCI(Open Container Initiative) 표준을 기반으로 하여 모델, 데이터셋, 코드의 의존성을 패키지로 관리함으로써 재현성과 이식성을 높입니다. - Buildpacks: https://buildpacks.io/
소스 코드를 컨테이너 이미지로 변환하는 과정을 자동화하여 개발자가 Dockerfile을 작성하는 부담을 줄여줍니다. 이는 모델 코드를 신속하게 패키징하는 데 유용하게 사용될 수 있습니다2. - Stacker: Stacker Build - Stacker Build
루트 권한 없이 OCI 이미지를 빌드할 수 있는 도구로, 보안성과 재현성을 높인 빌드 환경을 제공합니다.
인프라 및 자원 관리
- Istio, Open Policy Agent (OPA), Calico: 블룸버그(Bloomberg)의 사례처럼, Jupyter 노트북과 같은 대화형 ML 환경을 안전하게 제공하기 위해 이 프로젝트들을 조합하여 활용할 수 있습니다2. Istio는 서비스 간 통신을 제어하고, OPA는 정책 기반 접근 제어를, Calico는 네트워크 보안 정책을 담당합니다2.
- KubeSlice: 여러 쿠버네티스 클러스터에 걸쳐 오버레이 네트워크를 구성하여 분산된 환경에서의 애플리케이션 연결성, 서비스 검색, 트래픽 제어 등을 용이하게 합니다. 이는 대규모 분산 학습 환경 구축에 활용될 수 있습니다.
관측 가능성(Observability) 및 데이터 수집
- 프로메테우스(Prometheus): 클라우드 네이티브 환경의 표준 모니터링 시스템으로, 다양한 시스템의 성능 지표(Metric)를 시계열 데이터로 수집하고 저장합니다.
- 플루언티드(Fluentd): 통합 로깅 계층을 제공하여 여러 소스에서 발생하는 로그 데이터를 수집, 처리, 전달하는 역할을 합니다.
자동화된 대응 및 예측 분석
- Keptn: Keptn - Supercharge your Deployments - Keptn
서비스 수준 목표(SLO) 기반의 애플리케이션 수명주기 오케스트레이션을 제공하는 CNCF 샌드박스 프로젝트입니다. 성능 지표를 기반으로 배포를 자동으로 검증하고 롤백하는 등 SLO 기반의 의사결정을 자동화하여 코드 품질과 서비스 안정성을 보장합니다.