

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Barreiras de proteção de implantação para atualização de modelos em produção
<a name="deployment-guardrails"></a>

As barreiras de proteção da implantação são um conjunto de opções de implantação de modelos no Amazon SageMaker AI Inference para atualizar modelos de machine learning em produção. Usando as opções do total gerenciamento de implantações, você pode controlar a mudança do modelo atual em produção para um novo. Os modos de deslocamento de tráfego em implantações azul/verde, como canário e linear, oferecem controle da granularidade sobre o processo de deslocamento de tráfego do seu modelo atual para o novo durante o curso da atualização. Também há proteções integradas, como reversões automáticas que ajudam você a detectar problemas com antecedência e a tomar medidas corretivas automaticamente, antes que elas impactem significativamente a produção.

As barreiras de proteção de implantação fornecem os seguintes benefícios:
+ **Segurança de implantação durante a atualização dos ambientes de produção.** Uma atualização de regressão para um ambiente de produção pode causar tempo de inatividade não planejado e impactos nos negócios, como maior latência do modelo e altas taxas de erro. As barreiras de proteção da implantação ajudam você a mitigar esses riscos fornecendo as práticas recomendadas e barreiras de proteção de segurança operacional integradas.
+ **Implantação totalmente gerenciada.** O SageMaker AI se encarrega de configurar e orquestrar essas implantações e as integra aos mecanismos de atualização de endpoints. Você não precisa compilar e manter mecanismos de orquestração, monitoramento ou reversão. Você pode utilizar o SageMaker AI para configurar e orquestrar essas implantações e se concentrar em utilizar o ML para suas aplicações.
+ **Visibilidade.** Você pode monitorar o andamento da sua implantação por meio da API [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) ou por meio do Amazon CloudWatch Events (para [endpoints compatíveis](deployment-guardrails-exclusions.md)). Para saber mais sobre eventos no SageMaker AI, consulte a seção sobre “Alteração do estado da implantação do endpoint” em [Eventos que a Amazon SageMaker AI envia para a Amazon EventBridge](automating-sagemaker-with-eventbridge.md). Observe que, se seu endpoint usar qualquer uma das funcionalidades da página [Exclusions](deployment-guardrails-exclusions.md), você não poderá usar o CloudWatch Events.

**nota**  
As barreiras de proteção de implantação se aplicam apenas aos tipos de endpoints [Inferência assíncrona](async-inference.md) e [Inferência em tempo real](realtime-endpoints.md).

## Como começar
<a name="deployment-guardrails-get-started"></a>

Oferecemos compatibilidade com dois tipos de implantações para atualizar modelos em produção: implantações azul/verde e implantações de rolagem.
+ [Implantações azul/verde](deployment-guardrails-blue-green.md): Você pode transferir o tráfego da sua frota antiga (a frota azul) para uma nova frota (a frota verde) com as atualizações. As implantações azul/verde oferecem [vários modos de deslocamento de tráfego](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-blue-green.html). Um modo de deslocamento de tráfego é uma configuração que especifica como o SageMaker AI direciona o tráfego de endpoints para uma nova frota contendo suas atualizações. Os seguintes modos de deslocamento de tráfego fornecem diferentes níveis de controle sobre o processo de atualização do endpoint:
  + [Use todo o deslocamento de tráfego de uma só vez](deployment-guardrails-blue-green-all-at-once.md) transfere todo o seu tráfego de endpoints da frota azul para a frota verde. Quando o tráfego se desloca para a frota verde, seus alarmes preespecificados do Amazon CloudWatch começam a monitorar a frota verde por um determinado período de tempo (o *período de baking*). Se nenhum alarme disparar durante o período de incorporação, o SageMaker AI encerrará a frota azul.
  + [Use o deslocamento de tráfego do canário](deployment-guardrails-blue-green-canary.md) transfere uma pequena parte de seu tráfego (um *canário*) para a frota verde e a monitora por um período de baking. Se o canário tiver êxito na frota verde, o SageMaker AI transferirá o resto do tráfego da frota azul para a frota verde antes de encerrar a frota azul.
  + [Usar o deslocamento de tráfego linear](deployment-guardrails-blue-green-linear.md) fornece ainda mais personalização sobre o número de etapas de deslocamento de tráfego e a porcentagem de tráfego a ser deslocada em cada etapa. *Enquanto a mudança canária permite que você mude o tráfego em duas etapas, a mudança linear estende isso para n etapas espaçadas linearmente.*
+ [Usar implantações contínuas](deployment-guardrails-rolling.md): você pode atualizar seu endpoint à medida que o SageMaker AI provisiona a capacidade de forma incremental e transfere o tráfego para uma nova frota em etapas com o tamanho de lote que você especificar. As instâncias na nova frota são atualizadas com a configuração da nova implantação e, se nenhum alarme do CloudWatch disparar durante o período de incorporação, o SageMaker AI limpará as instâncias na frota antiga. Essa opção oferece controle granular sobre a contagem de instâncias ou a porcentagem de capacidade alterada durante cada etapa.

Você pode criar e gerenciar sua implantação por meio da API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html), [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) e dos comandos AWS Command Line Interface do SageMaker. Consulte as páginas individuais de implantação para obter mais detalhes de instrução sobre como configurar sua implantação. Observe que, se o seu endpoint usar qualquer uma das funcionalidades listadas na página [Exclusions](deployment-guardrails-exclusions.md), você não poderá usar as barreiras de proteção de implantação.

Para seguir exemplos guiados que mostram como fazer barreiras de proteção de implantação, consulte nosso exemplo de [cadernos Jupyter](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-inference-deployment-guardrails) para os modos de deslocamento de tráfego canário e linear.

# Configuração de reversão automática e monitoramento
<a name="deployment-guardrails-configuration"></a>

Os CloudWatch alarmes da Amazon são um pré-requisito para usar períodos de espera nas grades de proteção de implantação. Você só pode usar a funcionalidade de reversão automática nas grades de proteção de implantação se configurar CloudWatch alarmes que possam monitorar um endpoint. Se algum de seus alarmes disparar durante o período de monitoramento especificado, a SageMaker IA iniciará uma reversão completa para o endpoint antigo para proteger seu aplicativo. Se você não tiver nenhum CloudWatch alarme configurado para monitorar seu endpoint, a funcionalidade de reversão automática não funcionará durante a implantação.

Para saber mais sobre a Amazon CloudWatch, consulte [O que é a Amazon CloudWatch?](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) no *Guia do CloudWatch usuário da Amazon*.

**nota**  
Certifique-se de que sua função de execução do IAM tenha permissão para realizar a ação `cloudwatch:DescribeAlarms` nos alarmes de reversão automática que você especificar.

## Exemplos de alarme
<a name="deployment-guardrails-configuration-alarm-examples"></a>

Para ajudar você a começar, fornecemos os exemplos a seguir para demonstrar as capacidades dos CloudWatch alarmes. Além de usar ou modificar os exemplos a seguir, você pode criar seus próprios alarmes e configurar os alarmes para monitorar várias métricas nas frotas especificadas por um determinado período de tempo. Para ver mais métricas e dimensões de SageMaker IA que você pode adicionar aos seus alarmes, consulte[Métricas de SageMaker IA da Amazon na Amazon CloudWatch](monitoring-cloudwatch.md).

