

# Avaliar as políticas de escalabilidade preditiva para o Amazon ECS
<a name="predictive-scaling-graphs"></a>

Antes de usar uma política de escalabilidade preditiva para escalar seus serviços, revise as recomendações e outros dados da política no console do Amazon ECS. Isso é importante porque você não quer que uma política de escalabilidade preditiva escale sua capacidade real até saber que suas previsões estão corretas.

Se o serviço for novo, aguarde 24 horas para criar a primeira previsão.

Ao criar uma previsão, o AWS usa dados históricos. Se seu serviço ainda não tiver muitos dados históricos recentes, a escalabilidade preditiva poderá preencher temporariamente a previsão com agregados criados com base nos agregados históricos disponíveis no momento. As previsões são preenchidas até duas semanas anteriores à data de criação da política.

## Visualizar recomendações de escalabilidade preditiva
<a name="view-predictive-scaling-recommendations"></a>

Para realizar uma análise eficaz, o ajuste de escala automático do serviço deve ter pelo menos duas políticas de escalabilidade preditiva para comparação. (Porém, ainda é possível analisar as conclusões de uma única política.) Ao criar várias políticas, é possível avaliar uma política que usa uma métrica em relação a uma política que usa outra métrica. Também é possível avaliar o impacto de diferentes combinações de valores de destino e métricas. Depois que as políticas de escalabilidade preditiva são criadas, o Amazon ECS imediatamente começa a avaliar qual política faria um trabalho melhor ao escalar seu grupo.

**Para visualizar suas recomendações no console do Amazon ECS**

