dstack 0.7: Hub Preview¶
A preview of the new tool for teams to manage their ML workflows.
Last October, we open-sourced the
dstack CLI for defining ML workflows as code and running them easily on any cloud or
locally. The tool abstracts ML engineers from vendor APIs and infrastructure, making it convenient to run scripts,
development environments, and applications.
Today, we are excited to announce a preview of
Hub, a new way to use dstack for teams to manage their model development
workflows effectively on any cloud platform.
How does it work?¶
dstack CLI configured a cloud account as a remote to use local cloud credentials for direct requests to
the cloud. Now, the CLI allows configuration of Hub as a remote, enabling requests to the cloud using user credentials
stored in Hub.
sequenceDiagram autonumber participant CLI participant Hub participant Cloud % Note right of Cloud: AWS, GCP, etc CLI->>Hub: Run a workflow activate Hub Hub-->>Hub: User authentication loop Workflow provider Hub-->>Cloud: Submit workflow jobs end Hub-->>CLI: Return the workflow status deactivate Hub loop Workflow scheduler Hub-->>Cloud: Re-submit workflow jobs end
The Hub not only provides basic features such as authentication and credential storage, but it also has built-in workflow scheduling capabilities. For instance, it can monitor the availability of spot instances and automatically resubmit jobs.
Why does it matter?¶
As you start developing models more regularly, you'll encounter the challenge of automating your ML workflows to reduce time spent on infrastructure and manual work.
While many cloud vendors offer tools to automate ML workflows, they do so through opinionated UIs and APIs, leading to a suboptimal developer experience and vendor lock-in.
dstack aims to provide a non-opinionated and developer-friendly interface that can work across any
Try the preview¶
Here's a quick guide to get started with Hub:
- Start the Hub application
- Visit the URL provided in the output to log in as an administrator
- Create a project and configure its backend (AWS or GCP)
- Configure the CLI to use the project as a remote
For more details, visit the Hub documentation.
Currently, the only way to run or manage workflows is through the
dstack CLI. There are scenarios when you'd prefer to run
workflows other ways, e.g. from Python code or programmatically via API. To support these scenarios, we plan to release soon
Python SDK and REST API.
The built-in scheduler currently monitors spot instance availability and automatically resubmits jobs. Our plan is to enhance this feature and include additional capabilities. Users will be able to track cloud compute usage, and manage quotes per team via the user interface.
Lastly, and of utmost importance, we plan to extend support to other cloud platforms, not limiting ourselves to AWS, GCP, and Azure.
You are encouraged to report any bugs, suggest new features, and provide feedback to improve Hub through GitHub issues.
If you wish to have
dstack support additional workflow providers or
and are willing to contribute to the cause, please get in touch with us