From a077155a03a9bbf88c055f97df42408205e4ebcb Mon Sep 17 00:00:00 2001 From: jillnogold <88145832+jillnogold@users.noreply.github.com> Date: Tue, 23 Aug 2022 14:59:28 +0300 Subject: [PATCH] [Docs] Add canary function cfg (#2260) --- docs/concepts/deployment-monitoring.md | 8 ++--- docs/contents.rst | 1 + docs/serving/canary.md | 49 ++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 docs/serving/canary.md diff --git a/docs/concepts/deployment-monitoring.md b/docs/concepts/deployment-monitoring.md index a3cbe53bdab..582b328fc34 100644 --- a/docs/concepts/deployment-monitoring.md +++ b/docs/concepts/deployment-monitoring.md @@ -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. diff --git a/docs/contents.rst b/docs/contents.rst index 2680fbdecae..8435f733087 100644 --- a/docs/contents.rst +++ b/docs/contents.rst @@ -55,6 +55,7 @@ serving/built-in-model-serving serving/model-serving-get-started feature-store/training-serving + serving/canary serving/model-api .. toctree:: diff --git a/docs/serving/canary.md b/docs/serving/canary.md new file mode 100644 index 00000000000..b8d2a9b72c3 --- /dev/null +++ b/docs/serving/canary.md @@ -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) + + +## 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 **** > **Promote**.