# Recommenders

A [recommender](https://docs.cloud.google.com/recommender/docs/key-concepts.md.txt#recommenders) is a service on
Google Cloud that provides usage recommendations for Google Cloud
resources. Recommenders are specific to a single Google Cloud product and
resource type. A single product can have multiple recommenders, where each
provides a different type of recommendation for a different resource.

Recommender has the following recommenders:

| Value Category | Name | Recommender ID | Short Description | Included in [BigQuery Export](https://docs.cloud.google.com/recommender/docs/bq-export/export-recommendations-to-bq.md.txt) |
|---|---|---|---|---|
| Cost | [BigQuery edition slot recommender](https://docs.cloud.google.com/bigquery/docs/slot-recommender.md.txt) | `google.bigquery.capacityCommitments.Recommender` | Optimize BigQuery spend with slot commitments | No |
| Cost | [Spend-based committed use discount recommender](https://docs.cloud.google.com/docs/cuds-recommender.md.txt) | `google.cloudbilling.commitment.SpendBasedCommitmentRecommender` | Reduce costs through spend-based commitments | No |
| Cost | [Spend-based committed use discount recommender](https://docs.cloud.google.com/docs/cuds-recommender.md.txt) | `google.cloudbilling.commitment.SpendBasedCommitmentRecommender` | Reduce costs through spend-based commitments | No |
| Cost | [BigQuery partitioning and clustering recommender](https://docs.cloud.google.com/bigquery/docs/view-partition-cluster-recommendations) | `google.bigquery.table.PartitionClusterRecommender` | Partition or cluster your tables | Yes |
| Cost | [Soft delete recommender](https://docs.cloud.google.com/storage/docs/soft-delete-recommender.md.txt) | `google.storage.bucket.SoftDeleteRecommender` | Enable or disable soft delete based on costs and security | No |
| Cost | [Cloud Run CPU allocation recommender](https://docs.cloud.google.com/run/docs/recommender.md.txt) | `google.run.service.CostRecommender` | Switch to CPU always allocated | Yes |
| Cost | [Cloud SQL idle instance recommender](https://docs.cloud.google.com/sql/docs/mysql/recommender-sql-idle.md.txt) | `google.cloudsql.instance.IdleRecommender` | Remove unused SQL instances | Yes |
| Cost | [Cloud SQL overprovisioned instance recommender](https://docs.cloud.google.com/sql/docs/mysql/recommender-sql-overprovisioned.md.txt) | `google.cloudsql.instance.OverprovisionedRecommender` | Resize overprovisioned SQL instances | Yes |
| Cost | [Resource-based committed use discount recommender](https://docs.cloud.google.com/docs/cuds-recommender.md.txt) | `google.compute.commitment.UsageCommitmentRecommender` | Reduce costs through Compute Engine resource-based commitments | Yes |
| Cost | [Idle custom image recommender](https://docs.cloud.google.com/compute/docs/viewing-and-applying-idle-resources-recommendations.md.txt) | `google.compute.image.IdleResourceRecommender` | Remove unused images | Yes |
| Cost | [Idle GKE cluster recommender](https://docs.cloud.google.com/kubernetes-engine/docs/how-to/idle-clusters.md.txt) | `google.container.DiagnosisRecommender` | Remove unused GKE clusters | Yes |
| Cost | [Idle IP address recommender](https://docs.cloud.google.com/compute/docs/viewing-and-applying-idle-resources-recommendations.md.txt) | `google.compute.address.IdleResourceRecommender` | Remove unused IPs | Yes |
| Cost | [Idle persistent disk recommender](https://docs.cloud.google.com/compute/docs/viewing-and-applying-idle-resources-recommendations.md.txt) | `google.compute.disk.IdleResourceRecommender` | Backup and remove unused disks | Yes |
| Cost | [Idle VM recommender](https://docs.cloud.google.com/compute/docs/instances/idle-vm-recommendations-overview.md.txt) | `google.compute.instance.IdleResourceRecommender` | Remove unused VMs | Yes |
| Cost | [Idle reservations recommender](https://docs.cloud.google.com/compute/docs/instances/reservation-recommendations-overview.md.txt) | `google.compute.IdleResourceRecommender` | Delete unused resource reservations | Yes |
| Cost | [Underutilized reservations recommender](https://docs.cloud.google.com/compute/docs/instances/reservation-recommendations-overview.md.txt) | `google.compute.RightSizeResourceRecommender` | Right-size underutilized reservations | Yes |
| Security | [Identity and Access Management recommender](https://docs.cloud.google.com/iam/docs/recommender-overview) | `google.iam.policy.Recommender` | Remove excess permissions | Yes |
| Security | [Cloud Run Service Security recommenders](https://docs.cloud.google.com/run/docs/recommender.md.txt) | `google.run.service.IdentityRecommender google.run.service.SecurityRecommender` | Increase Cloud Run Service security | Yes |
| Security | [Unattended project recommender](https://docs.cloud.google.com/recommender/docs/unattended-project-recommender.md.txt) | `google.resourcemanager.projectUtilization.Recommender` | Reclaim or remove unused projects | Yes |
| Security | [Advisory Notifications recommender](https://docs.cloud.google.com/advisory-notifications/docs/recommendations-overview.md.txt) | `google.cloud.security.GeneralRecommender` | Ensure that the right parties within your organization have access to view critical security and privacy notifications | Yes |
| Security | Cloud SQL security recommender | `google.cloudsql.instance.SecurityRecommender` | Secure Cloud SQL instances - [Remove broad public IP ranges](https://docs.cloud.google.com/sql/docs/mysql/recommender-broad-address.md.txt) - [Disable public IP connection](https://docs.cloud.google.com/sql/docs/mysql/recommender-disable-public-ip.md.txt) - [Enable database auditing](https://docs.cloud.google.com/sql/docs/mysql/recommender-enable-db-audit.md.txt) - [Remove authorized networks](https://docs.cloud.google.com/sql/docs/mysql/recommender-remove-authorized-networks.md.txt) - [Require SSL for direct connections](https://docs.cloud.google.com/sql/docs/mysql/recommender-require-ssl.md.txt) - [Rotate server certificate](https://docs.cloud.google.com/sql/docs/mysql/recommender-rotate-cert.md.txt) - [Enable instance password policies](https://docs.cloud.google.com/sql/docs/mysql/recommender-set-password-policy.md.txt) - [Enable user password policies](https://docs.cloud.google.com/sql/docs/mysql/recommender-set-password-policy.md.txt) | Yes |
| Security | [Cloud Firestore Security rules recommender](https://cloud.google.com/firestore/docs/firestore-security-rules-recommender) | [`google.firestore.database.FirebaseRulesRecommender`](https://cloud.google.com/firestore/docs/firestore-security-rules-recommender) | Improve Firestore database firebase rules security. It has the following subtypes: - Update insecure policy | No |
| Security | [VPC Service Controls recommender](https://docs.cloud.google.com/vpc-service-controls/docs/recommender.md.txt) ([Preview](https://cloud.google.com/products/#product-launch-stages)) | `google.accessContextManager.VpcScRecommender` | Help protect Google Cloud resources from data exfiltration by optimizing service perimeters and aligning VPC accessible services configurations. | Yes |
| Performance | [Rapid Cache recommender](https://docs.cloud.google.com/storage/docs/rapid/rapid-cache-recommender.md.txt) | `google.storage.bucket.AnywhereCacheRecommender` | Cache your data in Cloud Storage with Rapid Cache | Yes |
| Performance | [Managed instance group machine type recommender](https://docs.cloud.google.com/compute/docs/instance-groups/apply-machine-type-recommendations-managed-instance-groups.md.txt) | `google.compute.instanceGroupManager.MachineTypeRecommender` | Resize MIG machine types | Yes |
| Performance | [VM machine type recommender](https://docs.cloud.google.com/compute/docs/instances/apply-machine-type-recommendations-for-instances.md.txt) | `google.compute.instance.MachineTypeRecommender` | Resize VM machine types | Yes |
| Performance | [Cloud Functions minimum instances recommender](https://docs.cloud.google.com/functions/docs/configuring/recommender) | `google.cloudfunctions.PerformanceRecommender` | Prevent cold starts for deployed functions | Yes |
| Performance | Cloud SQL performance recommender | `google.cloudsql.instance.PerformanceRecommender` | Improve Cloud SQL instance performance - [MySQL high number of open tables](https://docs.cloud.google.com/sql/docs/mysql/recommender-high-number-of-open-tables.md.txt) - [MySQL high number of tables](https://docs.cloud.google.com/sql/docs/mysql/recommender-high-number-of-tables.md.txt) - [PostgreSQL high transaction id utilization](https://docs.cloud.google.com/sql/docs/postgres/recommender-high-transactionid-utilization.md.txt) | Yes |
| Performance | [Cloud SQL underprovisioned recommender](https://docs.cloud.google.com/sql/docs/mysql/recommender-underprovisioned.md.txt) | `google.cloudsql.instance.UnderprovisionedRecommender` | Optimize underprovisioned Cloud SQL instances | Yes |
| Reliability | [GKE diagnosis recommender](https://docs.cloud.google.com/kubernetes-engine/docs/how-to/optimize-with-recommenders.md.txt) | `google.container.DiagnosisRecommender` | Mitigate risks, troubleshoot and optimize your usage of GKE | Yes |
| Reliability | [Service limit (quota) recommender](https://docs.cloud.google.com/recommender/docs/service-limit-quota-recommender.md.txt) | `google.resourcemanager.serviceLimit.Recommender` | Manage service and quota usage to avoid hitting limits | Yes |
| Reliability | [Cloud SQL Reliability recommender](https://docs.cloud.google.com/sql/docs/mysql/recommender-enable-ha.md.txt) | `google.cloudsql.instance.ReliabilityRecommender` | Enable High Availability on Cloud SQL Instances | Yes |
| Reliability | [Cloud SQL out-of-disk recommender](https://docs.cloud.google.com/sql/docs/mysql/using-ood-recommender.md.txt) | `google.cloudsql.instance.OutOfDiskRecommender` | Prevent Cloud SQL out-of-disk outage | Yes |
| Reliability | [Change Risk Recommendations](https://docs.cloud.google.com/recommender/docs/change-risk-recommendations.md.txt) | `google.resourcemanager.project.ChangeRiskRecommender google.iam.serviceAccount.ChangeRiskRecommender google.iam.policy.ChangeRiskRecommender` | Reduce risk of misconfigurations | No |
| Reliability | [Recent Change Recommendations](https://docs.cloud.google.com/recommender/docs/recent-change-recommendations.md.txt) | `google.cloud.RecentChangeRecommender` | Reduce risk of misconfigurations | Yes |
| Reliability | [Firestore Reliability recommender](https://cloud.google.com/firestore/docs/reliability-recommender) | `google.firestore.database.ReliabilityRecommender` |
| Reliability | [Improve Firestore database disaster recovery plan. It has the following subtypes:](https://cloud.google.com/firestore/docs/reliability-recommender) - Enable scheduled backups - Enable PITR | No |
| Reliability | [Compute Reliability Insights recommender](https://docs.cloud.google.com/compute/docs/reliability-insights-overview.md.txt) | `google.compute.ReliabilityRiskRecommender` | [Improve workload reliability by addressing misconfigurations on Compute Engine resources. It has the following subtypes:](https://docs.cloud.google.com/compute/docs/reliability-insights-overview.md.txt) - GLOBAL_DNS | No |
| Manageability | [Deprecation and Breaking Changes recommender](https://docs.cloud.google.com/recommender/docs/deprecation-change-recommender.md.txt) | `google.cloud.deprecation.GeneralRecommender` | Prevent service interruptions due to deprecations and breaking changes | Yes |
| Manageability | [Error Reporting notification recommender](https://docs.cloud.google.com/recommender/docs/error-reporting/notification-recommender.md.txt) | `google.clouderrorreporting.Recommender` | Receive notifications for errors in your project | No |
| Manageability | [Google Maps Platform project management recommender](https://docs.cloud.google.com/recommender/docs/gmp-project-management-recommender.md.txt) | `google.gmp.project.ManagementRecommender` | Restrict your API keys | No |
| Manageability | [Product suggestion recommender](https://docs.cloud.google.com/recommender/docs/product-suggestion-recommender.md.txt) | `google.logging.productSuggestion.ContainerRecommender` | Explore more helpful products | No |

## What's next

- For *Cloud Billing account managers* , explore the
  [FinOps hub](https://docs.cloud.google.com/billing/docs/how-to/finops-hub.md.txt), which uses recommenders
  to provide cost-optimization recommendations for your Google Cloud resources.

- For *developers and platform administrators* , explore the Optimization page in
  [Cloud Hub](https://docs.cloud.google.com/hub/docs/optimize.md.txt), which provides summary cost data,
  utilization data, and cost optimization recommendations for your Google Cloud
  resources.