Skip to content

Deployment versions

Each UbiOps deployment has at least 1 or more versions. It is possible to create multiple versions of a deployment.

All versions in a deployment share the same in- and output fields, but the deployed code package, base environment, memory allocation and other settings can be different.

You can make requests to any version of a deployment at any point in time. Each deployment version will have a unique API endpoint which you can use.

Default versions

The more versions a deployment has, the harder it is to track which version is the 'latest' or 'correct' version to make a request to or to be used in a pipeline. It is possible to mark a version of a deployment as the default version of that deployment, which allows for the following:

  • Specifying a version when making a request to a deployment is not necessary. If not specified, the request will always go to the default version that is currently set.
  • If an object in a pipeline refers to the default version of a deployment, the request will go to the default version that is currently set. This also means that when you update the default version of a deployment, the pipeline will execute the code from the Default version.

There can only be one default version per deployment. If the default version is changed, it is effective immediately, meaning that any request after this moment will be directed to the new version. Note that already created but unprocessed batch requests will still be processed by the version that was the default when creating the batch request. Click on Edit in the deployment details page in the WebApp to change the default version of that deployment.

Only versions that have passed the building stage and are available can be marked default. The first version of a deployment is always marked default.

To make a request to the default version, navigate to the deployment details page in the WebApp and click on Create Request.

See Monitoring for information on how to monitor your deployment.

Referencing a default deployment version

The default version of a deployment can be used in a direct and batch request and when creating a request schedule.

Creating a new version of an existing deployment

When using the WebApp, a first version is automatically created while creating the deployment. You are able to add more deployment versions at a later time.

Create new deployment version

In the left navigation bar, click on Deployments. Select the deployment to which you want to add a new version.

Then, click on the Create version button in the versions pane at the top left. The version creation form will appear.

Give your deployment version a name and description and click on the Upload code button to upload the zipped deployment package for this version. The required structure of the ZIP file can be found under Deployment package structure.

After uploading your deployment package, you'll need to specify the Environment settings of your deployment. These settings specify the runtime environment (Python version and dependencies) as well as the hardware this deployment version needs. For the latter you will need to assign the deployment version to an instance type group. This instance type group specifies one or more instance types that the deployment version can run on.

Other configuration parameters are optional, such as for example the scaling settings. These can be set in the Advanced parameters section. As with deployments, you can assign labels to easily categorise your versions.

Finally, click on the Create button to create the new version.

You can also create and interact with your deployment versions via the
Python Client Library and Command Line Interface (CLI)

Opening up a port from your deployment (Beta)

If you want to run processes in a deployment that open up a port, you need to use the port forwarding functionality to be able to access this port. In the advanced settings of a deployment version there is a section called "Port forwarding" where you can specify which deployment port should be opened up to which public port. You can also select which internet protocol to use, which can be either TCP (default) or UDP.

Port forwarding can be used to run processes like Jupyter Notebook and Streamlit directly on a UbiOps instance, or to establish an ssh connection to a running deployment for extra debugging options. Have a look at these how-to's for examples:

Please note that port forwarding only works with dedicated instance types. In the WebApp you can check which instance types in your project are compatible with portforwarding by checking Project Admin > Project Settings > Instance types.