**Topics**
+ [Monitore erros de invocação em frotas antigas e novas](#deployment-guardrails-configuration-alarm-examples-errors-both)
+ [Monitore a latência do modelo na nova frota](#deployment-guardrails-configuration-alarm-examples-latency-new)

### Monitore erros de invocação em frotas antigas e novas
<a name="deployment-guardrails-configuration-alarm-examples-errors-both"></a>

O CloudWatch alarme a seguir monitora a taxa média de erro de um endpoint. Você pode usar esse alarme com qualquer tipo de deslocamento de tráfego de barreiras de proteção de implantação para fornecer monitoramento geral das frotas antigas e novas. Se o alarme disparar, a SageMaker IA iniciará uma reversão para a frota antiga.

Os erros de invocação provenientes da frota antiga e da nova frota contribuem para a taxa média de erro. Se a taxa média de erro exceder o limite especificado, o alarme dispara. Esse exemplo específico monitora os erros 4xx (erros do cliente) nas frotas antigas e novas na duração da implantação. Você também pode monitorar os erros 5xx (erros do servidor) usando a métrica `Invocation5XXErrors`.

**nota**  
Para esse tipo de alarme, se sua frota antiga disparar o alarme durante a implantação, a SageMaker IA encerrará sua implantação. Portanto, se sua frota de produto atual já causar erros, considere usar ou modificar um dos exemplos a seguir, que monitora somente a nova frota em busca de erros.

```
#Applied deployment type: all types
{
    "AlarmName": "EndToEndDeploymentHighErrorRateAlarm",
    "AlarmDescription": "Monitors the error rate of 4xx errors",
    "MetricName": "Invocation4XXErrors",
    "Namespace": "AWS/SageMaker",
    "Statistic": "Average",
    "Dimensions": [
        {
            "Name": "EndpointName",
            "Value": <your-endpoint-name>
        },
        {
            "Name": "VariantName",
            "Value": "AllTraffic"
        }
    ],
    "Period": 600,
    "EvaluationPeriods": 2,
    "Threshold": 1,
    "ComparisonOperator": "GreaterThanThreshold",
    "TreatMissingData": "notBreaching"
}
```

No exemplo anterior, observe os valores para os seguintes campos:
+ Para `AlarmName` e `AlarmDescription`, insira um nome e descrição de sua escolha para o alarme.
+ Para `MetricName`, use o valor `Invocation4XXErrors` para monitorar erros 4xx no endpoint
+ Para `Namespace`, use o valor `AWS/SageMaker`. Você também pode especificar sua própria métrica personalizada, se aplicável.
+ Para `Statistic`, use `Average`. Isso significa que o alarme calcula a taxa média de erro durante os períodos de avaliação ao calcular se a taxa de erro excedeu o limite.
+ Para a dimensão `EndpointName`, use o nome do endpoint que você está atualizando como valor.
+ Para a dimensão `VariantName`, use o valor `AllTraffic` para especificar todo o tráfego do endpoint.
+ Para `Period`, use `600`. Isso define os períodos de avaliação do alarme para 10 minutos.
+ Para `EvaluationPeriods`, use `2`. Esse valor faz com que o alarme considere os dois períodos de avaliação mais recentes ao determinar o status do alarme.

### Monitore a latência do modelo na nova frota
<a name="deployment-guardrails-configuration-alarm-examples-latency-new"></a>

O exemplo de CloudWatch alarme a seguir monitora a latência do modelo da nova frota durante sua implantação. Você pode usar esse alarme para monitorar somente a nova frota e excluir a frota antiga. O alarme dura por toda a implantação. Este exemplo fornece um end-to-end monitoramento abrangente da nova frota e inicia uma reversão para a frota antiga se a nova frota tiver algum problema de tempo de resposta.

CloudWatch publica as métricas com a dimensão `EndpointConfigName:{New-Ep-Config}` depois que a nova frota começa a receber tráfego, e essas métricas duram mesmo após a conclusão da implantação.

Você pode usar o seguinte exemplo de alarme para qualquer tipo de implantação:

```
#Applied deployment type: all types
{
    "AlarmName": "NewEndpointConfigVersionHighModelLatencyAlarm",
    "AlarmDescription": "Monitors the model latency on new fleet",
    "MetricName": "ModelLatency",
    "Namespace": "AWS/SageMaker",
    "Statistic": "Average",
    "Dimensions": [
        {
            "Name": "EndpointName",
            "Value": <your-endpoint-name>
        },
        {
            "Name": "VariantName",
            "Value": "AllTraffic"
        },
        {
            "Name": "EndpointConfigName",
            "Value": <your-config-name>
    ],
    "Period": 300,
    "EvaluationPeriods": 2,
    "Threshold": 100000, # 100ms
    "ComparisonOperator": "GreaterThanThreshold",
    "TreatMissingData": "notBreaching"
}
```

No exemplo anterior, observe os valores para os seguintes campos:
+ Para `MetricName`, use o valor `ModelLatency` para monitorar o tempo de resposta do modelo.
+ Para `Namespace`, use o valor `AWS/SageMaker`. Você também pode especificar sua própria métrica personalizada, se aplicável.
+ Para a dimensão `EndpointName`, use o nome do endpoint que você está atualizando como valor.
+ Para a dimensão `VariantName`, use o valor `AllTraffic` para especificar o tráfego de todos os endpoints.
+ Para a dimensão `EndpointConfigName`, o valor deve se referir ao nome da configuração de endpoint do seu novo endpoint atualizado.

**nota**  
Se quiser monitorar sua frota antiga em vez da frota nova, você pode alterar a dimensão `EndpointConfigName` para especificar o nome da configuração da sua frota antiga.

# Implantações azul/verde
<a name="deployment-guardrails-blue-green"></a>

Quando você atualiza seu endpoint, o Amazon SageMaker AI usa automaticamente uma implantação azul/verde para maximizar a disponibilidade dos endpoints. Em uma implantação azul/verde, o SageMaker AI provisiona uma nova frota com as atualizações (a frota verde). Em seguida, ele transfere o tráfego da frota antiga (a frota azul) para a frota verde. Quando a frota verde opera sem problemas por um período de avaliação configurado (chamado de período de incorporação), o SageMaker AI encerra a frota azul. Com os recursos adicionais em implantações azul/verde, você pode utilizar os modos de deslocamento de tráfego e o monitoramento de reversão automática para proteger seu endpoint de um impacto significativo na produção.

A seguinte lista descreve os principais recursos das implantações azul/verde no SageMaker AI:
+ **Modos de deslocamento de tráfego.** Os modos de deslocamento de tráfego para barreiras de proteção de implantação permitem controlar o volume de tráfego e o número de etapas de deslocamento de tráfego entre a frota azul e a frota verde. Esse recurso permite avaliar progressivamente a performance da frota verde sem confirmar totalmente um deslocamento de tráfego de 100%.
+ **Período de baking.** O período de baking é um período de tempo configurado para monitorar a frota verde antes de prosseguir para a próxima etapa de implantação. Se algum dos alarmes pré-especificados disparar durante qualquer período de baking, todo o tráfego do endpoint será revertido para a frota azul. O período de baking ajuda você a adquirir confiança em sua atualização antes de tornar o deslocamento de tráfego permanente.
+ **Reversões automáticas. ** Você pode especificar os alarmes do Amazon CloudWatch que o SageMaker AI usa para monitorar a frota verde. Se um problema com o código de atualização disparar algum dos alarmes, o SageMaker AI iniciará uma reversão automática para a frota azul a fim de manter a disponibilidade e minimizar os riscos.

## Modos de deslocamento de tráfego.
<a name="deployment-guardrails-blue-green-traffic-modes"></a>

Os vários modos de deslocamento de tráfego em implantações azul/verde oferecem um controle com mais granularidade sobre o deslocamento de tráfego entre a frota azul e a frota verde. Os modos de deslocamento de tráfego disponíveis para implantações azul/verde são todos simultâneos, canários e lineares. A tabela a seguir mostra uma comparação entre as opções.

**Importante**  
Para implantações azul/verde que envolvam deslocamento de tráfego ou baking em vários períodos, você é faturado para ambas as frotas pela duração da atualização, independentemente do tráfego para a frota. Isso contrasta com as implantações azul/verde com deslocamento de tráfego de uma só vez e sem períodos de baking, em que você só é faturado apenas por uma frota durante o curso da atualização.


| Name | O que é isso? | Prós | Contras | Recomendação | 
| --- | --- | --- | --- | --- | 
| Tudo de uma vez | Alterna todo o tráfego para a nova frota em uma única etapa. | Minimiza a duração geral da atualização. | As atualizações de regressão afetam 100% do tráfego. | Use essa opção para minimizar o custo e o tempo de atualização. | 
| Canário | O tráfego se desloca em duas etapas. A primeira etapa (canário) desloca uma pequena parte do tráfego seguida pela segunda etapa, que desloca o restante do tráfego. | Limita o raio de explosão das atualizações regressivas somente à frota de canários. | Ambas as frotas ficam operacionais em paralelismo durante toda a implantação. | Use essa opção para balancear entre a minimização do raio de explosão das atualizações regressivas e a minimização do tempo em que duas frotas estão operacionais. | 
| Linear | Uma porção fixa do tráfego se desloca em um número pré-especificado de etapas igualmente espaçadas. | Minimiza o risco de atualizações de regressão ao deslocar o tráfego em várias etapas. | A duração e o custo da atualização são proporcionais ao número de etapas. | Use essa opção para minimizar o risco ao disseminar a implantação em várias etapas. | 

## Conceitos básicos
<a name="deployment-guardrails-blue-green-get-started"></a>

Depois que você especifica sua configuração de implantação desejada, o SageMaker AI gerencia o provisionamento de novas instâncias, o encerramento de instâncias antigas e a transferência de tráfego para você. Você pode criar e gerenciar sua implantação por meio da API e dos comandos AWS Command Line Interface existentes do [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) e [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) do SageMaker. Observe que, se o seu endpoint usar qualquer uma das funcionalidades listadas na página [Exclusions](deployment-guardrails-exclusions.md), você não poderá usar barreiras de proteção de implantação. Consulte as páginas individuais de implantação para obter mais detalhes sobre como configurar sua implantação:
+ [ Atualização azul/verde com deslocamento de tráfego de uma só vez](deployment-guardrails-blue-green-all-at-once.md)
+ [ Atualização azul/verde com deslocamento de tráfego do Canário](deployment-guardrails-blue-green-canary.md)
+ [ Atualização azul/verde com deslocamento de tráfego linear](deployment-guardrails-blue-green-linear.md)

Para seguir exemplos guiados que mostram como usar as barreiras de proteção de implantação, consulte nossos exemplos de [blocos de anotação Jupyter](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-inference-deployment-guardrails) para os modos de deslocamento de tráfego canário e linear.

# Use todo o deslocamento de tráfego de uma só vez
<a name="deployment-guardrails-blue-green-all-at-once"></a>

Com o deslocamento de tráfego, tudo de uma vez, você pode implementar rapidamente uma atualização de endpoint usando as barreiras de proteção de uma implantação azul/verde. Você pode usar essa opção de deslocamento de tráfego para minimizar a duração da atualização e, ao mesmo tempo, aproveitar as garantias de disponibilidade das implantações azul/verde. O atributo de período de baking ajuda você a monitorar o desempenho e a funcionalidade de suas novas instâncias antes de encerrar suas instâncias antigas, garantindo que sua nova frota esteja totalmente operacional.

O diagrama a seguir mostra como, o deslocamento de tráfego de uma só vez gerencia as frotas antigas e novas.

![\[Um deslocamento de tráfego de 100% bem-sucedido da frota anterior para a nova frota.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/deployment-guardrails-blue-green-all-at-once.png)


Quando você usa o deslocamento de tráfego de uma só vez, o SageMaker AI roteia 100% do tráfego para a nova frota (frota verde). Quando a frota verde começa a receber tráfego, o período de baking começa. O período de baking é um período definido em que os alarmes pré-especificados do Amazon CloudWatch monitoram o desempenho da frota verde. Quando nenhum alarme dispara durante o período de incorporação, o SageMaker AI encerra a frota antiga (frota azul). Se algum alarme disparar durante o período de baking, uma reversão automática será iniciada e 100% do tráfego se deslocará de volta para a frota azul.

## Pré-requisitos
<a name="deployment-guardrails-blue-green-all-at-once-prereqs"></a>

Antes de configurar uma implantação com tudo de uma vez, você deve criar alarmes do Amazon CloudWatch para monitorar as métricas a partir do seu endpoint. Se qualquer alarme for disparado durante o período de baking, o tráfego começará a se reverter para sua frota azul. Para saber como configurar os alarmes do CloudWatch em um endpoint, consulte a página de pré-requisitos [Configuração de reversão automática e monitoramento](deployment-guardrails-configuration.md). Para obter mais informações sobre alarmes do CloudWatch, consulte [Usando alarmes do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) no *Guia do usuário do Amazon CloudWatch*.

## Configuração de todo o deslocamento de tráfego de uma só vez
<a name="deployment-guardrails-blue-green-all-at-once-configure"></a>

Quando estiver tudo pronto para a implantação e você tiver configurado os alarmes do CloudWatch para o seu endpoint, você poderá usar a API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) do SageMaker AI ou o comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) na AWS Command Line Interface para iniciar a implantação.

**Topics**
+ [Como atualizar um endpoint (API)](#deployment-guardrails-blue-green-all-at-once-configure-api-update)
+ [Como atualizar um endpoint com uma política de atualização azul/verde existente (API)](#deployment-guardrails-blue-green-all-at-once-configure-api-existing)
+ [Como atualizar um endpoint (CLI)](#deployment-guardrails-blue-green-all-at-once-configure-cli-update)

### Como atualizar um endpoint (API)
<a name="deployment-guardrails-blue-green-all-at-once-configure-api-update"></a>

O exemplo a seguir mostra como você pode atualizar seu endpoint com um deslocamento de tráfego de uma só vez usando o [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) na API do Amazon SageMaker.

```
import boto3
client = boto3.client("sagemaker")

response = client.update_endpoint(
    EndpointName="<your-endpoint-name>",
    EndpointConfigName="<your-config-name>",
    DeploymentConfig={
        "BlueGreenUpdatePolicy": {
            "TrafficRoutingConfiguration": {
                "Type": "ALL_AT_ONCE"
            },
            "TerminationWaitInSeconds": 600,
            "MaximumExecutionTimeoutInSeconds": 1800
        },
        "AutoRollbackConfiguration": {
            "Alarms": [
                {
                    "AlarmName": "<your-cw-alarm>"
                },
            ]
        }
    }
)
```

Para configurar a opção de deslocamento de tráfego de uma só vez, faça o seguinte:
+ Em `EndpointName`, use o nome do endpoint existente que você deseja atualizar.
+ Em `EndpointConfigName`, use o nome da configuração de endpoint que deseja usar.
+ Em `DeploymentConfig` e `BlueGreenUpdatePolicy`, no `TrafficRoutingConfiguration`, defina o parâmetro `Type` como `ALL_AT_ONCE`. Isso especifica que a implantação usa o modo de deslocamento de tráfego de uma só vez.
+ Para `TerminationWaitInSeconds`, use `600`. Esse parâmetro instrui o SageMaker AI para aguardar pelo tempo especificado (em segundos) depois que sua frota verde estiver totalmente ativa para só então encerrar as instâncias na frota azul. Neste exemplo, antes de encerrar a frota azul, o SageMaker AI espera 10 minutos após o período final de incorporação.
+ Para `MaximumExecutionTimeoutInSeconds`, use `1800`. Esse parâmetro define o tempo máximo em que a implantação pode ser executada antes de o tempo limite ser atingido. No exemplo anterior, sua implantação tem um limite de 30 minutos para ser concluída.
+ Em `AutoRollbackConfiguration`, dentro do campo `Alarms`, você pode adicionar seus alarmes do CloudWatch por nome. Crie uma entrada `AlarmName: <your-cw-alarm>` para cada alarme que você deseja usar.

### Como atualizar um endpoint com uma política de atualização azul/verde existente (API)
<a name="deployment-guardrails-blue-green-all-at-once-configure-api-existing"></a>

Ao usar a API [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) para criar um endpoint, você pode, opcionalmente, especificar uma configuração de implantação para reutilizar em futuras atualizações de endpoint. Você pode usar as mesmas opções `DeploymentConfig` do exemplo anterior da API UpdateEndpoint. Não há alterações no comportamento da API CreateEndpoint. Especificar a configuração da implantação não executa automaticamente uma atualização azul/verde no seu endpoint.

A opção de usar uma configuração de implantação anterior acontece ao usar a API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) para atualizar seu endpoint. Ao atualizar seu endpoint, você pode usar a opção `RetainDeploymentConfig` para manter a configuração da implantação especificada ao criar o endpoint.

Ao chamar a API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html), defina `RetainDeploymentConfig` como `True` para manter as opções `DeploymentConfig` da configuração de endpoint originais.

```
response = client.update_endpoint(
    EndpointName="<your-endpoint-name>",
    EndpointConfigName="<your-config-name>",
    RetainDeploymentConfig=True
)
```

### Como atualizar um endpoint (CLI)
<a name="deployment-guardrails-blue-green-all-at-once-configure-cli-update"></a>

Se você estiver usando o AWS CLI, o exemplo a seguir mostra como iniciar uma implantação azul/verde de uma só vez usando o comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html).

```
update-endpoint
--endpoint-name <your-endpoint-name> 
--endpoint-config-name <your-config-name> 
--deployment-config '"BlueGreenUpdatePolicy": {"TrafficRoutingConfiguration": {"Type": "ALL_AT_ONCE"},
    "TerminationWaitInSeconds": 600, "MaximumExecutionTimeoutInSeconds": 1800},
    "AutoRollbackConfiguration": {"Alarms": [{"AlarmName": "<your-alarm>"}]}'
```

Para configurar a opção de deslocamento de tráfego de uma só vez, faça o seguinte:
+ Em `endpoint-name`, use o nome do endpoint que você deseja atualizar.
+ Em `endpoint-config-name`, use o nome da configuração de endpoint que deseja usar.
+ Para `deployment-config`, use um objeto JSON da [BlueGreenUpdatePolicy](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_BlueGreenUpdatePolicy.html).

**nota**  
Se você preferir salvar seu objeto JSON em um arquivo, consulte a [Geração de esqueleto AWS CLI e parâmetros de entrada](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html) no *Guia do usuário AWS CLI*.

# Use o deslocamento de tráfego do canário
<a name="deployment-guardrails-blue-green-canary"></a>

Com o deslocamento de tráfego do canário, você pode testar uma parte do seu tráfego de endpoints na nova frota enquanto a frota antiga atende ao restante do tráfego. Essa etapa de testes é uma barreira de proteção que valida a funcionalidade da nova frota antes de transferir todo o tráfego para a nova frota. Você ainda tem os benefícios de uma implantação azul/verde e o atributo de canário adicionado permite garantir que sua nova frota (verde) possa realizar inferências antes de permitir que ela processe 100% do tráfego.

A parte da sua frota verde que é ativada para receber tráfego é chamada de canário e você pode escolher o tamanho desse canário. Observe que o tamanho do canário deve ser menor que ou igual a 50% da capacidade da nova frota. Quando o período de baking termina e nenhum alarme pré-especificado do Amazon CloudWatch dispara, o restante do tráfego se desloca da frota antiga (azul) para a frota verde. A mudança de tráfego do canário oferece mais segurança durante a sua implantação, pois qualquer problema com o modelo atualizado impacta apenas o canário.

O diagrama a seguir mostra como o deslocamento de tráfego do canário gerencia a distribuição do tráfego entre as frotas azul e verde.

![\[Uma mudança em duas etapas e bem-sucedida do tráfego de canários da frota anterior para a nova frota.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/deployment-guardrails-blue-green-canary.png)


Depois que o SageMaker AI provisiona a frota verde, ele roteia uma parte do tráfego de entrada (por exemplo, 25%) para o canário. Em seguida, começa o período de baking, durante o qual os seus alarmes do CloudWatch monitoram o desempenho da frota verde. Durante esse período, tanto a frota azul quanto a frota verde estão parcialmente ativas e recebendo tráfego. Se algum dos alarmes disparar durante o período de incorporação, o SageMaker AI iniciará uma reversão e todo o tráfego retornará à frota azul. Se nenhum dos alarmes disparar, todo o tráfego será transferido para a frota verde e haverá um período final de baking. Se o período final de incorporação terminar sem acionar nenhum alarme, a frota verde atenderá a todo tráfego e o SageMaker AI encerrará a frota azul.

## Pré-requisitos
<a name="deployment-guardrails-blue-green-canary-prereqs"></a>

Antes de configurar uma implantação com mudança de tráfego do canário, você deve criar alarmes no Amazon CloudWatch para monitorar as métricas do seu endpoint. Os alarmes ficam ativos durante o período de baking e, se algum alarme disparar, todo o tráfego do endpoint será revertido para a frota azul. Para saber como configurar os alarmes do CloudWatch em um endpoint, consulte a página de pré-requisitos [Configuração de reversão automática e monitoramento](deployment-guardrails-configuration.md). Para obter mais informações sobre alarmes do CloudWatch, consulte [Usando alarmes do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html), no *Guia do usuário do Amazon CloudWatch*.

## Configurar o deslocamento de tráfego de canários
<a name="deployment-guardrails-blue-green-canary-configure"></a>

Quando estiver tudo pronto para a implantação e já tiver configurado os alarmes do Amazon CloudWatch para o endpoint, você poderá usar a API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) do Amazon SageMaker AI ou o comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) na AWS CLI para iniciar a implantação.

