Shadow Deployment

What is Shadow Deployment?

Shadow deployment is a special kind of deployment. The traffic is not divided between the deployments but instead multiplied. The shadow deployment itself does not respond to the request but processes it and logs the output.

This kind of deployment is best for cases where you want to check how a model behaves without affecting the actual production traffic.

Technical Considerations

Like a regular variation, you can configure the percentage of traffic that the deployment handles. For example, entering 20 in the percentage of the variation copies and routes every 5th request to the shadow deployment.

πŸ“˜

Note: Traffic for shadow deployments is routed from the general traffic and not from a specific variation

Shadow Deployment in the UI

Every audience can have at most one shadow variation!

To add a shadow deployment:

  1. Select Traffic Control button and check the ghost icon next to the wanted variation in the tab.
  2. Specify the percentage of traffic handled by the shadow deployment model.

Shadow Variation using the CLI

Making the variation a shadow variation is simple. In the deployment config just add the shadow flag:

realtime:
  variation_name: <shadow variation name>
  audiences:
    - id: <audience_id>
      routes:
        - variation_name: <variation>
          weight: 100
          shadow: false
        - variation_name: <shadow variation name>
          weight: 20
          shadow: true
  fallback_variation: <variation>

   
qwak models deploy realtime --model-id <model-identifier> --build-id <build-id> --variation-name <shadow variation name> --from-file <config-file-path>

πŸ“˜

Note: The percentage of all the variations must add up to 100, regardless of shadow deployments.