Projects are now split into Resources
Previous versions of Saturn Cloud had “projects”—a project was a bundle with a Jupyter server, an optional Dask cluster, and any number of jobs or deployments associated with the Jupyter server. This ended up being difficult for users because it was complicated to manage all the different components of a project. We have now split projects into distinct resources, each which has its own separate optional Dask cluster.
New types of resources:
- Jupyter servers (most common) - resources used for exploratory analysis and data science
- Jobs - resources for running simple tasks on a recurring basis
- Deployments - resources for continuously running tasks like dashboards and APIs
- Prefect Cloud flows - resources for more complex recurring tasks
Now, the project page is replaced with a resource page, which lists all the different resources. There are different buttons for creating different types of resources.
All existing projects were converted into resources. The vast majority of the projects were converted into Jupyter server resources, although projects that previously had deployments or jobs will now have those as separate resources. None of your code will run any differently than before and you will have no loss of functionality from this change.
Clone and share resources
Previously with Saturn Cloud, it was unclear for users exactly what collaboration meant—for instance, what parts of the project will be passed to the other user, and if one user made changes would the other see them? To make this simpler for users, we have replaced “collaboration” with new concepts “cloning” and “sharing.”
When you clone a resource you make a copy of it. You’ll get all the settings including things like the connected git repositories in the new cloned resource. You can even clone the settings from a Jupyter server resource and use them for a Job or Deployment if after doing exploratory analysis you want to make your code production ready. Clones are copies—if the original is changed after the clone is made the clone is not updated. To clone a resource, click the “Clone Existing Resource” card on the resources page.
With sharing, a user can give another user access to clone their resource. Then, the other person can make a clone of the resource whenever they want. Just like before, clone is a complete copy—all the settings from the original resource are passed on. Within a resource, a user can specify another user to share the resource with. Again, if the shared original is changed after the clone is made, the clone is not updated. After a resource is shared, when the user clicks the “Clone Existing Resource” they will see the shared resource in the list of things they can clone.
Git key management is simplified
Previously, Saturn Cloud required you to upload a private SSH key to connect to git repository, and for each git repo you’d need to specify which key to use. This ended up being a burden for users to keep track of. We have done two things to make this simpler:
- By default, Saturn Cloud now uses a single private SSH key to access all git repositories (which covers nearly all users).
- Saturn Cloud can now generate a public/private SSH key pair for you so you don’t have to create it yourself.
With this change, users will be able to get started with Saturn Cloud more quickly.
New users will have to generate or upload a key before the use git repositories, but the UI will warn you if you don’t yet have a key.
Managed git repositories are now treated more consistently
Previously, Saturn Cloud allowed users to use built-in version control on their Saturn Cloud projects and managed it for them. This was done through a plugin in Jupyter, which automatically took snapshots of the code and saved them to a Saturn Cloud hosted git repository several times an hour. This created confusion for users because it was unclear how exactly the snapshots were being taken and where they were being backed up.
Most users did not ever interact with these managed resources at all, and it was confusing because they were handled entirely differently than the git repos users connected to on services like GitHub. We have made changes to streamline this process, but for most users, these changes will be imperceptible since they never used the managed git repo in the first place.
- Saturn Cloud will no longer create managed git repositories for new resources
- Saturn Cloud will no longer automatically push/pull managed git repos. If users want to use these services, they can use command line git
- Saturn Cloud will archive any of the managed git repos that have never been touched. There should be no need to ever view these since they’ve never been used, but if you want to access it, you can contact us to do so.
Release internal name: 2021-07-26