1. Abra o console em [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Na página **Clusters**, escolha o cluster.

1. Na página de detalhes do cluster, na seção **Serviços**, escolha o serviço.

   A página de detalhes do serviço é exibida.

1. Escolha **Ajuste de escala automático do serviço**.

1. Escolha a política de escalabilidade preditiva e, em seguida, escolha **Ações**, **Escalabilidade preditiva** e **Visualizar recomendação**.

   Você pode visualizar detalhes sobre uma política junto com nossa recomendação. A recomendação indica se é melhor usar a política de escalabilidade preditiva ou não usá-la. 

   Se você não tiver certeza se uma política de escalabilidade preditiva é apropriada para seu grupo, analise as colunas **Impacto na disponibilidade** e **Impacto no custo** para escolher a política certa. As informações de cada coluna indicam qual é o impacto da política. 
   + **Impacto na disponibilidade**: descreve se a política evitaria um impacto negativo na disponibilidade ao provisionar tarefas suficientes para lidar com a workload em comparação com não usar a política.
   + **Impacto no custo**: descreve se a política evitaria um impacto negativo em seus custos ao não provisionar em excesso as tarefas em comparação com não usar a política. Com o provisionamento excessivo, seus serviços tornam-se subutilizados ou ociosos, o que só aumenta o impacto nos custos.

   Se você tiver várias políticas, uma etiqueta **Melhor previsão** será exibida ao lado do nome da política que oferece mais benefícios de disponibilidade a um custo menor. O impacto na disponibilidade tem um peso maior. 

1. (Opcional) Para selecionar o período de tempo desejado para os resultados da recomendação, escolha o valor de sua preferência no menu suspenso **Período de avaliação**: **2 dias**, **1 semana** ou **2 semanas**. Por padrão, o período de avaliação são as duas últimas semanas. Um período de avaliação mais longo oferece mais pontos de dados para os resultados da recomendação. Porém, adicionar mais pontos de dados pode não melhorar os resultados, se seus padrões de carga tiverem sido alterados, como após um período de demanda excepcional. Nesse caso, é possível obter uma recomendação mais focada analisando dados mais recentes.

**nota**  
As recomendações são geradas somente para políticas que estão no modo **Somente previsão**. O recurso de recomendações funciona melhor quando uma política está no modo **Somente previsão** durante o período de avaliação. Se você iniciar uma política no modo de **Prever e escalar** e alterná-la para o modo **Somente previsão** posteriormente, é provável que as conclusões dessa política tenham desvios. Isso ocorre porque a política já contribuiu em favor da capacidade real.

## Analisar grafos de monitoramento de escalabilidade preditiva
<a name="review-predictive-scaling-monitoring-graphs"></a>

No console, é possível analisar a previsão dos dias, semanas ou meses anteriores para visualizar a performance da política ao longo do tempo. Você também pode usar essas informações para avaliar a precisão das previsões ao decidir se permitirá que uma política escale o número real de tarefas.

**Para revisar grafos de monitoramento de escalabilidade preditiva no console do Amazon ECS**

1. Abra o console em [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Na página **Clusters**, escolha o cluster.

1. Na página de detalhes do cluster, na seção **Serviços**, escolha o serviço.

   A página de detalhes do serviço é exibida.

1. Escolha **Ajuste de escala automático do serviço**.

1. Escolha a política de escalabilidade preditiva e, em seguida, escolha **Ações**, **Escalabilidade preditiva** e **Visualizar grafo**.

1. Na seção **Monitorar**, você pode visualizar as previsões passadas e futuras de carga e de capacidade da política em relação aos valores reais. O grafo **Carga** exibe a previsão de carga e os valores reais para a métrica de carga escolhida. O grafo **Capacidade** mostra o número de tarefas previstas pela política. Também inclui o número real de tarefas iniciadas. A linha vertical separa os valores históricos das previsões futuras. Esses grafos ficam disponíveis logo após a criação da política. 

1. (Opcional) Para alterar a quantidade de dados históricos exibidos no gráfico, escolha o valor de sua preferência no menu suspenso **Período de avaliação** na parte superior da página. O período de avaliação não transforma os dados desta página de maneira alguma. Ele altera apenas a quantidade de dados históricos exibidos.

**Compare dados no grafo **Carga****  
Cada linha horizontal representa um conjunto diferente de pontos de dados relatados em intervalos de uma hora:

1. A **Carga real observada** usa a estatística SUM da métrica de carga escolhida para exibir a carga horária total no passado.

1. A **Carga prevista pela política** exibe a previsão de carga horária. Essa previsão é baseada nas duas semanas anteriores de observações da carga real.

**Compare dados no grafo **Capacidade****  
Cada linha horizontal representa um conjunto diferente de pontos de dados relatados em intervalos de uma hora:

1. **Número real de tarefas observado** mostra a capacidade real do serviço do Amazon ECS no passado, o que depende de suas outras políticas de escalabilidade e do tamanho mínimo do grupo em vigor no período selecionado.

1. **Capacidade prevista pela política** exibe a capacidade básica que você pode esperar ter no início de cada hora quando a política estiver no modo de **Prever e escalar**.

1. **Número de tarefas necessário inferido** mostra o número ideal de tarefas em seu serviço para manter a métrica de escalabilidade no valor de destino que você escolheu.

1. **Número mínimo de tarefas** mostra o número mínimo de tarefas em seu serviço.

1. **Capacidade máxima** mostra o número máximo de tarefas em seu serviço.

Com o objetivo de calcular a capacidade necessária inferida, começamos supondo que cada tarefa é igualmente utilizada em um valor de destino especificado. Na prática, o número de tarefas não é utilizado igualmente. Porém, ao supor que a utilização é distribuída uniformemente entre tarefas, podemos fazer uma estimativa da probabilidade de quantidade de capacidade necessária. O requisito de número de tarefas é calculado de modo a ser inversamente proporcional à métrica de escalabilidade que você usou para sua política de escalabilidade preditiva. Em outras palavras, à medida que o número de tarefas aumenta, a métrica de escalabilidade diminui na mesma proporção. Por exemplo, se o número de tarefas dobra, a métrica de escalabilidade deve diminuir pela metade. 

A fórmula da capacidade necessária inferida:

 `sum of (actualServiceUnits*scalingMetricValue)/(targetUtilization)`

Por exemplo, pegamos `actualServiceUnits` (`10`) e `scalingMetricValue` (`30`) para determinada hora. Em seguida, pegamos a `targetUtilization` especificada em sua política de escalabilidade preditiva (`60`) e calculamos a capacidade necessária inferida para a mesma hora. Isso retorna um valor de `5`. Isso significa que cinco é a quantidade inferida de capacidade necessária para manter a capacidade em proporção inversa direta ao valor de destino da métrica de escala.

**nota**  
Há várias alavancas disponíveis para você ajustar e melhorar a economia de custos e a disponibilidade de sua aplicação.  
Utilize escalabilidade preditiva para a capacidade de linha de base e escalabilidade dinâmica para lidar com capacidade adicional. A escalabilidade dinâmica funciona independentemente da escalabilidade preditiva, aumentando e reduzindo a escala horizontalmente com base na utilização atual. Primeiro, o Amazon ECS calcula o número recomendado de tarefas para cada política de escalabilidade não programada. Em seguida, ele escala com base na política que fornece o maior número de tarefas.
Para permitir que a redução da escala horizontalmente ocorra quando a carga diminui, seu serviço deve sempre ter pelo menos uma política de escalabilidade dinâmica com a parte de redução da escala horizontalmente habilitada.
Você pode melhorar a performance da escalabilidade verificando se a capacidade mínima e máxima não são muito restritivas. Uma política com um número recomendado de tarefas que não esteja dentro da faixa de capacidade mínima e máxima será impedida de aumentar e reduzir a escala horizontalmente.

# Monitorar métricas de escalabilidade preditiva para Amazon ECS com o CloudWatch
<a name="predictive-scaling-monitoring"></a>

É possível usar o Amazon CloudWatch para monitorar seus dados para escalabilidade preditiva. Uma política de escalabilidade preditiva coleta dados que são usados para prever sua carga futura. Os dados coletados são armazenados automaticamente no CloudWatch em intervalos regulares e podem ser usados para visualizar a performance da política ao longo do tempo. Você também pode criar alarmes do CloudWatch para receber uma notificação quando os indicadores de desempenho mudarem além dos limites definidos por você.

## Visualizar dados históricos de previsão
<a name="visualize-historical-forecast-data"></a>

Os dados de previsão de carga para uma política de escalabilidade preditiva podem ser visualizados no CloudWatch e podem ser úteis ao visualizar previsões em relação a outras métricas do CloudWatch em um único grafo. Você também pode ver tendências ao longo do tempo visualizando um intervalo de tempo mais amplo. É possível acessar até 15 meses de métricas históricas a fim de obter uma melhor visão do desempenho da política.

**Para visualizar dados históricos de previsão usando o console do CloudWatch**

1. Abra o console do CloudWatch, em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. No painel de navegação, escolha **Metrics** (Métricas) e, em seguida, **All metrics** (Todas as métricas).

1. Selecione o namespace da métrica **Ajuste de escala automático da aplicação**.

1. Escolha **Previsões de carga de escalabilidade preditiva**.

1. No campo de pesquisa, insira o nome da política de escalabilidade preditiva ou o nome do grupo do serviço do Amazon ECS e pressione a tecla Enter para filtrar os resultados. 

1. Para criar um gráfico de uma métrica, marque a caixa de seleção ao lado da métrica. Para alterar o nome do gráfico, escolha o ícone de lápis. Para alterar o período, selecione um dos valores predefinidos ou escolha **custom (personalizado)**. Para obter mais informações, consulte [Representar uma métrica em gráficos](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph_a_metric.html) no *Guia do usuário do Amazon CloudWatch*.

1. Para alterar a estatística, escolha a guia **Métricas em gráfico**. Escolha o cabeçalho de coluna ou um valor individual e, em seguida, escolha uma estatística diferente. Embora seja possível escolher qualquer estatística para cada métrica, nem todas as estatísticas são úteis para as métricas **PredictiveScalingLoadForecast**. Por exemplo, as estatísticas **Média**, **Mínimo** e **Máximo** são úteis, mas a estatística **Soma** não.

1. Para adicionar outra métrica ao gráfico, em **Browse** (Procurar), escolha **All** (Todas), encontre a métrica específica e marque a caixa de seleção ao lado dela. Adicione até 10 métricas.

1. (Opcional) Para adicionar o gráfico a um painel do CloudWatch, escolha **Actions** (Ações), **Add to dashboard** (Adicionar ao painel).

## Criar métricas de precisão usando matemática métrica
<a name="create-accuracy-metrics"></a>

Com matemática métrica, você pode consultar várias métricas do CloudWatch e usar expressões matemáticas para criar novas séries temporais de acordo com essas métricas. Você pode visualizar as séries temporais resultantes no console do CloudWatch e adicioná-las aos painéis. Para obter mais informações sobre matemática métrica, consulte [Usar matemática métrica](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html) no *Guia do usuário do Amazon CloudWatch*.

Usando matemática métricas, é possível representar graficamente de diferentes maneiras os dados gerados pelo ajuste de escala automático para a escalabilidade preditiva. Isso ajuda a monitorar o desempenho da política ao longo do tempo e a entender se é possível melhorar sua combinação de métricas.

Por exemplo, você pode usar uma expressão de matemática métrica para monitorar o [mean absolute percentage error](https://en.wikipedia.org/wiki/Mean_absolute_percentage_error) (MAPE – Erro percentual absoluto médio). A métrica MAPE ajuda a monitorar a diferença entre os valores previstos e os valores efetivos observados durante uma determinada janela de previsão. Mudanças no valor de MAPE podem indicar se o desempenho da política está se degradando ao longo do tempo conforme a natureza da sua aplicação muda. Um aumento no MAPE sinaliza uma lacuna maior entre os valores previstos e os valores efetivos. 

**Exemplo: expressão de matemática métrica**

Para começar a usar esse tipo de gráfico, você pode criar uma expressão de matemática métrica como a mostrada no exemplo a seguir.



Em vez de uma só métrica, há uma matriz de estruturas de consulta de dados métricos para `MetricDataQueries`. Cada item em `MetricDataQueries` obtém uma métrica ou executa uma expressão matemática. O primeiro item, `e1`, é a expressão matemática. A expressão designada define o parâmetro `ReturnData` como `true`, resultando na produção de uma única série temporal. Para todas as outras métricas, o valor `ReturnData` é `false`. 

No exemplo, a expressão designada usa os valores efetivos e previstos como entrada, e retorna a nova métrica (MAPE). `m1` é a métrica do CloudWatch que contém os valores efetivos de carga (supondo que a utilização de CPU seja a métrica de carga originalmente especificada para a política denominada `my-predictive-scaling-policy`). `m2` é a métrica do CloudWatch que contém os valores previstos de carga. A sintaxe matemática para a métrica MAPE é a seguinte:

*média de (abs ((efetivo - previsto)/(efetivo)))*

### Visualizar suas métricas de precisão e definir alarmes
<a name="visualize-accuracy-metrics-set-alarms"></a>

Para visualizar os dados da métrica de precisão, selecione a guia **Metrics** (Métricas) no console do CloudWatch. Nele, é possível representar graficamente os dados. Para obter mais informações, consulte [Adição de uma expressão matemática a um gráfico do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#adding-metrics-expression-console) no *Guia do usuário do Amazon CloudWatch*.

Na seção **Metrics** (Métricas), você também pode criar um alarme com base em uma métrica que esteja monitorando. Enquanto estiver na guia **Graphed metrics** (Métricas representadas em gráficos), selecione o ícone **Create alarm** (Criar alarme) na coluna **Actions** (Ações). O ícone **Create alarm** (Criar alarme) é representado como um pequeno sino. Para obter mais informações e opções de notificação, consulte [Criação de um alarme do CloudWatch com base em uma expressão matemática de métrica](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Create-alarm-on-metric-math-expression.html) e [Notificação de usuários sobre alterações de alarme no Guia do usuário ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Notify_Users_Alarm_Changes.html) do *Amazon CloudWatch*.

Como alternativa, você pode usar [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html) e [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) para realizar cálculos usando matemática métrica e criar alarmes com base na saída.