Service Profile
Service Profiles are a way for administrators to manage "app configurations" as code, make them available to end users of GPU PaaS for consumption. The software defined components that are part of the service profile are then deployed by the end user onto a compute instance that they would have already launched.
The lifecycle of Service Profiles and their configuration is managed by administrative users in the Rafay GPU PaaS Studio. The PaaS studio is an administrative portal purpose built for management of reusable profiles.
Service profiles are "project scoped" by default i.e. they are locked to the Rafay Project they are created in. As with all resources in a project, they can be optionally shared with selected/all projects.
Info
In addition to the web console, administrators can also perform all the tasks described below programmatically using the platform's REST APIs.
Create Service Profile¶
To create a service profile, admins should access the PaaS Studio, select the Service Profiles menu on the left and click on "Add Service Profile. They will be prompted to specify the following in a wizard type experience. Details captured in the service profile are also presented to the end user when they wish to provision service.
General Section¶
Unique Name¶
Provide a unique name for the service profile (e.g. jupyter-notebook). Note that you cannot change the unique name once the profile has been created.
Display Name¶
This is typically a user friendly name such as "Jupyter Notebook" that will make sense to the end users. This name is what the end users will see an experience.
Description¶
Provide a multiple sentence description that will help the end users understand more details about the service profile.
Environment Template¶
Select the name of the environment template from the drop down. When an instance of a service is launched using the profile, the "code" encapsulated in the associated environment template is used to drive the deployment of the necessary software components.
Environment Template Version¶
Select the version of the environment template from the drop down.
Service Type¶
Select a service type from the dropdown list. Note that Service Profiles tagged with a specific service type are made available to end users in the right category to make it easy to find by presenting it in the right context for the end user.
- Notebook
- Inference
- Jobs
- Custom Service
A good example of a custom service is admins at a biotech company packaging "Nvidia's BioNemo" software and make it available for their data scientists as a "1-click" experience.
Important
Rafay provides a number of default service profiles) that are available out of box in the platform.
Labels¶
Labels are optional metadata (key/value pairs) that will be automatically attached to resulting service when they are launched.
Annotations¶
Labels are optional metadata (key/value pairs) that will be automatically attached to resulting service when they are launched.
End User Configuration¶
These are details that are used to help enhance the end user experience.
Icon URL¶
Provide a URL for the Icon that will be displayed to the end user in the catalog of SKUs.
Readme¶
Provide a detailed readme in plain text or markdown. Administrators can use the readme as a means to educate the end user about the compute profile and optionally even capture instructions.
Input Settings¶
Environment templates backing a service profile can require/expect inputs from the user. The inputs can either be mandatory/required or optional. This section allows the PaaS admin to make decisions on whether they would like provide "defaults" and allow end users to "override" it.
For example, for a Jupyter notebook service profile, the user can be shown a list of notebook profiles requiring the end user to select one from this list. This will ensure that required libraries and frameworks from the selected profile will be automatically installed in the notebook for the user.
Output Settings¶
This section allows the PaaS admin to determine what information they would like to show the end user after the compute instance has been created. These are typically key/value pairs that are dynamically generated by the environment template.
For example, for a Jupyter notebook service profile, once the notebook has been launched, some details (URL and credentials) may need to be presented to the user so that they can access it.
View Service Profile¶
When PaaS Admins click on the service profiles menu on the left, the entire list of service profiles available are listed. They can search for the service profile by providing input into the search box. Some basic information about the service profile is shown to the admin in the main listing.
- Unique Name
- Service Type
- Creation Date
- Sharing
- Actions Menu (ellipses)
To view additional details about a service profile, simply click on it. This will display all the details the administrator would have configured during initial creation.
Update Service Profile¶
Follow the steps above for "View" compute profile to view details about a service profile. Alternatively, click on the actions (ellipses) on the far right of a compute profile and select "edit". PaaS Admins can now make necessary changes to the service profile and save it.
Info
Any changes will go into effect only for "new" services that are launched based on the profile. Already running instances of the service profile will not be impacted.
Delete Service Profile¶
To delete a service profile, click on the actions (ellipses) on the far right of a service profile and select delete.
Info
This is a destruction action and cannot be reversed. Once a service profile is deleted, it is no longer available to end users for use.
Share Service Profile¶
To share a service profile with selected or all projects, click on the actions (ellipses) on the far right of a service profile and select "manage sharing". Now, select how you wish to share the project. The options are:
- None (This is the default)
- All Projects
- Selected Projects
The ability to share service profiles with other projects allows platform teams to centralize the mgmt of service profiles and share them hierarchically with downstream projects where they can be used by end users in multiple teams/departments.