{"id":23235860,"url":"https://github.com/hack-light/project-ml-microservice-k8s","last_synced_at":"2025-04-05T20:36:10.694Z","repository":{"id":50459479,"uuid":"517256307","full_name":"Hack-Light/project-ml-microservice-k8s","owner":"Hack-Light","description":null,"archived":false,"fork":false,"pushed_at":"2022-07-29T10:29:57.000Z","size":45239,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-11T20:59:54.694Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hack-Light.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-24T07:28:29.000Z","updated_at":"2023-11-27T22:29:35.000Z","dependencies_parsed_at":"2022-08-05T13:00:35.899Z","dependency_job_id":null,"html_url":"https://github.com/Hack-Light/project-ml-microservice-k8s","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hack-Light%2Fproject-ml-microservice-k8s","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hack-Light%2Fproject-ml-microservice-k8s/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hack-Light%2Fproject-ml-microservice-k8s/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hack-Light%2Fproject-ml-microservice-k8s/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hack-Light","download_url":"https://codeload.github.com/Hack-Light/project-ml-microservice-k8s/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247399895,"owners_count":20932876,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-19T03:29:46.020Z","updated_at":"2025-04-05T20:36:10.672Z","avatar_url":"https://github.com/Hack-Light.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Hack-Light](https://circleci.com/gh/Hack-Light/project-ml-microservice-k8s.svg?style=svg)](https://app.circleci.com/pipelines/github/Hack-Light/project-ml-microservice-k8s)\n\n## Project Overview\n\nIn this project, you will apply the skills you have acquired in this course to operationalize a Machine Learning Microservice API. \n\nYou are given a pre-trained, `sklearn` model that has been trained to predict housing 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](https://www.kaggle.com/c/boston-housing). This project tests your ability to operationalize a Python flask app—in a provided file, `app.py`—that serves out predictions (inference) about housing prices through API calls. This project could be extended to any pre-trained machine learning model, such as those for image recognition and data labeling.\n\n### Project Tasks\n\nYour project goal is to operationalize this working, machine learning microservice using [kubernetes](https://kubernetes.io/), which is an open-source system for automating the management of containerized applications. In this project you will:\n* Test your project code using linting\n* Complete a Dockerfile to containerize this application\n* Deploy your containerized application using Docker and make a prediction\n* Improve the log statements in the source code for this application\n* Configure Kubernetes and create a Kubernetes cluster\n* Deploy a container using Kubernetes and make a prediction\n* Upload a complete Github repo with CircleCI to indicate that your code has been tested\n\nYou can find a detailed [project rubric, here](https://review.udacity.com/#!/rubrics/2576/view).\n\n**The final implementation of the project will showcase your abilities to operationalize production microservices.**\n\n---\n\n## Setup the Environment\n\n* Create a virtualenv with Python 3.7 and activate it. Refer to this link for help on specifying the Python version in the virtualenv. \n```bash\npython3 -m pip install --user virtualenv\n# You should have Python 3.7 available in your host. \n# Check the Python path using `which python3`\n# Use a command similar to this one:\npython3 -m virtualenv --python=\u003cpath-to-Python3.7\u003e .devops\nsource .devops/bin/activate\n```\n* Run `make install` to install the necessary dependencies\n\n### Running `app.py`\n\n1. Standalone:  `python app.py`\n2. Run in Docker:  `./run_docker.sh`\n3. Run in Kubernetes:  `./run_kubernetes.sh`\n\n### Kubernetes Steps\n\n* Setup and Configure Docker locally\n* Setup and Configure Kubernetes locally\n* Create Flask app in Container\n* Run via kubectl\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhack-light%2Fproject-ml-microservice-k8s","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhack-light%2Fproject-ml-microservice-k8s","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhack-light%2Fproject-ml-microservice-k8s/lists"}