Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/artefactory/one-click-mlflow
A tool to deploy a mostly serverless MLflow tracking server on a GCP project with one command
https://github.com/artefactory/one-click-mlflow
docker gcp mlflow serverless terraform
Last synced: about 2 months ago
JSON representation
A tool to deploy a mostly serverless MLflow tracking server on a GCP project with one command
- Host: GitHub
- URL: https://github.com/artefactory/one-click-mlflow
- Owner: artefactory
- License: lgpl-3.0
- Created: 2020-09-01T09:12:17.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-11-17T13:35:44.000Z (about 3 years ago)
- Last Synced: 2023-03-06T23:16:34.916Z (almost 2 years ago)
- Topics: docker, gcp, mlflow, serverless, terraform
- Language: HCL
- Homepage:
- Size: 225 KB
- Stars: 61
- Watchers: 4
- Forks: 17
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# 1. one-click-mlflow
A tool to deploy a mostly serverless MLflow on a GCP project with one command- [1. one-click-mlflow](#1-one-click-mlflow)
- [1.1. How to use](#11-how-to-use)
- [1.1.1. Pre-requesites](#111-pre-requesites)
- [1.1.2. Deploying](#112-deploying)
- [1.1.3. What it does](#113-what-it-does)
- [1.1.4. Other available make commands](#114-other-available-make-commands)
- [1.1.5. Pushing logs and artifacts](#115-pushing-logs-and-artifacts)## 1.1. How to use
### 1.1.1. Pre-requisites
- A GCP project on which you are owner
- Terraform, make, and jq installed
- Initialized gcloud SDK with your owner account### 1.1.2. Deploying
Clone the repo
Run `make one-click-mlflow` and let the wizard guide you.
If you want to see the innards, you can run it in debug mode: `DEBUG=true make one-click-mlflow`
### 1.1.3. What it does
- Enables the necessary services
- Builds and deploys the MLFlow docker image
- Creates a private IP CloudSQL (MySQL) database for the tracking server
- Creates an AppEngine Flex on the default service for the web UI, secured by IAP
- Manages all the network magic
- Creates the `mlflow-log-pusher` service account![Architecture](/doc/archi.svg)
### 1.1.4. Other available make commands
- `make deploy`: builds and pushes the application image and (re)deploys the infrastructure
- `make docker`: builds and pushes the application image
- `make apply`: (re)deploys the infrastructure
- `make destroy`: destroys the infrastructure. **Will not delete the OAuth consent screen, and the app engine application**.### 1.1.5. Pushing your first parameters, logs, artifacts
Once the deployment successful, you can start pushing to your MLFlow instance.```bash
cd examples
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python track_experiment.py
```You can than adapt `examples/track_experiment.py` and `examples/mlflow_config.py` to suit your application's needs.