Virgin Media O2 scales ML production with lean, isolated Vertex AI pipeline container environments
VMO2's MLOps platform used a single shared container environment for all pipeline tasks, which grew increasingly brittle as the number of data scientists and ML projects expanded — dependency conflicts blocked upgrades, the image ballooned in size slowing node start-up, and local installs exceeded 2 GB.
The single monolithic container environment meant all pipeline tasks shared one image — upgrading any package risked breaking other users' projects, dependency conflicts worsened as the platform grew, and the ever-growing image increased download costs and slowed pipeline node start-up.
Switching to lean, isolated container environments per component type reduced the MLOps package local install from over 2 GB to 147 MB, cut average pipeline running time by approximately 11%, and enabled the production ML model count to grow from 4 to 25 in seven months.
Frequently asked questions
What did this team achieve with this AI workflow?
Switching to lean, isolated container environments per component type reduced the MLOps package local install from over 2 GB to 147 MB, cut average pipeline running time by approximately 11%, and enabled the productio…
What tools did this team use?
Vertex AI Pipelines, Kubeflow Pipelines (KFP), BigQuery, GCS, XGBoost, CatBoost, scikit-learn, TensorFlow, Dataflow, poetry.
What results were reported?
Pipeline running time: ~11%; MLOps package local install size: from upwards of 2GB down to 147MB; ML models deployed to production: from four models to 25 in a matter of seven months (source-reported, not independently verified).
What failed first in this deployment?
The single monolithic container environment meant all pipeline tasks shared one image — upgrading any package risked breaking other users' projects, dependency conflicts worsened as the platform grew, and the ever-gro…
How is this back office ops AI workflow structured?
Data scientist triggers ML pipeline → Component routed to lean container → Helper code injected at runtime → ML model training runs in isolation → Models deployed to production.