Recomendações
Recomendadores
Um motor de recomendações é um serviço no Google Cloud que fornece recomendações de otimização para Google Cloud produtos e recursos.
Cada motor de recomendações permite-lhe ver e gerir as respetivas recomendações e estatísticas através de um ou mais dos seguintes clientes:
- Active Assist
- No contexto, através da interface do utilizador (IU) do serviço na Google Cloud consola
- API REST ou CLI do Google Cloud
Para ver detalhes sobre os recomendadores e os clientes suportados, consulte o artigo Recomendadores.
Cada motor de recomendações tem um ID do motor de recomendações exclusivo que identifica o serviço. Usa o ID do recomendador quando interage com recomendações através dos comandos gcloud
do recomendador ou das APIs REST ou RPC.
Para mais informações, consulte o artigo Sistemas de recomendação.
Recomendações
Uma recomendação é uma sugestão gerada automaticamente para otimizar a sua utilização dos recursos da Google Cloud. Inclui os passos necessários para tomar medidas relativamente à recomendação. Os sistemas de recomendações fornecem recomendações com base na sua utilização de recursos, através de aprendizagem automática ou heurísticas. O recomendador armazena as recomendações através da entidade Recommendation
.
Uma recomendação tem os seguintes atributos principais:
- Nome
- Descrição
- Subtipo de recomendador
- Impacto
- Operação
- Grupos de operações
- Informações do estado
- etag
- Prioridade
- Metadados de estado
- Hora da última atualização
- Referência de estatísticas
- Configuração
Nome
O nome da recomendação é armazenado no campo name
da entidade Recommendation
. Este é o nome da recomendação no seguinte formato:
projects/TARGET_PROJECT_ID/locations/LOCATION/recommenders/RECOMMENDER_ID/recommendations/RECOMMENDATION_ID
where:
- TARGET_PROJECT_ID é o ID do projeto onde a recomendação foi feita.
- LOCATION é a Google Cloud
localização onde se encontram os recursos associados às
recomendações (por exemplo,
global
ouus-central1-a
). - RECOMMENDER_ID é o ID do recomendador totalmente qualificado (por exemplo,
google.compute.instance.MachineTypeRecommender
). - RECOMMENDATION_ID é um ID exclusivo da recomendação.
Descrição
A descrição da recomendação é armazenada no campo description
da entidade Recommendation
. Só está disponível em inglês. Este é um texto legível que descreve a recomendação. Na Google Cloud consola, a descrição
é apresentada quando clica para ver detalhes adicionais da recomendação.
Subtipo de recomendador
Um recomendador pode ter subtipos para tipos específicos de recomendações. Por exemplo, o recomendador de funções da gestão de identidade e de acesso tem os subtipos REPLACE_ROLE
e REMOVE_ROLE
. Podem ser introduzidos novos subtipos nos recomendadores existentes ao longo do tempo. Esta vista geral apresenta uma lista de todos os recomendadores disponíveis. Consulte a documentação do motor de recomendações para obter mais informações sobre os subtipos de recomendações disponíveis.
Impacto do recomendador
Um impacto quantifica as vantagens projetadas da execução da ação recomendada. Cada recomendação pode ter os seguintes tipos de impacto que representam resultados que podem ocorrer como resultado da aplicação da recomendação:
O impacto principal é obrigatório e é armazenado no campo
primaryImpact
da entidadeRecommendation
.Os impactos secundários são opcionais e armazenados no campo
additionalImpact
.
Existem os seguintes tipos de impacto principal e secundário:
COST
: valor estimado que se prevê que poupe (ou incorra) se aplicar uma determinada recomendação. Consulte o campocost
em CostProjection para ver detalhes.PERFORMANCE
: aumento ou diminuição estimados no desempenho. Tenha em atenção que algumas recomendações de desempenho podem resultar num custo adicional (por exemplo, se uma recomendação for aumentar a atribuição de CPU ou memória numa VM sobreutilizada).SECURITY
: Melhoria estimada na postura de segurança. Consulte o campodetails
em SecurityProjection para ver detalhes.MANAGEABILITY
: redução estimada do trabalho manual.SUSTAINABILITY
: redução estimada nas emissões de carbono. Consulte o campocarbon_footprint_kg_co2
em SustainabilityProjection e Metodologia de relatórios da pegada de carbono para ver detalhes.
Operação
Uma Operation
é a ação individual que tem de ser realizada como um dos passos atómicos numa recomendação sugerida. As operações podem representar as seguintes alterações:
- Adicione, remova ou substitua campos de objetos JSON num Google Cloud recurso.
- Adicione, remova ou substitua campos de matriz JSON num recurso Google Cloud . Os elementos da matriz JSON são identificados através da definição de um filtro no caminho.
- Adicione um novo Google Cloud recurso.
- Elimine um Google Cloud recurso.
- Operações de teste para indicar o estado original do recurso. As operações de teste também podem ser usadas para validar o estado atual de um recurso antes de aplicar a recomendação.
- Copiar e mover Google Cloud recursos e campos.
Cada Operation
baseia-se vagamente no formato JSON Path (RFC
6902) para patches. Esta RFC foi selecionada porque oferece uma forma mais consistente de refletir as alterações aos recursos, incluindo cenários complexos encontrados frequentemente no Google Cloud. Por exemplo, as recomendações da IAM envolvem matrizes aninhadas para refletir a
transferência da associação de funções de um principal para uma função diferente.
Para cada recurso, pode gerar uma lista de alterações (vista baseada em diferenças) da seguinte forma:
- Estado original: as operações de teste representam o valor original de um campo. Isto representa o lado esquerdo da vista de dif.
- Estado recomendado: as operações não de teste representam as alterações recomendadas por campo. Isto representa o lado direito da vista de dif.
Grupos de operações
Um grupo de operações é um conjunto de uma ou mais operações que têm de ser realizadas
numa ordem específica quando aplica uma recomendação. Uma recomendação pode ter um ou mais grupos de operações. Os grupos de operações são armazenados no campo operationGroups
na entidade Recommendation
.
Por exemplo, uma recomendação que sugere que altere o tipo de máquina da instância de VM para um grupo de instâncias do Compute Engine tem dois grupos de operações: um em que altera o tipo de máquina no modelo de instância e outro em que aplica a alteração a um grupo de instâncias específico.
Uma vez que o primeiro conjunto de operações tem de ser concluído antes de o segundo poder ser iniciado, estes são definidos como dois grupos de instâncias separados na recomendação.
Um grupo de operações pode incluir uma operação de teste. As operações de teste realizam verificações para garantir que uma recomendação continua válida. A recomendação que sugere alterar o tipo de máquina da instância de VM tem uma operação de teste que verifica se o tipo de máquina atual é o mesmo que quando a recomendação foi feita.
Estado
As recomendações passam por muitas transições de estado depois de serem propostas. Uma recomendação pode ter os seguintes estados:
ACTIVE
, o que significa que a recomendação foi feita, mas não foram tomadas medidas em resposta à mesma. Pode aplicar a recomendação reivindicando-a. As recomendações ativas podem ser atualizadas quando os recursos mudam.CLAIMED
, o que significa que a recomendação foi reivindicada por si ou por outro processo e que está em curso uma resposta à mesma. Quando uma recomendação é reivindicada, o Recommender não a atualiza quando os recursos mudam.SUCCEEDED
, o que significa que aplicou a recomendação ao recurso associado ou que outro processo o fez.FAILED
, o que significa que uma tentativa de aplicar a recomendação falhou.DISMISSED
, o que significa que você ou outro processo ignorou a recomendação sem a aplicar ao recurso associado. Este estado impede a apresentação da recomendação na lista de recomendações e é normalmente aplicado por um administrador que a invalidou por vários motivos. Também impede que uma recomendação passe para o estadoCLAIMED
.
As informações sobre o estado da recomendação são armazenadas no campo stateInfo
da entidade Recommendation
. Isto inclui o estado da recomendação e quaisquer metadados de estado adicionais por recomendador.
Quando uma recomendação é alterada para o estado CLAIMED
, SUCCEEDED
ou FAILED
,
o conteúdo da recomendação não é atualizado e a recomendação tem um
ciclo de vida de 90 dias a partir do momento da alteração do estado.
etag
Um etag é uma impressão digital exclusiva que identifica o estado atual de uma recomendação. Sempre que a recomendação muda, é atribuído um novo valor etag. Este valor é armazenado no campo etag
da entidade Recommender
.
Depois de obter uma recomendação do Recommender através de gcloud
comandos ou chamadas API, faz-lhe referência em operações subsequentes usando o ID da recomendação e o etag. Isto garante que as operações só são realizadas se a recomendação não tiver sido alterada desde a última vez que a obteve.
Prioridade
Uma prioridade
para uma recomendação ajuda a indicar que ações têm de ser abordadas primeiro.
Este campo inclui os valores P1
, P2
, P3
e P4
, com P4
definido como a prioridade predefinida.
Cada recomendador pode ter a sua própria estratégia de priorização definida.
Metadados de estado
Quando reivindica uma recomendação ou a marca como bem-sucedida ou com falhas, pode incluir metadados adicionais acerca da operação com metadados de estado.
Os metadados são especificados como pares key:value
. Por exemplo:
{
"stateMetadata": {
"priority" : "high",
"tracking_number": "12345" }
}
As atualizações ao campo stateMetadata
substituem os metadados de estado existentes.
Hora da última atualização
A hora da última atualização indica quando a recomendação foi atualizada pela última vez pelo processo de geração. O conteúdo da recomendação reflete o estado dos recursos na última hora de atualização.
Exemplos
O exemplo seguinte mostra uma recomendação de dimensionamento para uma instância de VM no Compute Engine.
{
"content": {
"operationGroups": [
{
"operations": [
{
"action": "test",
"path": "/machineType",
"resource": "//compute.googleapis.com/projects/example-project/zones/us-central1-a/instances/instance-rightsizing-2",
"resourceType": "compute.googleapis.com/Instance",
"valueMatcher": {
"matchesPattern": ".*zones/us-central1-a/machineTypes/n1-standard-4"
}
},
{
"action": "replace",
"path": "/machineType",
"resource": "//compute.googleapis.com/projects/example-project/zones/us-central1-a/instances/instance-rightsizing-2",
"resourceType": "compute.googleapis.com/Instance",
"value": "zones/us-central1-a/machineTypes/custom-2-5120"
}
]
}
]
},
"description": "Save cost by changing machine type from n1-standard-4 to custom-2-5120.",
"etag": "\"923daeebe926c12f\"",
"recommenderSubtype": "CHANGE_MACHINE_TYPE",
"lastRefreshTime": "2019-06-13T06:44:58Z",
"name": "projects/32428390823/locations/us-central1-a/recommenders/google.compute.instance.MachineTypeRecommender/recommendations/a523ff7e-ed03-4143-a3a5-5b396b99cba9",
"primaryImpact": {
"category": "COST",
"costProjection": {
"cost": {
"currencyCode": "USD",
"units": "-73"
},
"duration": "2592000s"
}
},
"stateInfo": {
"state": "ACTIVE"
}
}
Para ver mais exemplos de recomendações, consulte a documentação para recomendadores individuais em Recomendadores.
Referência de estatísticas
Referência a uma estatística associada. As referências associam as recomendações às respetivas estatísticas, se existirem.
Configuração
Através da configuração do motor de recomendações, pode fazer o seguinte:
- Personalizar a forma como as estatísticas e as recomendações são geradas. Isto é feito modificando alguns dos parâmetros de configuração usados para gerar estas estatísticas e recomendações.
- Cada configuração do motor de recomendações começa com alguns valores predefinidos para cada parâmetro. Cada parâmetro tem um intervalo de valores que pode usar para personalizar a configuração.
- A configuração ativa é a que modificou mais recentemente. Para cada alteração feita à configuração, a configuração demora até 48 horas a entrar em vigor.
Um exemplo de uma configuração do recomendador é definir um limite de CPU predefinido ou um período de observação para criar recomendações que se adequem melhor às suas cargas de trabalho, aplicações e necessidades de infraestrutura.
Com a API Configuration, pode obter a configuração de um tipo de recomendação ou estatística. Tem a opção de atualizar os parâmetros de configuração para um único projeto. Cada configuração de recomendador ou tipo de estatísticas requer autorizações específicas para ver e modificar os parâmetros de configuração.
Segue-se um exemplo de resposta que contém parâmetros de configuração para um recomendador de VMs inativas:
{
"name": "projects/project-number/locations/global/recommenders/google.iam.policy.Recommender/config",
"recommenderGenerationConfig": {
"params": {
"minimum_observation_period": "P90D",
}
},
"etag": "\"2f3c9b65cda6a4ba\"",
"updateTime": "2020-11-03T04:41:15.330351Z"
}