Adding Instructors and Students¶
Once your ACCESS allocation has been approved, it is time to add users to your allocation.
This section is broken up into two parts. The first part, Adding Instructors, is fairly straightforward, but the second part, Adding Students, is much more in depth as their are two vastly different approaches to providing students access to Jetstream2 resources. We will describe the pros, cons, and use cases of these two approaches to help you decide which is best for you.
Adding Instructors¶
We highly recommend adding additional instructors as Allocation Managers to your ACCESS allocation. Allocation Managers can exchange ACCESS credits for SUs on Jetstream2 and add/remove users from your allocation. This is done from the ACCESS Allocations Portal and instructions can be found on the ACCESS Allocations How-To Page.
Adding Students¶
There are two approaches for providing students access to Jetstream2 resources. We will go through the pros and cons, use cases, and instructions for both.
Method #1: Add Students to your ACCESS Allocation¶
What does this mean?¶
By adding students as Users to your ACCESS allocation, they will have full access to provision and manage Jetstream2 resources through your allocation. This will give your students the most control over their resources.
Pros¶
- Easy and free to add students - Just need to create an ACCESS account
- More freedom for students - Students added to your allocation will be able to launch and manage their own instances.
- Reduce instructor workload - By passing ownership of resources to your students, they will learn how to interact with a cloud computing environment and can be responsible for fixing common mistakes. This typically comes with non-negligible up-front time investment to train students, but can drastically reduce instructor workload long-term.
- User-friendly - Students get access to the user-friendly Exosphere interface, which makes it easy to provision resources and access their instance’s Web Desktop with a click of a button.
- Potential to save credits - We encourage instructors to train students to shelve their own instances when they are not working, thus reducing overall credit usage, allowing for long duration courses requiring large amounts of compute resources.
Cons¶
- Adding users is a manual process - Students will need to create ACCESS IDs and provide them to you. If you are teaching a multi-week course, gathering this info from your students is usually no problem. Many instructors will make this one of the first assignments of the course. However, if you are teaching a workshop or short duration course, you may not have time to go through this process. You can request students do this before the start of the course, but communication with students ahead of time can be difficult and sometimes impossible.
- No isolation between students - On Jetstream2, there is presently no way to restrict what users on your allocation can do. Every user has equivalent privileges to launch, manage, and delete resources on your allocation. This means students will be able to access other students’ resources at will. Exosphere, the primary user interface, provides some obfuscation to prevent accidental interference, but we still recommend instructors implement policies in their course to discourage this behavior. It would also be good to remind students that Jetstream2 staff has extensive logs of events across the system, including logs of all resource management actions performed by users.
- Potential to spend more credits - Since students have full control to provision and manage resources, there is potential for students to be irresponsible and burn through your credits faster than you expect. The astute reader will notice this point seems to contradict the last bullet point in the Pros list above. This is intentional and is intended to highlight the fact that credit usage when using this method is volatile and will depend greatly on how much you encourage or discourage this behavior. Either way, we strongly encourage instructors using this method to factor in some wiggle room when it comes to their ACCESS credits.
Use Cases¶
- Long duration courses (multi-week)
- Worshops with a known attendee list and ability to request ACCESS IDs ahead of time
- Courses requires one or more instances per student
- Courses with technically inclined students
- Courses with a focus on orchestration or interaction with cloud computing ecosystems
Instructions¶
Follow the steps above on Adding Instructors, except add students as Users rather than Allocation Managers.
Method #2: Instructor Created Resources¶
What does this mean?¶
Instead of adding students as users on your ACCESS allocation, instructors can provision resources themselves, then hand out login information to students as needed. This will limit what your students can do, but gives instructors full control of student environments. While requiring more upfront work from instructors, this method can drastically save time for students.
Pros¶
- Quick access to computing resources for students
- No need for students to create ACCESS accounts
- Instructor has full control over resources and student environments - Students don’t have the ability to create their own resources, so the instructor can provision and enforce a standard environment for all students, which can save time with troubleshooting students’ issues.
- Ability to isolate student environments - With proper security precautions, environments can be set up so students cannot access other students’ instances or home directories
- Shared resource environments - We provide tools to easily provision instances with multiple users sharing resources but with separate desktop and home directories
- Consistent credit use - Since instructors are the only ones with the ability to provision and manage Jetstream2 resources, you will have a more exact estimate of credit usage.
Cons¶
- Resources need to be provisioned for students - Since students won’t have access to the allocation, they won’t be able to provision resources themselves. This means the instructors will need to spend time provisioning and handing out resources for students.
- Students will lean on instructors for technical support - There are many ways to “break” an instance, such as modifying ssh, firewalls, drivers, or system packages. By not being able to destroy or recreate instances at will, students will instead lean on the instructor to provide assistance. No matter how you decide to approach this situation, it will cost you significant effort and time.
- Higher technical expertise needed by instructors - While the allure of a more controlled environment can be tempting, we cannot reiterate enough that this method will require both technical knowledge and a significant time investment from instructors. We will detail some workflows that can help save you time in the next section, but the gist of this method is that you are moving workload away from students and onto instructors. This has its place for many practical use cases but should be considered carefully before proceeding. At the very least, we would strongly recommend familiarizing yourself with the provisioning process before committing to it.
Use Cases¶
- Workshops with an unknown attendee list
- Short duration courses or workshops where student time is limited
- Shared resource environments - multiple students per instance
- Competitive environments - If you are concerned about students interfering with each other’s work, whether intentionally or accidentally, this method is a must
- JupyterHub - Create a single instance or multi-instance JupyterHub for students or workshop attendees to log in and utilize
Instructions¶
This is where things get complicated. There are many different approaches towards provisioning Jetstream2 resources depending on your needs. In the next topic of this tutorial, Example Use Cases and Workflows, we will describe some of the most common use cases.