Seldon brings machine learning to Kubernetes

kubernetes-logoSeldon makes life easier for data scientists and developers by connecting the best open-source technologies and toolkits to build an enterprise-grade machine learning infrastructure. Until now, there were two options for getting started with Seldon’s open-source platform. Either install the separate infrastructure components or run a virtual machine that encapsulates the entire platform. But manually setting up and maintaining infrastructure is time-consuming. And while a single virtual machine is convenient, it doesn’t scale.

With our latest release of Seldon we have taken a huge leap forward and completely re-architected how Seldon is packaged, deployed and maintained. Seldon is now provided as a fully dockerized set of containers running inside Kubernetes. Kubernetes is an orchestration framework that helps running complex systems built from docker containers in production environments. It handles service discovery and provisioning along with rolling updates to those services in live production installations. Some of the advantages of running within Kubernetes include:

  • Deploy Seldon easily anywhere you can create a Kubernetes cluster, including the major cloud providers such as AWS, Google and Azure along with on-premise bare metal installations.
  • Persistent storage of models, configuration and data can be handled via any of the many persistent volume stores that can be connected to Kubernetes such as Gluster FS, NFS, as well as Cloud file stores.
  • Seldon allows microservices to be deployed to handle custom predictive models. Using versioned Docker containers means you can deploy updates to these microservices in production easily with no downtime with Kubernetes handling the rolling update.

The release also provides some other significant highlights:

  • Configuration is now exclusively done via the new seldon-cli which provides various commands to configure and control Seldon.
  • We have opted to use Luigi to handle offline modelling dependencies. Luigi is a python based framework for defining the various steps needed to create an offline predictive model and handling those steps and dependencies at run time. Luigi tasks can be started as Kubernetes Jobs.
  • We provide several documented examples for basic recommendation and prediction using Reuters, iris and Movielens 100k data sets. We will be adding more examples soon.

To get started, please read our new Kubernetes install docs. We would love to hear your feedback on this release in the Seldon users group.

Contents