**Topics**
+ [Como atualizar um endpoint (API)](#deployment-guardrails-blue-green-canary-configure-api-update)
+ [Como atualizar um endpoint com uma política de atualização azul/verde existente (API)](#deployment-guardrails-blue-green-canary-configure-api-existing)
+ [Como atualizar um endpoint (CLI)](#deployment-guardrails-blue-green-canary-configure-cli-update)

### Como atualizar um endpoint (API)
<a name="deployment-guardrails-blue-green-canary-configure-api-update"></a>

O exemplo a seguir da API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) mostra como você pode atualizar um endpoint com o deslocamento de tráfego do canário.

```
import boto3
client = boto3.client("sagemaker")

response = client.update_endpoint(
    EndpointName="<your-endpoint-name>",
    EndpointConfigName="<your-config-name>",
    DeploymentConfig={
        "BlueGreenUpdatePolicy": {
            "TrafficRoutingConfiguration": {
                "Type": "CANARY",
                "CanarySize": {
                    "Type": "CAPACITY_PERCENT",
                    "Value": 30
                },
                "WaitIntervalInSeconds": 600
            },
            "TerminationWaitInSeconds": 600,
            "MaximumExecutionTimeoutInSeconds": 1800
        },
        "AutoRollbackConfiguration": {
            "Alarms": [
                {
                    "AlarmName": "<your-cw-alarm>"
                }
            ]
        }
    }
)
```

Para configurar a opção de deslocamento de tráfego do canário, faça o seguinte:
+ Em `EndpointName`, use o nome do endpoint existente que você deseja atualizar.
+ Em `EndpointConfigName`, use o nome da configuração de endpoint que deseja usar.
+ Em `DeploymentConfig` e `BlueGreenUpdatePolicy`, em `TrafficRoutingConfiguration`, defina o parâmetro `Type` como `CANARY`. Isso especifica que a implantação usa o deslocamento de tráfego do canário.
+ No campo `CanarySize`, você pode alterar o tamanho do canário modificando os parâmetros `Type` e `Value`. Para `Type`, use `CAPACITY_PERCENT`, ou seja, a porcentagem da frota verde que você deseja usar como canário e, em seguida, defina `Value` como `30`. Neste exemplo, você usa 30% da capacidade da frota verde como canário. Observe que o tamanho do canário deve ser igual ou menor que 50% da capacidade da frota verde.
+ Para `WaitIntervalInSeconds`, use `600`. O parâmetro instrui o SageMaker AI para que aguarde o tempo especificado (em segundos) entre cada mudança de intervalo. Esse intervalo é a duração do período de baking do canário. No exemplo anterior, o SageMaker AI espera 10 minutos após a troca de canário e, em seguida, conclui o segundo e último deslocamento de tráfego.
+ Para `TerminationWaitInSeconds`, use `600`. Esse parâmetro instrui o SageMaker AI para aguardar pelo tempo especificado (em segundos) depois que sua frota verde estiver totalmente ativa para só então encerrar as instâncias na frota azul. Neste exemplo, antes de encerrar a frota azul, o SageMaker AI espera 10 minutos após o período final de incorporação.
+ Para `MaximumExecutionTimeoutInSeconds`, use `1800`. Esse parâmetro define o tempo máximo em que a implantação pode ser executada antes de o tempo limite ser atingido. No exemplo anterior, sua implantação tem um limite de 30 minutos para ser concluída.
+ Em `AutoRollbackConfiguration`, dentro do campo `Alarms`, você pode adicionar seus alarmes do CloudWatch por nome. Crie uma entrada `AlarmName: <your-cw-alarm>` para cada alarme que você deseja usar.

### Como atualizar um endpoint com uma política de atualização azul/verde existente (API)
<a name="deployment-guardrails-blue-green-canary-configure-api-existing"></a>

Ao usar a API [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) para criar um endpoint, você pode, opcionalmente, especificar uma configuração de implantação para reutilizar em futuras atualizações de endpoint. Você pode usar as mesmas opções `DeploymentConfig` do exemplo anterior da API UpdateEndpoint. Não há alterações no comportamento da API CreateEndpoint. Especificar a configuração da implantação não executa automaticamente uma atualização azul/verde no seu endpoint.

A opção de usar uma configuração de implantação anterior acontece ao usar a API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) para atualizar seu endpoint. Ao atualizar seu endpoint, você pode usar a opção `RetainDeploymentConfig` para manter a configuração da implantação especificada ao criar o endpoint.

Ao chamar a API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html), defina `RetainDeploymentConfig` como `True` para manter as opções `DeploymentConfig` da configuração de endpoint originais.

