Recomendaciones

Recomendadores

Un sistema de recomendaciones es un servicio de Google Cloud que ofrece recomendaciones de optimización para Google Cloud productos y recursos.

Cada sistema de recomendación le permite ver y gestionar sus recomendaciones y estadísticas mediante uno o varios de los siguientes clientes:

  • Centro de recomendaciones
  • En contexto, usando la interfaz de usuario (IU) del servicio en la Google Cloud consola
  • API REST o Google Cloud CLI

Para obtener información sobre los recomendadores y los clientes admitidos, consulta Recomendadores.

Cada recomendador tiene un ID único que identifica el servicio. El ID del recomendador se usa al interactuar con las recomendaciones mediante los comandos gcloud del recomendador o las APIs REST o RPC.

Para obtener más información, consulta Recomendadores.

Recomendaciones

Una recomendación es una sugerencia generada por una máquina para optimizar el uso de los recursos de Cloud. Incluye los pasos necesarios para aplicar la recomendación. Los recomendadores proporcionan recomendaciones basadas en el uso de tus recursos mediante aprendizaje automático o heurísticas. Recommender almacena las recomendaciones mediante la entidad Recommendation.

Una recomendación tiene los siguientes atributos principales:

Nombre

El nombre de la recomendación se almacena en el campo name de la entidad Recommendation. Este es el nombre de la recomendación en el siguiente formato:

projects/TARGET_PROJECT_ID/locations/LOCATION/recommenders/RECOMMENDER_ID/recommendations/RECOMMENDATION_ID

donde:

  • TARGET_PROJECT_ID es el ID del proyecto en el que se ha hecho la recomendación.
  • LOCATION es la Google Cloud ubicación en la que se encuentran los recursos asociados a las recomendaciones (por ejemplo, global o us-central1-a).
  • RECOMMENDER_ID es el ID del recomendador completo (por ejemplo, google.compute.instance.MachineTypeRecommender).
  • RECOMMENDATION_ID es un ID único de la recomendación.

Descripción

La descripción de la recomendación se almacena en el campo description de la entidad Recommendation. Solo está disponible en inglés. Es un texto legible por humanos que describe la recomendación. En la Google Cloud consola, la descripción aparece cuando haces clic para ver más detalles de la recomendación.

Subtipo de recomendación

Un recomendador puede tener subtipos para tipos específicos de recomendaciones. Por ejemplo, el recomendador de roles de Gestión de Identidades y Accesos tiene los subtipos REPLACE_ROLE y REMOVE_ROLE. Con el tiempo, se pueden introducir nuevos subtipos en los recomendadores actuales. En este resumen se ofrece una lista de todos los recomendadores disponibles. Consulta la documentación de Recommender para obtener más información sobre los subtipos de recomendaciones disponibles.

Impacto de las recomendaciones

El impacto cuantifica las ventajas previstas de llevar a cabo la acción recomendada. Cada recomendación puede tener los siguientes tipos de impacto, que representan los resultados que se pueden obtener al aplicarla:

  • El impacto principal es obligatorio y se almacena en el campo primaryImpact de la entidad Recommendation.

  • Los impactos secundarios son opcionales y se almacenan en el campo additionalImpact.

Hay los siguientes tipos de impacto primario y secundario:

  • COST: importe estimado que se prevé que ahorrarás (o que tendrás que pagar) si aplicas una recomendación determinada. Consulta el campo cost de CostProjection para obtener más información.

  • PERFORMANCE: aumento o disminución estimados del rendimiento. Ten en cuenta que algunas recomendaciones de rendimiento pueden conllevar costes adicionales (por ejemplo, si se recomienda aumentar la asignación de CPU o de memoria en una máquina virtual sobreutilizada).

  • SECURITY: mejora estimada de la postura de seguridad. Consulta los detalles en el campo details de SecurityProjection.

  • MANAGEABILITY: reducción estimada del esfuerzo manual.

  • SUSTAINABILITY: reducción estimada de las emisiones de carbono. Para obtener más información, consulta el campo carbon_footprint_kg_co2 en SustainabilityProjection y Metodología de creación de informes de Huella de carbono.

Operación

Una Operation es la acción individual que debe realizarse como uno de los pasos atómicos de una recomendación sugerida. Las operaciones pueden representar los siguientes cambios:

  • Añade, elimina o sustituye campos de objetos JSON en un Google Cloud recurso.
  • Añadir, quitar o sustituir campos de matriz JSON en un Google Cloud recurso. Los elementos de la matriz JSON se identifican definiendo un filtro en la ruta.
  • Añade un nuevo Google Cloud recurso.
  • Elimina un Google Cloud recurso.
  • Operaciones de prueba para indicar el estado original del recurso. Las operaciones de prueba también se pueden usar para verificar el estado actual de un recurso antes de aplicar la recomendación.
  • Copia y mueve Google Cloud recursos y campos.

Cada Operation se basa en el formato JSON Path (RFC 6902) para los parches. Se ha seleccionado este RFC porque proporciona una forma más coherente de reflejar los cambios en los recursos, incluidos los casos complejos que se suelen encontrar en Google Cloud. Por ejemplo, las recomendaciones de gestión de identidades y accesos implican arrays anidados para reflejar el cambio de la vinculación de roles de un principal a otro rol.

Para cada recurso, se puede generar una lista de cambios (vista basada en diferencias) de la siguiente manera:

  • Estado original: las operaciones de prueba representan el valor original de un campo. Representa la parte izquierda de la vista de diferencias.
  • Estado recomendado: las operaciones que no son de prueba representan los cambios recomendados por campo. Representa la parte derecha de la vista de diferencias.

