Building Secure MLOps Platforms in Air-Gapped Environments for DevOps Engineers

The article explains how DevOps engineers can construct a minimal yet complete MLOps platform inside a closed, air-gapped network without relying on any cloud services. It highlights the cultural gap between data scientists and DevOps teams and shows how MLOps practices such as data versioning, experiment tracking, and model registries bridge that gap. The architecture separates GPU training nodes from a Kubernetes serving cluster and uses open-source components including ArgoCD for GitOps, MLflow with PostgreSQL, MinIO, DVC, OpenBao, and External Secrets Operator. Special attention is given to secrets management with SOPS and age keys, image scanning with Trivy and Bandit, and secure Docker access via socket proxy on the training server. The setup avoids Kubeflow and HashiCorp Vault due to complexity and licensing concerns, favoring lighter, license-friendly alternatives suitable for isolated perimeters.

HabrTranslated from Russian

Read at source

The article presents a practical guide for DevOps engineers tasked with building an MLOps platform inside a fully closed, air-gapped environment. Up to 80 percent of machine-learning projects reportedly never reach production because of missing reproducible processes for data, models, and deployment.

MLOps extends classic DevOps practices to data and models. Data becomes a first-class artifact that must be versioned with DVC and stored in MinIO, while experiments are tracked in MLflow backed by PostgreSQL. A Model Registry with champion and challenger aliases allows safe model rollouts without changing application code.

The platform runs on two physical segments: a Kubernetes cluster handling serving, storage, and monitoring, and a separate GPU server used exclusively for training via Docker containers with NVIDIA runtime. This separation prevents expensive GPU resources from being locked to Kubernetes nodes.

Key components include ArgoCD with Apps-of-Apps pattern, GitLab CI/CD, FastAPI inference service, Celery and Redis for GPU task queuing, JupyterLab for experiments, OpenBao instead of Vault, External Secrets Operator, Trivy and Bandit scanning, and Prometheus plus Grafana monitoring. All Helm charts are vendored inside the Git repository to eliminate external dependencies.

Security measures specific to closed contours cover private Harbor registry, SOPS encryption with age keys delivered via ArgoCD CMP sidecar, wildcard TLS certificates distributed by ClusterExternalSecret, and a Docker Socket Proxy that restricts container operations to the minimum required privileges.

The author deliberately avoids Kubeflow because of its cloud-oriented design and heavy CRDs, and replaces Airflow with the lighter Celery queue. The resulting stack provides a reproducible, auditable foundation that can later be scaled when project volume increases.

Meridian digestThe week's most consequential security stories, distilled into one briefing.See the digest

More in Other

Mail.ru Reduces Lifetime 1TB Cloud Storage Promo to Standard 8GB Quota for Select Users
Kimi K3 Open Model Surpasses Closed AI Leaders with Million-Token Context and 896 Experts
Innostage Completes Functional Testing of PT NGFW 1.10.3 Across 156 Criteria