Introduction To Machine Learning Deployment Using Docker and Kubernetes

Deployment is perhaps one of the most overlooked topics in the Machine Learning world. But it most certainly is important, if you want to get into the industry as a Machine Learning Engineer (MLE). In this article, we will take a sober look at how painless this process can be, if you just know the small ins and outs of the technologies involved in deployment.

All the files for this project are available on GitHub, and you can perhaps use this project as a Hello World application, such that you have something running and later on replace it with something more complex.

Setup & Installation

These are all the steps to set up your environment. We are going to be using Google Cloud Platform (GCP), as they are largely the leader in Kubernetes, and they are also the one's who developed and open-sourced the internal project. The main benefits of using GCP is that it has a great UI/UX and is easy to set up. The same cannot be said for their competitors.

1. You probably already have a Google account. Sign up for Google Cloud Platform and get \$300 free credits. You have to enter your credit card, but it won't be charged unless you give them permission. Remember to enable billing.
3. Export the SDK to PATH by finding the path to the SDK bin folder.
a.    Windows: Add an environmental variable. 1) Open search and search for "Edit the environment variables", 2) Click on the "Environment Variables" button at the bottom, 3) For your user, double click Path in "User variables for <user>" OR click new if it does not exist (Variable Name is "Path"). Click new and enter the path to the SDK bin folder and save.
b.    MacOS: In Terminal, type in nano ~/.bash_profile and add the path to your bin folder as a new line in the file.
export PATH="/Applications/google-cloud-sdk/bin"
Save by doing CTRL+O, press Enter/Return and press CTRL+X.
c.    Linux: Depending on the distribution and what you have installed, there could be different profiles for Terminal. Check nano ~/.bash_profile, nano ~/.bash_login, nano ~/.profile or nano ~

[...]