The Operationalize ML project contains a Machine Learning Microservice, built on Scikit-Learn. It contains a model that predicts house prices in Boston according to several features, such as average rooms in a home and data about highway access, teacher-to-pupil ratios, and so on. You can read more about the data, which was initially taken from Kaggle, on the data source site.
- Run a docker container
- Upload container into a public registry (hub.docker.com)
- Run the deployed application in a Kubernetes cluster
- Integrate with CircleCI for continuous integration
- Python 3.7
- Fork this repo and clone it to your local workstation (obviously)
- Set up the environment by running
make setup
. This will create a virtual environment in your home directory called.devops
- Install dependencies by running
make install
- (Optionally) Lint application (requires hadolint)
- Run the application on docker by calling
./run_docker.sh
- In the
./upload_docker.sh
file, edit the dockerpath (line 8) and change the docker username to a personalized one (or leave it as is, to use the public kcemenike/microproject:v1.0.0) - To upload to docker hub, run
./upload_docker.sh
- To deploy to kubernetes, run
./run_kubernetes.sh