```
response = client.update_endpoint(
    EndpointName="<your-endpoint-name>",
    EndpointConfigName="<your-config-name>",
    RetainDeploymentConfig=True
)
```

### Como atualizar um endpoint (CLI)
<a name="deployment-guardrails-blue-green-canary-configure-cli-update"></a>

Se você estiver usando o AWS CLI, o exemplo a seguir mostra como iniciar uma implantação do canário azul/verde usando o comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html).

```
update-endpoint
--endpoint-name <your-endpoint-name>
--endpoint-config-name <your-config-name> 
--deployment-config '"BlueGreenUpdatePolicy": {"TrafficRoutingConfiguration": {"Type": "CANARY",
    "CanarySize": {"Type": "CAPACITY_PERCENT", "Value": 30}, "WaitIntervalInSeconds": 600},
    "TerminationWaitInSeconds": 600, "MaximumExecutionTimeoutInSeconds": 1800},
    "AutoRollbackConfiguration": {"Alarms": [{"AlarmName": "<your-alarm>"}]}'
```

Para configurar a opção de deslocamento de tráfego do canário, faça o seguinte:
+ Em `endpoint-name`, use o nome do endpoint que você deseja atualizar.
+ Em `endpoint-config-name`, use o nome da configuração de endpoint que deseja usar.
+ Para `deployment-config`, use um objeto JSON da [BlueGreenUpdatePolicy](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_BlueGreenUpdatePolicy.html).

