Users
Typical end users of GPU PaaS are "data scientists" or "developers". Once the administrator adds these users to the appropriate "group" with the required role, they will have the ability to login into the self service portal and use their GPU workspaces to request available compute, deploy applications/notebooks etc.
Overview¶
The typical end user of GPU PaaS is a "data scientist" or "researcher" or a "developer". One of the goals of the GPU PaaS service is to enable IT/Operations or Platform teams to empower these users with a self-service experience to get access to a fully operational and ready to use environment where they can perform their tasks efficiently.
In the example below, the "data scientist" and the "developer are different users that have used the same "Self Service Portal" to launch their private workspaces. The data scientist has
- Launched two GPU powered "compute instances" in his workspace.
- Inside the running instances, the data scientist has also launched a service from the provided catalog
In the sections below, you can learn more about the various resources available to end users.
Workspace¶
By default, every user is assigned a private workspace. The user can launch multiple compute instances in their workspace. The maximum number of resources they can launch in a workspace is determined by resource quotas set by the administrator. For example, an administrator may limit the user's workspace to a maximum of "8 GPUs" at a given time.
Authentication¶
All end users have to authenticate before they can access their workspace. If the administrator has configured an Identity Provider (IdP), the user will be be redirected to authenticate to the workspace via Single Sign On (SSO).
Landing Page¶
Every time the user logs into their workspace, they are presented with a landing page that provides them with a quick summary of all the resources that are active and in use. In the example shown below, the user has eight (8) active compute instances in their workspace.
Compute Instance¶
A newly created workspace has no active compute instances. The end user can select and launch compute instances from the list of options available to them. The end user is provided with a vending machine type experience and presented with a list of available options that map 1x1 to the list of compute profiles that are curated and managed by the administrator.
Create New Instance¶
Users are provided with a simple, wizard type experience to select and launch compute instances. In the example below, the user is provided with a simple 3-step workflow
- Provide a name for their instance and provide an optional description
- Select size (from the list of available compute profiles)
- Click on Launch
In the example above, the administrator has configured and published five(5) compute profiles and these are now available for the end user.
Important
The list of compute profiles presented to the end user is completely dynamic. If the administrator publishes a new profile, it will be immediately available to the end user as an option.
View List of Instances¶
When the user clicks on Instances, they are presented with the list of "active" compute instances in their workspace. In the example below, the user has launched eight (8) compute instances in their workspace.
- Name
- Size
- Operational Status
- Launch date
View Specific Instance Details¶
Users can view details about a specific instance by clicking on the "view" icon on the actions menu for the instance. In the example below, the user is provided with a combination of details about the instance and the option to perform actions
The user is provided with metadata about the instance. For example, when was it launched, what size is it, how long has it been running?
Actions¶
Once an instance has been launched and is operational, users can perform a number of actions on it. This section describes the list of actions that can be performed.
Remote Access¶
The end user will need access to the remote instance that is operating behind a firewall in a private data center or public cloud. These instances can be either a Kubernetes namespace or a Virtual Cluster or a Dedicated Kubernetes cluster. The secure remote access capability is powered by Rafay's Zero Trust Kubectl (ZTKA) feature.
The user can download the ZTKA "kubeconfig" file, configure their KubeCTL CLI utility to use it and access the instance remotely. The user can also click on the "kubectl" button which will open a web shell that will allow them to securely interact with the instance.
Collaborators¶
It is common for end users to work with both internal (i.e. employees) and external (i.e. outside the company) collaborators. Users can easily add/remove other users to a specific instance. Once the user enters the collaborator's "email address", an email invitation is sent to the user with details on how they can access this instance. Once they login, they will have the same level (i.e. role/privilege) of access to the instance.
Notebooks¶
It is extremely common for data scientists and researchers to use Jupyter notebooks for exploratory data analysis. Using Rafay, administrators can provide their users with a "Notebook as a Service" experience.
New Notebook
The user can either deploy a new notebook as an action associated with an instance. Alternatively, they can do the following:
- Navigate to My Deployments -> Notebooks
- Click on "New Notebook"
- Provide a name and optional description
- Select a profile for the notebook from the provided list of profiles
- Select the instance on which the notebook needs to be deployed
Selecting a specific profile creates the notebook pre-installed and pre-configured with all the required frameworks, libraries and software add-ons. This allows the data scientist to start using the notebook right away instead of wasting time trying to install and configure all the software on top.
Note
Users can deploy multiple notebooks on an instance. They are only constrained by the resources available on the instance.
In the example below, the user is presented with the following profiles for their notebook
- Minimal
- Data Science
- Spark
- Tensorflow
Once the user provides the required input and clicks on "launch", it can take a few minutes for the notebook and associated software components to be ready for use.
Use Notebook
Once a notebook has been successfully deployed onto a compute instance, the user can access it remotely using a web browser. The user is presented with the remote web URL and the credentials to access the notebook.
In this particular example, the notebook is exposed to the user via Kubernetes Ingress that is dynamically created during notebook deployment. The user can either click on the URL or copy/paste it into a web browser to access the notebook.
View Notebooks
Users can deploy multiple notebooks into their instances. They can view the list of all their notebooks as well. In the example below,
- The user has two notebooks in their workspace
- Both notebooks are pointed at the same compute instance
- One notebooks is operational and the other is in the process of being deployed
- One notebook is based on the "minimal" profile and the other is based on the "tensorflow" profile
Delete Instance¶
If the user no longer needs a compute instance, they can delete it by clicking on the delete icon. This action is irreversible and will release the underlying resources.
Note
Deletion can take a few minutes to compete.