Grupos de operaciones

Un grupo de operaciones es un conjunto de una o varias operaciones que deben realizarse en un orden específico cuando se aplica una recomendación. Una recomendación puede tener uno o varios grupos de operaciones. Los grupos de operaciones se almacenan en el campo operationGroups de la entidad Recommendation.

Por ejemplo, una recomendación que sugiera que cambies el tipo de máquina de la instancia de VM de un grupo de instancias de Compute Engine tiene dos grupos de operaciones: uno en el que cambias el tipo de máquina en la plantilla de instancia y otro en el que aplicas el cambio a un grupo de instancias concreto.

Como el primer conjunto de operaciones debe completarse antes de que se pueda iniciar el segundo, se definen como dos grupos de instancias independientes en la recomendación.

Un grupo de operaciones puede incluir una operación de prueba. Las operaciones de prueba realizan comprobaciones para asegurarse de que una recomendación sigue siendo válida. La recomendación que sugiere cambiar el tipo de máquina de la instancia de VM tiene una operación de prueba que comprueba si el tipo de máquina actual es el mismo que cuando se hizo la recomendación.

Estado

Las recomendaciones pasan por muchas transiciones de estado después de proponerse. Una recomendación puede tener los siguientes estados:

  • ACTIVE, lo que significa que se ha hecho la recomendación, pero no se ha tomado ninguna medida al respecto. Para aplicar la recomendación, debe reclamarla. Las recomendaciones activas se pueden actualizar cuando cambian los recursos.
  • CLAIMED, lo que significa que tú u otro proceso ha reclamado la recomendación y que se está trabajando en una respuesta. Cuando se reclama una recomendación, Recommender no la actualiza cuando cambian los recursos.
  • SUCCEEDED, lo que significa que tú u otro proceso habéis aplicado la recomendación al recurso asociado.
  • FAILED, lo que significa que no se ha podido aplicar la recomendación.
  • DISMISSED, lo que significa que tú u otro proceso habéis rechazado la recomendación sin aplicarla al recurso asociado. Este estado impide que la recomendación aparezca en la lista de recomendaciones y suele aplicarlo un administrador que la ha invalidado por varios motivos. También evita que una recomendación pase al estado CLAIMED.

La información sobre el estado de la recomendación se almacena en el campo stateInfo de la entidad Recommendation. Esto incluye el estado de la recomendación y los metadatos de estado adicionales por recomendador.

Cuando una recomendación cambia al estado CLAIMED, SUCCEEDED o FAILED, el contenido de la recomendación no se actualiza y tiene una duración de 90 días a partir del momento en que se produce el cambio de estado.

etag

Un etag es una huella digital única que identifica el estado actual de una recomendación. Cada vez que cambia la recomendación, se asigna un nuevo valor de etag. Este valor se almacena en el campo etag de la entidad Recommender.

Después de obtener una recomendación de Recommender mediante comandos gcloud o llamadas a la API, puedes hacer referencia a ella en operaciones posteriores usando tanto el ID de la recomendación como el etag. De esta forma, las operaciones solo se realizan si la recomendación no ha cambiado desde la última vez que la consultaste.

Prioridad

La prioridad de una recomendación indica qué acciones se deben abordar primero. Este campo incluye los valores P1, P2, P3 y P4, con P4 como prioridad predeterminada. Cada recomendador puede tener definida su propia estrategia de priorización.

Metadatos de estado

Cuando reclamas una recomendación o la marcas como completada o fallida, puedes incluir metadatos adicionales sobre la operación con metadatos de estado.

Los metadatos se especifican como pares key:value. Por ejemplo:

{
  "stateMetadata": {
    "priority" : "high",
    "tracking_number": "12345" }
}

Si se actualiza el campo stateMetadata, se sobrescribirán los metadatos de estado.

Última actualización

La última actualización indica cuándo se actualizó la recomendación por última vez durante el proceso de generación. El contenido de la recomendación refleja el estado de los recursos en el momento de la última actualización.

Ejemplos

En el siguiente ejemplo se muestra una recomendación de tamaño para una instancia de VM de 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 más ejemplos de recomendaciones, consulta la documentación de los recomendadores individuales en Recomendadores.

Referencia de estadísticas

Referencia a una estadística asociada. Las referencias vinculan las recomendaciones con las estadísticas asociadas, si las hubiera.

Configuración

Con la configuración de las recomendaciones, puedes hacer lo siguiente:

  • Personalizar la forma en que se generan las estadísticas y las recomendaciones. Para ello, se modifican algunos de los parámetros de configuración que se usan para generar estas estadísticas y recomendaciones.
  • Cada configuración de recomendador empieza con algunos valores predeterminados para cada parámetro. Cada parámetro tiene un intervalo de valores que puede usar para personalizar la configuración.
  • La configuración activa es la que modificaste por última vez. Cada vez que se modifica la configuración, esta tarda hasta 48 horas en aplicarse.

Por ejemplo, puedes configurar un umbral de CPU predeterminado o un periodo de observación para crear recomendaciones que se adapten mejor a tus cargas de trabajo, aplicaciones y necesidades de infraestructura.

Con la API de configuración, puede obtener la configuración de un tipo de recomendación o de estadística. Puedes actualizar los parámetros de configuración de un solo proyecto. Cada configuración de recomendador o tipo de estadística requiere permisos específicos para ver y modificar los parámetros de configuración.

A continuación, se muestra un ejemplo de respuesta que contiene parámetros de configuración para un recomendador de máquinas virtuales inactivas:

{
  "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"
}