**nota**  
Se você preferir salvar seu objeto JSON em um arquivo, consulte a [Geração de esqueleto AWS CLI e parâmetros de entrada](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html) no *Guia do usuário AWS CLI*.

# Usar o deslocamento de tráfego linear
<a name="deployment-guardrails-blue-green-linear"></a>

O deslocamento de tráfego linear permite que você transfira gradualmente o tráfego de sua frota antiga (frota azul) para sua nova frota (frota verde). Com deslocamento de tráfego linear, você pode deslocar o tráfego em várias etapas, minimizando a chance de uma interrupção no seu endpoint. Essa opção de implantação azul/verde oferece maior controle da granularidade sobre o deslocamento de tráfego.

Você pode escolher o número de instâncias ou a porcentagem da capacidade da frota verde a ser ativada durante cada etapa. Cada etapa linear deve estar apenas entre 10 e 50% da capacidade da frota verde. Para cada etapa, há um período de baking durante o qual seus alarmes pré-especificados do Amazon CloudWatch monitoram as métricas da frota verde. Quando o período de baking termina e nenhum alarme dispara, a porção ativa da sua frota verde continua recebendo tráfego e uma nova etapa começa. Se qualquer alarme for disparado durante o período de baking, o tráfego do endpoint irá se reverter para sua frota azul.

