-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Initial implementation of DaskCloudProviderEnvironment #2360
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
Initial implementation of DaskCloudProviderEnvironment #2360
Conversation
Thanks for the PR @joeschmid! Will have a look! |
Thanks @joshmeek! I happened to talk to @lauralorenz and @jlowin this morning on the PyCon contributors video conf and they suggested improving auth along the lines of the recent Better secrets PR from @cicdw. When I get a chance I'll update this to follow those guidelines, but also interested in any other thoughts and feedback. No rush from my side, this is mostly a "nights and weekends" project for me. (Though I can say that we're already using this successfully in our test environment.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking really good so far!
docs/orchestration/execution/dask_cloud_provider_environment.md
Outdated
Show resolved
Hide resolved
@joshmeek and team, this is finally ready for review. I'd love some feedback, especially on:
|
docs/orchestration/execution/dask_cloud_provider_environment.md
Outdated
Show resolved
Hide resolved
docs/orchestration/execution/dask_cloud_provider_environment.md
Outdated
Show resolved
Hide resolved
docs/orchestration/execution/dask_cloud_provider_environment.md
Outdated
Show resolved
Hide resolved
Co-Authored-By: Josh Meek <40716964+joshmeek@users.noreply.github.com>
Co-Authored-By: Josh Meek <40716964+joshmeek@users.noreply.github.com>
Co-Authored-By: Josh Meek <40716964+joshmeek@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small doc nits
Co-authored-by: Josh Meek <40716964+joshmeek@users.noreply.github.com>
Co-authored-by: Josh Meek <40716964+joshmeek@users.noreply.github.com>
Co-authored-by: Josh Meek <40716964+joshmeek@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀
Change the flow/task `run` method to private
The Dask Cloud Provider project aims to make it easy to bring up Dask clusters using services from cloud providers, e.g. AWS Fargate. This Prefect environment uses Dask Cloud Provider to dynamically create a Dask cluster, run the Flow on it, and tear down the cluster after use. This environment is meant to provide an easy path to Dask scalability for users of cloud platforms, like AWS.
CHANGELOG.md
(if appropriate)docs/outline.toml
for API reference docs (if appropriate)What does this PR change?
This adds a new execution environment,
DaskCloudProviderEnvironment
.Why is this PR important?
Prefect offers excellent scalability by running Flows on Dask clusters. However, configuring a truly distributed Dask cluster with multiple workers on separate compute resources can be complicated. Kubernetes can be used for this, but Prefect users who aren't familiar it (and Dask) may find it complex to configure. Even for experienced users currently using Prefect and Dask on k8s, cloud services like Fargate may make integration with CI/CD pipelines and automated deployment of Flows easier, e.g. Docker image versions can be updated in Fargate task definitions after an automated build completes, etc.