Kubernetes

Introduction

Kubernetes (sometimes abbreviated as K8s) is an open source general-purpose container orchestration system initially developed by Google for running and managing containerized workloads and services. Historically, this meant deploying and scaling web applications but recently, the ML community has co-opted the technology to serve as the underlying orchestration layer for training and deploying ML models.

Kubernetes has recently exploded in popularity and even though it is a very new and relatively immature project, thousands of organizations have invested in the technology to manage their public cloud or on-premise deployments. Companies either deploy their own Kubernetes cluster or used managed cloud services such as EKS on AWS.

Relationship to Machine Learning

Kubernetes provides the raw ingredients of an ML platform but Kubernetes itself is not suitable for ML practitioners. It’s endlessly complicated and designed to be deployed and managed by DevOps teams. Gradient is an “ML layer” that runs on top of Kubernetes and targets Data Scientists. See below for more information.

Benefits of Kubernetes

Kubernetes can run on any infrastructure which facilitates multi-cloud adoption and applications portability.

Kubernetes has gained widespread adoption and is supported by a vast community so it gets more powerful every day. There is also a growing ecosystem of tools that are integrating with or building on top of Kubernetes.

Kubernetes + Gradient

Gradient is built on top of Kubernetes. This provides multi-cloud capability, interoperability with Kubernetes plugins, and robust scheduling and resource management.