O diagrama a seguir mostra como o deslocamento de tráfego linear roteia o tráfego para as frotas azul e verde.

![\[Uma mudança em três etapas e bem-sucedida do tráfego linear da frota anterior para a nova frota.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/deployment-guardrails-blue-green-linear.png)


Depois que o SageMaker AI provisiona a nova frota, a primeira parte da frota verde é ativada e recebe tráfego. O SageMaker AI desativa a porção de mesmo tamanho da frota azul e o período de incorporação começa. Se qualquer alarme for disparado, todo o tráfego do endpoint irá se reverter para sua frota azul. Se o período de baking terminar, a próxima etapa será iniciada. Outra parte da frota verde é ativada e recebe tráfego, parte da frota azul é desativada e outro período de baking começa. O mesmo processo se repete até que a frota azul seja totalmente desativada e a frota verde esteja totalmente ativa e recebendo todo o tráfego. Se um alarme disparar a qualquer momento, o SageMaker AI encerrará o processo de deslocamento e 100% do tráfego voltará para a frota azul.

## Pré-requisitos
<a name="deployment-guardrails-blue-green-linear-prereqs"></a>

Antes de configurar uma implantação deslocamento de tráfego linear, você deve criar alarmes do CloudWatch para monitorar as métricas a partir do seu endpoint. Os alarmes ficam ativos durante o período de baking e, se algum alarme disparar, todo o tráfego do endpoint será revertido para a frota azul. Para saber como configurar os alarmes do CloudWatch em um endpoint, consulte a página de pré-requisitos [Configuração de reversão automática e monitoramento](deployment-guardrails-configuration.md). Para obter mais informações sobre alarmes do CloudWatch, consulte [Usando alarmes do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) no *Guia do usuário do Amazon CloudWatch*.

## Configurar o deslocamento de tráfego linear
<a name="deployment-guardrails-blue-green-linear-configure"></a>

Quando tudo estiver pronto para a implantação e tiver configurado os alarmes do CloudWatch para o seu endpoint, você poderá usar a API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) do Amazon SageMaker AI ou o comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) na AWS CLI para iniciar a implantação.

**Topics**
+ [Como atualizar um endpoint (API)](#deployment-guardrails-blue-green-linear-configure-api-update)
+ [Como atualizar um endpoint com uma política de atualização azul/verde existente (API)](#deployment-guardrails-blue-green-linear-configure-api-existing)
+ [Como atualizar um endpoint (CLI)](#deployment-guardrails-blue-green-canary-configure-cli-update)

### Como atualizar um endpoint (API)
<a name="deployment-guardrails-blue-green-linear-configure-api-update"></a>

O exemplo a seguir da API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) mostra como você pode atualizar um endpoint com deslocamento de tráfego linear.

```
import boto3
client = boto3.client("sagemaker")

response = client.update_endpoint(
    EndpointName="<your-endpoint-name>",
    EndpointConfigName="<your-config-name>",
    DeploymentConfig={
        "BlueGreenUpdatePolicy": {
            "TrafficRoutingConfiguration": {
                "Type": "LINEAR",
                "LinearStepSize": {
                    "Type": "CAPACITY_PERCENT",
                    "Value": 20
                },
                "WaitIntervalInSeconds": 300
            },
            "TerminationWaitInSeconds": 300,
            "MaximumExecutionTimeoutInSeconds": 3600
        },
        "AutoRollbackConfiguration": {
            "Alarms": [
                {
                    "AlarmName": "<your-cw-alarm>"
                }
            ]
        }
    }
)
```

Para configurar a opção de deslocamento de tráfego linear, faça o seguinte:
+ Em `EndpointName`, use o nome do endpoint existente que você deseja atualizar.
+ Em `EndpointConfigName`, use o nome da configuração de endpoint que deseja usar.
+ Em `DeploymentConfig` e `BlueGreenUpdatePolicy`, no `TrafficRoutingConfiguration`, defina o parâmetro `Type` como `LINEAR`. Isso especifica que a implantação usa o modo de deslocamento de tráfego linear.
+ No campo `LinearStepSize` você pode alterar o tamanho das etapas modificando os parâmetros `Type` e `Value`. Para`Type`, use `CAPACITY_PERCENT`, ou seja, a porcentagem de sua frota verde que você deseja usar como tamanho da etapa e, em seguida, defina `Value` como `20`. Neste exemplo, você ativa 20% da capacidade da frota verde para cada etapa de deslocamento de tráfego. Observe que, ao personalizar o tamanho da etapa linear, você deve usar apenas etapas que representem 10% a 50% da capacidade da frota verde.
+ Para `WaitIntervalInSeconds`, use `300`. O parâmetro instrui o SageMaker AI para aguardar pelo tempo especificado (em segundos) entre cada deslocamento de tráfego. Esse intervalo é a duração do período de baking entre cada etapa linear. No exemplo anterior, o SageMaker AI espera por 5 minutos entre cada deslocamento de tráfego.
+ Para `TerminationWaitInSeconds`, use `300`. Esse parâmetro instrui o SageMaker AI para aguardar pelo tempo especificado (em segundos) depois que sua frota verde estiver totalmente ativa para só então encerrar as instâncias na frota azul. Neste exemplo, antes de encerrar a frota azul, o SageMaker AI espera 5 minutos após o período final de incorporação.
+ Para `MaximumExecutionTimeoutInSeconds`, use `3600`. Esse parâmetro define o tempo máximo em que a implantação pode ser executada antes de o tempo limite ser atingido. No exemplo anterior, sua implantação tem um limite de 1 hora para ser concluída.
+ Em `AutoRollbackConfiguration`, dentro do campo `Alarms`, você pode adicionar seus alarmes do CloudWatch por nome. Crie uma entrada `AlarmName: <your-cw-alarm>` para cada alarme que você deseja usar.

### Como atualizar um endpoint com uma política de atualização azul/verde existente (API)
<a name="deployment-guardrails-blue-green-linear-configure-api-existing"></a>

Ao usar a API [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) para criar um endpoint, você pode, opcionalmente, especificar uma configuração de implantação para reutilizar em futuras atualizações de endpoint. Você pode usar as mesmas opções `DeploymentConfig` do exemplo anterior da API UpdateEndpoint. Não há alterações no comportamento da API CreateEndpoint. Especificar a configuração da implantação não executa automaticamente uma atualização azul/verde no seu endpoint.

A opção de usar uma configuração de implantação anterior acontece ao usar a API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) para atualizar seu endpoint. Ao atualizar seu endpoint, você pode usar a opção `RetainDeploymentConfig` para manter a configuração da implantação especificada ao criar o endpoint.

Ao chamar a API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html), defina `RetainDeploymentConfig` como `True` para manter as opções `DeploymentConfig` da configuração de endpoint originais.

