Closed rsignell closed 3 months ago
There are a few ways, but what I would probably do is to make an API token with some expiration date and just publish that on a github repository. Then all they have to do is
conda create -n coiled ...
conda activate coiled
export DASK_COILED__TOKEN=XXXX
coiled notebook start ...
If you also want them to access the web UI you could make a user like esip-2024-user
with a username and password and just publish those on a github repo as well (changing the password when you're done).
This is all pretty ugly, but our experience setting everyone up live in a tutorial is that it gets kinda messy, and you end up showing them them signup process rather than the product itself (I think that you and I had a similar experience with sagemaker studio notebook last ESIP). This process should be pretty foolproof.
Another note on the above is that I made a new conda environment. A common hiccup with new users is running package sync in a messy root environment. Users often get past this with modest effort but it's not the kind of thing you'd want them to deal with in a tutorial environment I think. As a backup I'd also have a docker image ready.
Just some thoughts and one way. There are others (like sending a bunch of invite e-mails). Happy to talk through those too if you think they would be useful.
Unless of course maybe what you want is to show off the onboarding process (making an account, getting an API token, selecting a workspace, etc..) in which case your best bet is to have them send you e-mail addresses and invite them one by one (shouldn't be more than a few seconds per e-mail address though).
Maybe I'll try the API TOKEN route first, and then see who wants to get invited via email?
That makes sense to me. They'll see things quickly from a user perspective, and then get into backend stuff only after they've seen some value.
As a heads-up, if you're planning to use file sync to move notebooks then that requires additional installation stuff, which might be hard to coordinate in a tutorial environment.
Yeah, I'm going to avoid sync because I struggled with that also when I tried it.
I'm just going to have them clone a repo and run the notebook I showed in my ESIP talk. And then maybe try their own workflows by uploading code to the Jupyterlab (I realized it won't be persisted)
I just tried this approach with a test user (@eeholmes) and she used a terminal in a github codespace to run the setup:
conda create -n coiled -c conda-forge coiled
conda activate coiled
export DASK_COILED__TOKEN=18b82ee62xxxxxxxxxxxxxxxxxxxxxxxxx
coiled notebook start --region us-west-2 --vm-type m5.xlarge --software pangeo-notebook --workspace esip-lab
then in the Coiled-launched jupyterlab, she opened a terminal and cloned the repo:
https://github.com/fs-jbzambon/opendata-coawst.git
then she successfully ran the COAWST explore notebook (which launched a dask cluster to speed up data access)
Sounds fun, Rich! I'd be excited to hear how it goes.
If I create a new workspace for the workshop, do I need to recreate my software environments in that workspace?
yes
Workshop went well! We had 13 folks and everything worked perfectly. We were a bit confused at one point because we were getting pretty different timings until we realized that we were all using the same cluster because we were running a notebook that named the cluster.
Did people run from their computers? Or from something else?
On Thu, Jul 25, 2024, 17:44 rsignell @.***> wrote:
Workshop went well! We had 13 folks and everything worked perfectly. We were a bit confused at one point because we were getting pretty different timings u til we realized that we were all using the same cluster because we were running a cluster that was named in the notebook!
— Reply to this email directly, view it on GitHub https://github.com/coiled/feedback/issues/291#issuecomment-2251447816, or unsubscribe https://github.com/notifications/unsubscribe-auth/AATNSORQHLB3WZQRIUWK75TZOFWTRAVCNFSM6AAAAABLOLPO26VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJRGQ2DOOBRGY . You are receiving this because you were mentioned.Message ID: @.***>
11 people ran directly from their computers, and 2 people used a Github codespace, which worked perfectly. And one of the codespace users was on an Ipad!
Without you pointing me toward codespaces, @eeholmes , they wouldn't have been able to participate. Thank you!
Thanks for the evangelism @rsignell . I appreciate it.
You're welcome, but I didn't do it for you Matt 😄
I did it for the community! 🚀
I think it's the best way (fast, easy, cheap, supported!) for our community to use the cloud the way it should be used to enable working with large earth science data!
I'm here at the ESIP Summer Meeting, and have decided to announce that during the Unconference session, I will be leading a workshop to show people how to run Jupyter Notebooks and fire up clusters using Coiled on ESIP's AWS account.
I have no idea how many people might show up. Could be 5 or 50. (there are 400 people here)
In the Coiled esip-lab org, I have created a new workspace called "unconf".
What's the best way to onboard a large group of people?