-
Notifications
You must be signed in to change notification settings - Fork 442
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mlstacks
integration (and deprecation of old deployment logic)
#1721
Merged
bcdurak
merged 156 commits into
develop
from
feature/PLATFORM-204-mlstacks-cli-migration
Aug 28, 2023
Merged
mlstacks
integration (and deprecation of old deployment logic)
#1721
bcdurak
merged 156 commits into
develop
from
feature/PLATFORM-204-mlstacks-cli-migration
Aug 28, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…04-mlstacks-cli-migration
…04-mlstacks-cli-migration
…com:zenml-io/zenml into feature/PLATFORM-204-mlstacks-cli-migration
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
breaking-change
dependencies
Pull requests that update a dependency file
documentation
Improvements or additions to documentation
enhancement
New feature or request
internal
To filter out internal PRs and issues
tests
Test suite additions or updates
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the necessary changes following the update / reworking of the
mlops-stacks
repository. Most updates relate to the ZenML CLI logic but there has also been one update to the component & stack models so that required the database to be updated.(Note that the
zenml deploy ...
CLI command is untouched (for now) but we will want to revisit that in the future.)⦾ Core concepts / chunks
Looking at the code for the
zenml stack deploy ...
CLI command is probably the best way to get a sense of how the flow works, but in a nutshell:mlstacks
Pydantic modelsmlstacks
. (i.e. notzenml
).mlstacks
terraform_utils
module to deploy / destroy etc as needed. (For more on that logic, visit the sister PR updating the mlops-stacks repository.)👷 How to try me out
First things first: you'll need to install the package into your local environment. First you'll need to clone the
mlops-stacks
repo and check it out to the current working branch for this change:There are two core sets of functionality that
mlstacks
enables through ZenML:(There is some remaining functionality from the previous logic that I left in (
zenml stack recipe ...
subcommands forinfo
anddescribe
andversion
) but perhaps it's better to remove those as well.)Both use cases allow for
deploy
anddestroy
. When you runzenml stack/component describe
you also get a link to your stack / component spec file printed out. This can be much improved but for this PR probably not enough time / out of scope.🥞 Stack Deployment Example Use
To deploy a stack that is made up of just an artifact store (quickest deployment of all our options) to GCP:
This will import your stack to ZenML by default as well.
You can run it with the
-b
flag to enable debug mode (which basically drops you more into the terraform weeds, should you want).To see some information about the stack you just registered:
To destroy the stack + its components recursively (i.e. just the artifact store) + (optionally) delete/deregister it from ZenML:
Obviously you can / should play around with different providers / components / component combinations.
🧲 Component Deployment
To deploy an artifact store component (quickest deployment of all our options) to GCP:
This will import your component to ZenML by default as well, but then you have to decide what you want to do with it in terms of associating it with a particular stack e.g..
You can run it with the
-d
flag to enable debug mode (which basically drops you more into the Terraform weeds, should you want).To see some information about the component you just registered:
To destroy the artifact store + (optionally) delete/deregister it from ZenML:
Obviously you can / should play around with different providers / components / component combinations.
🚧 Remaining / missing tasks
mlstacks
site but that'll happen elsewhere)Pre-requisites
Please ensure you have done the following:
Types of changes