```
response = client.update_endpoint(
    EndpointName="<your-endpoint-name>",
    EndpointConfigName="<your-config-name>",
    RetainDeploymentConfig=True
)
```

### Como atualizar um endpoint (CLI)
<a name="deployment-guardrails-blue-green-canary-configure-cli-update"></a>

Se você estiver usando o AWS CLI, o exemplo a seguir mostra como iniciar uma implantação linear azul/verde usando o comando [atualizar endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html).

```
update-endpoint
--endpoint-name <your-endpoint-name>
--endpoint-config-name <your-config-name> 
--deployment-config '{"BlueGreenUpdatePolicy": {"TrafficRoutingConfiguration": {"Type": "LINEAR",
    "LinearStepSize": {"Type": "CAPACITY_PERCENT", "Value": 20}, "WaitIntervalInSeconds": 300},
    "TerminationWaitInSeconds": 300, "MaximumExecutionTimeoutInSeconds": 3600},
    "AutoRollbackConfiguration": {"Alarms": [{"AlarmName": "<your-alarm>"}]}'
```

Para configurar a opção de deslocamento de tráfego linear, faça o seguinte:
+ Em `endpoint-name`, use o nome do endpoint que você deseja atualizar.
+ Em `endpoint-config-name`, use o nome da configuração de endpoint que deseja usar.
+ Para `deployment-config`, use um objeto JSON da [BlueGreenUpdatePolicy](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_BlueGreenUpdatePolicy.html).

**nota**  
Se você preferir salvar seu objeto JSON em um arquivo, consulte a [Geração de esqueleto AWS CLI e parâmetros de entrada](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html) no *Guia do usuário AWS CLI*.

# Usar implantações contínuas
<a name="deployment-guardrails-rolling"></a>

Ao atualizar seu endpoint, você pode especificar uma implantação contínua para deslocar gradualmente o tráfego da sua frota antiga para uma nova frota. Você pode controlar o tamanho das etapas de deslocamento de tráfego, bem como especificar um período de avaliação para monitorar problemas nas novas instâncias antes de encerrar instâncias da frota antiga. Com implantações contínuas, as instâncias da frota antiga são limpas após cada deslocamento de tráfego para a nova frota, reduzindo a quantidade de instâncias adicionais necessárias para atualizar seu endpoint. Isso é útil principalmente para instâncias aceleradas que estão sob alta demanda.

As implantações contínuas substituem gradualmente a implantação anterior da versão do modelo pela nova versão, atualizando seu endpoint em tamanhos de lote configuráveis. O comportamento de mudança de tráfego das implantações contínuas é semelhante ao [modo de mudança de tráfego linear](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-blue-green-linear.html) nas blue/green implantações, mas as implantações contínuas oferecem o benefício de requisitos de capacidade reduzidos quando comparadas às implantações. blue/green Com implantações contínuas, um número menor de instâncias fica ativo ao mesmo tempo e você tem um controle mais granular sobre quantas instâncias você deseja atualizar na nova frota. Você deve considerar o uso de uma implantação contínua em vez de uma blue/green implantação se tiver modelos grandes ou um endpoint grande com muitas instâncias.

A lista a seguir descreve os principais recursos das implantações contínuas na Amazon SageMaker AI:
+ **Período de baking. **O período de incorporação é um período de tempo determinado para monitorar a nova frota antes de prosseguir para a próxima etapa de implantação. Se algum dos alarmes pré-especificados disparar durante qualquer período de incorporação, todo o tráfego do endpoint será revertido para a frota antiga. O período de incorporação ajuda você a adquirir confiança em sua atualização antes de tornar o deslocamento de tráfego permanente.
+ **Tamanho do lote contínuo.** Você tem controle granular sobre o tamanho de cada lote para o deslocamento de tráfego ou o número de instâncias que deseja atualizar em cada lote. Esse número pode variar de 5 a 50% do tamanho da sua frota. Você pode especificar o tamanho do lote como um número de instâncias ou como a porcentagem geral de sua frota.
+ **Reversão automática. **Você pode especificar CloudWatch os alarmes da Amazon que a SageMaker IA usa para monitorar a nova frota. Se um problema com o código atualizado acionar algum dos alarmes, a SageMaker IA iniciará uma reversão automática para a frota antiga a fim de manter a disponibilidade, minimizando assim o risco.

**nota**  
Se seu endpoint usa quaisquer dos atributos listados na página [Exclusões](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-exclusions.html), você não pode usar implantações contínuas.

## Como funciona
<a name="deployment-guardrails-rolling-how-it-works"></a>

Durante uma implantação contínua, a SageMaker IA fornece a infraestrutura para transferir o tráfego da frota antiga para a nova frota sem precisar provisionar todas as novas instâncias de uma só vez. SageMaker A IA usa as seguintes etapas para mudar o tráfego:

1. SageMaker A IA provisiona o primeiro lote de instâncias na nova frota.

1. Uma parte do tráfego é deslocada a partir das instâncias antigas para o primeiro lote de novas instâncias.

1. Após o período de cozimento, se nenhum CloudWatch alarme da Amazon for acionado, a SageMaker IA limpa um lote de instâncias antigas.

1. SageMaker A IA continua provisionando, transferindo e limpando instâncias em lotes até que a implantação seja concluída.

Se um alarme for disparado durante um dos períodos de incorporação, o tráfego será revertido para a frota antiga em lotes do tamanho especificado por você. Como alternativa, você pode especificar a implantação contínua para deslocar 100% do tráfego de volta para a frota antiga caso um alarme seja disparado.

O diagrama a seguir mostra a progressão de uma implantação contínua com êxito, conforme descrito nas etapas anteriores.

![\[As etapas de um deslocamento de tráfego de uma implantação contínua com êxito da frota anterior para a nova frota.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/deployment-guardrails-rolling-diagram.png)


Para criar uma implantação contínua, basta especificar a configuração de implantação desejada. Em seguida, a SageMaker IA gerencia o provisionamento de novas instâncias, o encerramento de instâncias antigas e a transferência de tráfego para você. Você pode criar e gerenciar sua implantação por meio da [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) SageMaker API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)e dos AWS Command Line Interface comandos existentes.

