[DEV] VESSL Docs
  • Welcome to VESSL Docs!
  • GETTING STARTED
    • Overview
    • Quickstart
    • End-to-end Guides
      • CLI-driven Workflow
      • SDK-driven Workflow
  • USER GUIDE
    • Organization
      • Creating an Organization
      • Organization Settings
        • Add Members
        • Set Notifications
        • Configure Clusters
        • Add Integrations
        • Billing Information
    • Project
      • Creating a Project
      • Project Overview
      • Project Repository & Project Dataset
    • Clusters
      • Cluster Integrations
        • Fully Managed Cloud
        • Personal Laptops
        • On-premise Clusters
        • Private Cloud (AWS)
      • Cluster Monitoring
      • Cluster Administration
        • Resource Specs
        • Access Control
        • Quotas and Limits
        • Remove Cluster
    • Dataset
      • Adding New Datasets
      • Managing Datasets
      • Tips & Limitations
    • Experiment
      • Creating an Experiment
      • Managing Experiments
      • Experiment Results
      • Distributed Experiments
      • Local Experiments
    • Model Registry
      • Creating a Model
      • Managing Models
    • Sweep
      • Creating a Sweep
      • Sweep Results
    • Workspace
      • Creating a Workspace
      • Exploring Workspaces
      • SSH Connection
      • Downloading / Attaching Datasets
      • Running a Server Application
      • Tips & Limitations
      • Building Custom Images
    • Serve
      • Quickstart
      • Serve Web Workflow
        • Monitoring Dashboard
        • Service Logs
        • Service Revisions
        • Service Rollouts
      • Serve YAML Workflow
        • YAML Schema Reference
    • Commons
      • Running Spot Instances
      • Volume Mount
  • API REFERENCE
    • What is the VESSL CLI/SDK?
    • CLI
      • Getting Started
      • vessl run
      • vessl cluster
      • vessl dataset
      • vessl experiment
      • vessl image
      • vessl model
      • vessl organization
      • vessl project
      • vessl serve
      • vessl ssh-key
      • vessl sweep
      • vessl volume
      • vessl workspace
    • Python SDK
      • Integrations
        • Keras
        • TensorBoard
      • Utilities API
        • configure
        • vessl.init
        • vessl.log
          • vessl.Image
          • vessl.Audio
        • vessl.hp.update
        • vessl.progress
        • vessl.upload
        • vessl.finish
      • Dataset API
      • Experiment API
      • Cluster API
      • Image API
      • Model API
        • Model Serving API
      • Organization API
      • Project API
      • Serving API
      • SSH Key API
      • Sweep API
      • Volume API
      • Workspace API
    • Rate Limits
  • TROUBLESHOOTING
    • GitHub Issues
    • VESSL Flare
Powered by GitBook
On this page
  • Rollout lists
  • Create a Rollout
  • Reproduce Rollouts
  1. USER GUIDE
  2. Serve
  3. Serve Web Workflow

Service Rollouts

PreviousService RevisionsNextServe YAML Workflow

Last updated 1 year ago

In VESSL, you can seamlessly orchestrate the entire deployment process, from performing inference tasks on servers to directing traffic on the actual servers, all in one place. The Endpoint section in the Monitor tab allows you to specify how traffic should be sent to the servers. This eliminates the need for manual intervention in every deployment, reducing the risk of errors and the hassle of repetitive tasks.

VESSL introduces a powerful Rollout feature, enabling you to define the deployment process step by step in advance and execute it automatically when needed. Additionally, it offers user-friendly features like email notifications and deployment monitoring, ensuring that you can implement uninterrupted deployments with ease.

Let's explore how VESSL's Rollout can be used to implement various deployment patterns:

  • Rolling Update: With VESSL's Rollout, you can smoothly transition to a new revision by sequentially directing traffic to it. This ensures a gradual and uninterrupted rollout of the new revision.

  • Blue-Green Deployment: In situations where two revisions of an inference server should never run simultaneously, VESSL simplifies the process. It allows you to deploy the new revision with the same workload as the existing one and then seamlessly switch endpoints, ensuring a continuous rollout of the next version.

  • Canary / A-B Testing: By directing a portion of the traffic to the new revision, you can gather metrics and make informed decisions for the next deployment steps.

Rollout lists

You can view and modify ongoing rollouts in the List page.

  • Pause: Temporarily halt an ongoing rollout. The current step continues before pausing until manually resumed.

  • Resume: Restart a paused rollout.

  • Terminate: Completely stop an ongoing rollout, marking it as a failure.

  • Reproduce: Create a new rollout identical to an existing one.

Create a Rollout

To create a new rollout, click the "New rollout" button on the Rollout tab.

On the rollout creation page, you can combine messages and "Steps" to define the order of deployment. Here's what each step entails:

    • Revision Number: Select the target revision.

    • Min/Max Replica: Set the minimum and maximum auto-scaling range.

    • Running: Decide whether to deploy or halt the selected revision, useful for scenarios involving the deployment of a new revision alongside the shutdown of an existing one.

    • Time: Automatically resume after a set time.

    • Manual: Wait until a user manually resumes the rollout from the dashboard.

    • Metric (planned feature): Automatically resume when specific metrics criteria are met.

    • Channel:

      • Slack: Send notifications to a Slack endpoint configured in the organization settings.

      • Email: Dispatch notifications to a designated email address.

    • Fail Action: Determine the action when a notification fails.

      • Skip: Continue with remaining steps.

      • Abort: Treat the rollout as a failure.

  • Drag the leftmost handle to change the step order.

  • Use the Edit option in the Action column to review and modify step definitions.

  • Unwanted steps can be deleted using the Delete icon in the Action column.

Reproduce Rollouts

You can clone existing rollouts by clicking the "Reproduce" button associated with a specific rollout. Typically, once a deployment pattern is defined, it remains largely unchanged, with only revision information varying. Leveraging the "Reproduce" feature allows for the straightforward repetition of previously defined rollout steps. This offers an efficient way to maintain consistency in your deployment processes.

CreateNewRevision: Generate a new revision, using the same UI as

UpdateRevisions: Modify the deployment status and auto-scaling settings of existing or newly created revisions.

ChangeEndpointConfig: Adjust traffic routing settings for the endpoint, following the UI described in

Wait: Temporarily pause the rollout based on predefined settings. Three options are available:

SendNotification: Dispatch notifications based on predefined settings, typically right before deployment completion or when user confirmation is required.

Once steps are defined, you can review, modify, reorder, or delete them in the Step detail list.

Service Revision
Change Endpoint Configuration
Rollout Lists
New Rollout
Rollout Step Create
Rollout Reproduce
Update Revisions
Wait
Send Notification
Revision Step detailed list