Kubernetes for MLOps: Scaling Enterprise Machine Learning, Deep Learning, and AI

Sam Charrington

Published: Jun 17, 2020

Description:

Enterprise interest in machine learning and artificial intelligence continues to grow, with organizations dedicating increasingly large teams and resources to ML/AI projects.

As businesses scale their investments, it becomes critical to build repeatable, efficient, and sustainable processes for model development and deployment.

The move to drive more consistent and efficient processes in machine learning parallels efforts towards the same goals in software development. Whereas the latter has come to be called DevOps, the former is increasingly referred to as MLOps.

While DevOps, and likewise MLOps, are principally about practices rather than technology, to the extent that those practices are focused on automation and repeatability, tools have been an important contributor to their rise.

In particular, the advent of container technologies like Docker was a significant enabler of DevOps, allowing users to drive increased agility, efficiency, manageability, and scalability in their software development efforts.

Containers remain a foundational technology for both DevOps and MLOps. Containers provide a core piece of functionality that allow us to run a given piece of code—whether a notebook, an experiment, or a deployed model—anywhere, without the “dependency hell” that plagues other methods of sharing software. But, additional technology is required to scale containers to support large teams, workloads, or applications.

This technology is known as a container orchestration system, the most popular of which is Kubernetes.