Skip to content

Commit

Permalink
[Docs] Add canary function cfg (mlrun#2260)
Browse files Browse the repository at this point in the history
  • Loading branch information
jillnogold authored Aug 23, 2022
1 parent 6973427 commit a077155
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 4 deletions.
8 changes: 4 additions & 4 deletions docs/concepts/deployment-monitoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,20 @@ By definition, ML models in production make inferences on constantly changing da

Model performance monitoring is a basic operational task that is implemented after an AI model has been deployed. Model monitoring includes:

- Built-in model monitoring
- Built-in model monitoring:
Machine learning model monitoring is natively built in to the Iguazio MLOps Platform, along with a wide range of
model management features and ML monitoring reports. It monitors all of your models in a single, simple, dashboard.

- Automated drift detection
- Automated drift detection:
Automatically detects concept drift, anomalies, data skew, and model drift in real-time. Even if you are running hundreds of
models simultaneously, you can be sure to spot and remediate the one that has drifted.

- Automated retraining
- Automated retraining:
When drift is detected, Iguazio automatically starts the entire training pipeline to retrain the model, including all relevant
steps in the pipeline. The output is a production-ready challenger model, ready to be deployed. This keeps your models up to date,
automatically.

- Native feature store integration
- Native feature store integration:
Feature vectors and labels are stored and analyzed in the Iguazio feature store and are easily compared to the trained
features and labels running as part of the model development phase, making it easier for data science teams to
collaborate and maintain consistency between AI projects.
Expand Down
1 change: 1 addition & 0 deletions docs/contents.rst
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
serving/built-in-model-serving
serving/model-serving-get-started
feature-store/training-serving
serving/canary
serving/model-api

.. toctree::
Expand Down
49 changes: 49 additions & 0 deletions docs/serving/canary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
(canary)=
# Canary deployment

```{admonition} Note
Relevant when MLRun is executed in the [Iguazio platform](https://www.iguazio.com/docs/latest-release/) (**"the platform"**).
```

Canary rollout is a known practice to first test a software update on a small number of users before rolling it
out to all users. In machine learning, the main usage is to test a new model on a small subset of users before
rolling it out to all users.

Canary functions are defined using an API gateway. The API gateway is a service that exposes your function as a
web service. Essentially, it is a proxy that forwards requests to your functions and returns the response.
You can configure authentication on the gateway.

The API traffic is randomly directed to the two functions at the percentages you specify. Start with a low
percentage for the canary function. Verify that the canary function works as expected (or modify it until it does
work as desired). Then gradually increase its percentage until you turn it into a production function.

**In this section**

- [Create an API gateway](#create-gateway)
- [Create and use a canary function](#canary-function)

<a id="create-gateway"></a>
## Create an API gateway

To create an API gateway in the UI:
1. In your project page, press **API Gateways** tab, then press **NEW API GATEWAY**.
2. Select an **Authentication Mode**:
- None (default)
- Basic
- Access key
- OAuth2

and fill in any required values.
2. Type in the API Gateway parameters:
- **Name**: The name of the API Gateway. Required
- **Description**: A description of the API Gateway.
- **Host**: The host of the API Gateway. (Relevant for open-source only.)
- **Path**: The path of the API Gateway.
2. In **Primary**, type in the function that is triggered via the API Gateway.

## Create and use a canary function

1. Press **Create a canary function** and type in the function name.
2. Leave the percentages at 5% and 95% to get started, and verify that the canary function works as expected.
2. Gradually increase the percentage, each time verifying its results.
2. When the percentage is high and you are fully satisfied, turn it into a production function by pressing **<img src="../_static/images/kebab-menu.png" width="25"/>** > **Promote**.

0 comments on commit a077155

Please sign in to comment.