Udacity Cloud DevOps Engineer Nanodegree, Project IV: Operationalize a Machine Learning Microservice API
This project tests the ability to apply the skills acquired in the nanodegree course to operationalize a Machine Learning Microservice API.
A model that has been pre-trained to predict housing prices in Boston according to several factors is given and the task is to operationalize/deploy it using containerization technologies like Docker and Kubernetes.
- Setup the environment: (I am on Amazon Linux with python 3 installed)
git clone https://github.com/code2exe/udacity-docker.git
cd udacity-docker
python3 -m venv ~/.udocker
source ~/.udocker/bin/activate
- Running app.py: (Ensure that Docker and Kubectl with Minikube are properly installed)
- Run with Docker:
./run_docker.sh
- Run with Kubernetes:
minikube start
.\run_kubernetes.sh
- Run with Docker:
.circleci
- CircleCI intergration for testingmodel_data
- Contains pre-trained model dataoutput_txt_files
- Contains log outputDockerfile
- Docker configurationMakefile
- Makefile for local testingapp.py
- Our Flask appmake_prediction.sh
- Contains the payload to generate our predictionrun_docker.sh
- A script to automate our docker deploymentrun_kubernetes
- A script to automate our Kubernetes deploymentupload_docker
- A script to build and push our Docker container to Dockerhub