Workspace

You can view details of a solution and the related dashboards, modify a solution, manage solution pipelines, and clone a solution.

For more information on these topics, see the following:

Viewing details of a solution

To view the details of a solution, click the name of the solution on the “My Solutions” page.

The “Workspace” page is displayed, which shows all the details of the solution.

image2

This page has two sections, as described below:

Basic Information Section

This section displays basic information about the solution.

Solution Builder

The Solution Builder enables modification of the components and pipelines in the solution. In this section, you can find the solution toolbar displayed on the top right of the solution panel.

image3

The toolbar displays the following icons:

  • Modify - click this to modify the solution.

  • Clone - click this to make a copy of the solution.

  • View - click these icons to toggle between the solution details and dashboard.

Tip

You can switch to a different solution by selecting it from the list on the top-left corner.

image4

Working with Jupyter Hub

To access JupyterHub, on the toolbar of the “Workspace” page, click the Jupyter Hub icon image5.

This starts a Jupyter notebook server and opens the “Home” page.

image6

On this page, the following directories are available for use:

  1. One personal directory for your private notebooks

  2. One shared directory for each xpresso.ai solution that you are working on.

Tip

The shared directory is shared with other members working on this solution.

Working with Gitlab

After you create a new xpresso.ai solution, a new Git repository is also created. This contains folders for each component in the solution containing build scripts and the stub source code. The exact folder structure depends on the component type (Job/Service/database/Inference Service) and component “flavor” (Java/Python/SQL/pyspark)

For more information, see here.

Connecting to Gitlab

  1. To access Gitlab, on the toolbar of the “Workspace” page, click the Gitlab icon image7.

This opens the project repository on Gitlab.

image8

Working with Kibana

You can connect to Kibana and access your logs. For more information on logging library required for this, see here.

Connecting to Kibana

  1. To access Kibana, on the toolbar of the “Workspace” page, click the Kibana icon image9.

This opens the “Home” page on the Kibana server.

image10

Viewing Dashboard Details

Through the dashboard, you can view the details of your experiments, and various graphical representations.

After “Workspace” page is displayed, from the solution toolbar displayed on the top right of the solution panel, click the Dashboard icon.

image11

The Dashboard is displayed.

image12

This page has two sections, as described below:

Running Tasks

  • In this section, you can view a list of tasks that are completed, in progress and yet to be approved. The following details for each task are also shown:

    1. Request type

    2. Date of task submission

    3. Status

    4. Task details

image13

  • On this page, you can sort each of the columns by clicking on the arrow next to each column name.

  • You can also search for a specific task by entering its name in the search bar on the top right corner.

image14

  • You can choose the number of tasks that you can view on a single page. To specify the number, click the arrow next to Show and choose from 10, 25, 50 or 100 entries.

image15

  • You can skip to a specific page or move to the first or last page of entries by clicking the page number or the arrows, respectively.

image16

Graphs

  • In this section, you can view different graphical representations that provide better insights of your activity and experiments.

image17

image18

image19

image20

image21

Modifying a solution

  • You can change the details of a solution such as the basic information and the components/pipelines.

Modifying Basic Information

  • To modify the basic information in the solution, click the “Modify” icon on the solution toolbar.

image22

This enables modification of the basic solution information.

image23

  • On the page that appears, you can change the following:

    1. Solution Description

    2. Team Members – add one or more team members

    3. Environments - add and remove environments

    4. Big Data Environments - add and remove Big Data environments

Tip

This is possible if the solution has at least one pyspark component.

Modifying Components and Pipelines

  • You can use the Solution Builder to manage components and pipelines in the solution. The Solution Builder has two tabs:

image24

  • The “Components” tab enables you to manage solution components.

  • The “Pipelines” tab enables you to manage solution pipelines.

Managing solution components

  • To manage the solution components, click the “Components” tab of the Solution Builder.

image25

  • Any existing components at the top of the Solution Builder workspace appears.

Adding components

  • To add a component, click on one of the available component types on the right-hand panel and drag it into the Solution Builder workspace (see below for an example of adding a job to the solution)

image26

  • After you add a component, a dialog box opens.

  • In this dialog box, you can specify the properties of the new component.

image27

  • You can specify the following component properties:

    1. Name

    2. Description - provide a brief description of the component.

    3. SubType - select “Custom” if you want to create the component from scratch. Else, select on the of the library components listed.

    4. Flavor - select the programming language you want to use to create the component.

Tip

The component name must satisfy the following constraints:

  • Must be unique within the solution

  • Must comprise only:

    • lowercase alphanumeric([a-z], [0-9]) characters and

    • underscore (_)

  • Must start with a letter

  • Click Save to submit the changes to the solution. The new components are added to the Solution Builder workspace.

image28

  • Repeat this process to add more components to the solution.

  • Click Submit to save the changes to the solution.

Modifying and deleting components

  • To modify a component, click the component in the Solution Builder workspace. A dialog displaying the component details appears.

image29

  • Click Edit to change the component description.

Tip

The component name cannot be modified.

  • Click Delete to delete the component.

  • Click Submit to save the changes to the solution.

Managing solution pipelines

  • To add a pipeline to a solution, click the “Pipelines” tab of the Solution Builder.

image30

  • Any existing pipelines at the top of the Solution Builder workspace appears.

Adding pipelines

  • To add a pipeline, click the “Create New Pipeline” link.

  • Click on one of the available pipeline types on the top panel and drag it into the Solution Builder workspace (see below for an example of adding a Kubeflow pipeline to the solution).

image31

  • When you add a pipeline, a dialog box opens.

image32

  • In this dialog box, specify the properties of the new pipeline.

Tip