## Pré-requisitos
<a name="deployment-guardrails-prereqs"></a>

Antes de configurar uma implantação contínua, você deve criar CloudWatch alarmes da Amazon para monitorar as métricas do seu endpoint. Se qualquer alarme for disparado durante o período de incorporação, o tráfego começará a reverter para sua frota antiga. Para saber como configurar CloudWatch alarmes em um endpoint, consulte a página de pré-requisitos Configuração e monitoramento de reversão [automática](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-configuration.html). Para saber mais sobre CloudWatch alarmes, consulte Como [usar CloudWatch alarmes da Amazon no Guia CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) *do usuário da Amazon*.

Além disso, revise a página [Exclusões](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-exclusions.html) para garantir que seu endpoint atenda aos requisitos de uma implantação contínua.

## Determinar o tamanho do lote contínuo
<a name="deployment-guardrails-rolling-batch-size"></a>

Antes de atualizar seu endpoint, determine o tamanho do lote que você deseja usar para deslocar incrementalmente o tráfego para a nova frota.

Para implantações contínuas, você pode especificar um tamanho do lote que seja de 5 a 50% da capacidade da sua frota. Se você escolher um tamanho do lote grande, a implantação será concluída mais rapidamente. No entanto, lembre-se de que o endpoint requer mais capacidade durante a atualização, aproximadamente a sobrecarga do tamanho do lote. Se você escolher um tamanho do lote menor, a implantação demorará mais, mas você usará menos capacidade durante a implantação.

## Configurar uma implantação contínua
<a name="deployment-guardrails-rolling-configure"></a>

Quando estiver pronto para a implantação e configurar os CloudWatch alarmes para o endpoint, você poderá usar a [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API de SageMaker IA ou o comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) no para iniciar a AWS Command Line Interface implantação.

**Instrução para atualizar um endpoint**

O exemplo a seguir mostra como você pode atualizar seu endpoint com uma implantação contínua usando o método [update\$1endpoint](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/update_endpoint.html) do cliente Boto3 AI. SageMaker 

Para configurar a implantação contínua, use o exemplo e os campos a seguir.
+ Em `EndpointName`, use o nome do endpoint existente que você deseja atualizar.
+ Em `EndpointConfigName`, use o nome da configuração de endpoint que deseja usar.
+ No `AutoRollbackConfiguration` objeto, dentro do `Alarms` campo, você pode adicionar seus CloudWatch alarmes por nome. Crie uma entrada `AlarmName: <your-cw-alarm>` para cada alarme que você deseja usar.
+ Em `DeploymentConfig`, para o objeto `RollingUpdatePolicy`, especifique os seguintes campos:
  + `MaximumExecutionTimeoutInSeconds`: O limite de tempo para a implantação total. Exceder esse limite causa um tempo limite. O valor máximo que você pode especificar para esse campo é 28800 segundos ou 8 horas.
  + `WaitIntervalInSeconds`— A duração do período de cozimento, durante o qual a SageMaker IA monitora os alarmes para cada lote da nova frota.
  + `MaximumBatchSize`: Especifique o `Type` do lote que você deseja usar (contagem de instâncias ou porcentagem geral da sua frota) e o `Value` ou o tamanho de cada lote.
  + `RollbackMaximumBatchSize`: Use este objeto para especificar a estratégia de reversão caso um alarme dispare. Especifique o `Type` do lote que você deseja usar (contagem de instâncias ou porcentagem geral da sua frota) e o `Value` ou o tamanho de cada lote. Se você não especificar esses campos ou definir o valor como 100% do seu endpoint, a SageMaker IA usa uma estratégia de blue/green reversão e reverte todo o tráfego para a frota antiga quando um alarme dispara.

```
import boto3
client = boto3.client("sagemaker")

response = client.update_endpoint(
    EndpointName="<your-endpoint-name>",
    EndpointConfigName="<your-config-name>",
    DeploymentConfig={
        "AutoRollbackConfiguration": {
            "Alarms": [
                {
                    "AlarmName": "<your-cw-alarm>"
                },
            ]
        },
        "RollingUpdatePolicy": { 
            "MaximumExecutionTimeoutInSeconds": number,
            "WaitIntervalInSeconds": number,
            "MaximumBatchSize": {
                "Type": "INSTANCE_COUNT" | "CAPACITY_PERCENTAGE" (default),
                "Value": number
            },
            "RollbackMaximumBatchSize": {
                "Type": "INSTANCE_COUNT" | "CAPACITY_PERCENTAGE" (default),
                "Value": number
            },
        }  
    }
)
```

Depois de atualizar seu endpoint, você pode verificar o status da sua implantação contínua e verificar a integridade do seu endpoint. Você pode revisar o status do seu endpoint no console de SageMaker IA ou pode revisar o status do seu endpoint usando a [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API.

No objeto `VariantStatus` retornado pela API `DescribeEndpoint`, o campo `Status` informa a implantação atual ou o status da operação do seu endpoint. Para obter mais informações sobre os possíveis status e o que eles significam, consulte [ProductionVariantStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariantStatus.html).

Se você tentou realizar uma implantação contínua e o status do seu endpoint é `UpdateRollbackFailed`, consulte a seção a seguir para obter ajuda na solução de problemas.

## Tratamento de falhas
<a name="deployment-guardrails-rolling-failures"></a>

Se houver falha nas implantações contínuas e na reversão automática, seu endpoint poderá ficar com o status de `UpdateRollbackFailed`. Esse status significa que diferentes configurações de endpoint foram implantadas nas instâncias por trás do seu endpoint e seu endpoint está em serviço com uma combinação de configurações de endpoint antigas e novas.

Você pode fazer outra chamada para a [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API para retornar seu endpoint a um estado íntegro. Especifique a configuração de endpoint e a configuração de implantação desejadas (como uma implantação contínua, uma implantação azul/verde ou nenhuma) para atualizar seu endpoint.

Você pode chamar a [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API para verificar novamente a integridade do seu endpoint, que é retornada no `VariantStatus` objeto como `Status` campo. Se sua atualização tiver êxito, o `Status` do endpoint retornará a `InService`.

# Exclusions
<a name="deployment-guardrails-exclusions"></a>

Ao fazer uma implantação azul/verde ou contínua, sua nova configuração de endpoint deve ter o mesmo nome de variante da configuração antiga do endpoint. Também há exclusões baseadas em atributos que tornam seu endpoint incompatível com as barreiras de proteção de implantação no momento. Se seu endpoint usa algum dos seguintes atributos, você não pode usar barreiras de proteção de implantação em seu endpoint, e seu endpoint voltará a usar uma implantação azul/verde com mudanças de tráfego de uma só vez e sem período final de cálculo:
+ Marketplace de contêineres
+ Endpoints que usam instâncias Inf1 (baseadas em inferência)

Se você estiver fazendo uma implantação contínua, há outras exclusões baseadas em atributos:
+ Endpoints de inferência sem servidor
+ Endpoints de inferência multivariante