The pipeline name must satisfy the following constraints:

  • Must be unique within the solution

  • Must comprise only:

    • lowercase alphanumeric([a-z], [0-9]) characters and

    • underscore (_)

  • Must start with a letter

  • Must contain at most 25 characters

  • Click Save to submit the changes to the solution. A new component is added to the Solution Builder workspace.

Adding components to a pipeline

  • To add components to a pipeline, first, select the pipeline by clicking the “Select New Pipeline” link. The appropriate components are displayed on the right-hand panel.

Tip

Python and Java components will be available for Kubeflow pipelines, and pyspark components for Spark pipelines.

  • To add a component to a pipeline, drag the component from the panel, and drop it into the Solution Builder workspace (see below for an example).

image33

  • You can add multiple pipelines in this manner.

Establishing the dependencies between components

  • Click on a node port (one of the four ‘+’ signs that appear when you hover your mouse over the component icon) on the first component.

  • Click on a node port from the second component. This will draw an arrow in the direction of the flow (i.e., from the first component selected to the second - see below).

image34

This indicates that when the pipeline is run, the second component will be executed after the first.

  • Click Save button to create the pipeline.

Modifying a pipeline

  • To modify a pipeline, click the pipeline icon. A set of buttons are displayed.

image35

  • To make changes to a pipeline name or description, click Edit. A dialog box is displayed.

image36

  • You can change the name of a pipeline only if it has not been saved to the solution already.

  • To make changes to the pipeline flow, click the flow button. You will be able to edit the control flow between the components in the same way that you created the pipeline.

  • To delete the pipeline, click the Delete icon.

  • Click Submit to submit the changes .

Tip

When a pipeline is created, xpresso.ai does not make any code changes for non-distributed (Kubeflow) pipelines, since these are just containers of components. However, for distributed (Spark) pipelines, xpresso.ai adds boilerplate code to the solution code repository, as well as a build pipeline in the build system.

Cloning a solution

Cloning a solution helps if you want to create a new solution very similar to an existing one.

  • To create a copy of a solution, go to the solution “Workspace” page, and then click the “Clone” icon. The Clone Project page appears.

image37

  • Specify the name of the new solution.

  • Click Save to save the new solution. The solution details page appears with details of the new solution.

Tip

When a solution is cloned, its architecture is copied over to the new solution, but no code is copied. You must provide the code for the new solution from scratch (or you can copy the code for the old solution manually, if you have access to it).

Creating Components and Pipelines using Jupyter

Through the Jupyter Hub integration, you can create custom Jupyter notebooks, add a component with the flavor Jupyter, write your code in Jupyter, and add/modify comments to the code. This enables you to have a dedicated Jupyter Notebook for each component. On opening Jupyter Notebook, you can view the pre-code in a structured format in Jupyter that allows you to try out your code and push the code directly into Gitlab from a Jupyter Notebook.

Creating a Component with type Jupyter

  • To create a component with type Jupyter, click the name of the solution on the “My Solutions” page. The “Workspace” page is displayed, which shows all the details of the solution.

image24

  • From the top-left, click Modify Solution.

image22

  • To add a component, on the right-hand panel, click “Pipeline Job” and drag it into the Solution Builder workspace (see below for an example of adding a pipeline job to the solution)

image26

After you add the “Pipeline Job” component, a dialog box opens.

  • In this dialog box, you can specify the properties of the new component.

image38

  • You can specify the following properties:

    1. Name

    2. Description - provide a brief description of the component.

    3. Subtype - select “Custom”

    4. Flavor - select “jupyter”

Tip

The component name must satisfy the following constraints:

  • Must be unique within the solution

  • Must comprise only:

    • lowercase alphanumeric([a-z], [0-9]) characters and

    • underscore (_)

  • Must start with a letter

  • Click Save to submit the changes to the solution. The new components are added to the Solution Builder workspace.

image28

  • This adds a different type of skeleton code to Gitlab. (see below for an example)

image39

Tip

A skeleton Jupyter notebook is available inside the component you’ve added.

Editing Code in Jupyter Hub

You can edit the Jupyter Notebook that you’ve created in Jupyter Hub.

  • To edit the Jupyter Notebook, click the name of the solution on the “My Solutions” page. The “Workspace” page is displayed, which shows all the details of the solution.

image24

  • From the top-left, click Modify Solution.

image22

  • On the Solution Builder workspace that appears, click the component name. A dialog displaying the component details appears.

image29

  • Click Edit Code to open the Jupyter Notebook with pre-written code present in the code repository. (see below for an example)

image40

Tip

  • This is like the skeleton code provided in Gitlab.

  • The component name cannot be modified.

  • On this page, you can do the following:

    • Edit the code like editing code in Jupyter Notebook.

    • Push the code to Gitlab by using the xpresso.ai toolbar.

image41

  • Update the code from the Gitlab code repository by pulling it.

image42

  • Update the Jupyter Notebook with the latest code repository branch from Gitlab

image43

Tip

You can only change a branch here and cannot create a new one. To create a new branch, you can use Gitlab.

  • Log on to xpresso.ai environment using your xpresso.ai credentials.

image44

  • Log out of the xpresso.ai environment.

image45

Testing a Pipeline using Jupyter Notebook

You can run each of your components in sequence. This calls each individual component and runs it on your own system through Jupyter Notebook, which ensures that your code works as expected when built and deployed to production.

  • To test a pipeline, click the name of the solution on the “My Solutions” page. The “Workspace” page is displayed, which shows all the details of the solution.

image24

  • Click the “Pipelines” tab and select the required pipeline.

image46

  • Next to the pipeline you’ve selected, click the image47 icon.

Note

A pipeline of this kind can be tested only if all the components are of type ‘Jupyter’.

Another Jupyter Notebook with all components in sequence opens.

image48

  • To test your pipeline, run each of the components individually.