Skip to content

Cloud Cost Recommendations

import { Steps } from ‘@astrojs/starlight/components’;

Xplorr scans your connected cloud accounts and generates recommendations to reduce spend. Each recommendation includes an estimated monthly savings amount and a remediation path — CLI command, Terraform snippet, or manual steps.

TypeWhat it catchesTypical savings
Idle resourcesEC2 instances with <5% CPU for 14+ days, unattached EBS volumes, idle load balancers$50–500/mo per resource
RightsizingInstances consistently using <30% of allocated CPU or memory$100–800/mo per instance
Reserved instancesOn-demand instances that run 24/7 and would be cheaper as RIs30–60% of on-demand cost
Savings plansCompute workloads with steady baseline that qualify for Compute Savings Plans20–40% of on-demand cost
Orphaned resourcesSnapshots without parent volumes, unassociated Elastic IPs, detached network interfaces$5–100/mo per resource

Recommendations are regenerated daily during the sync cycle.

Every recommendation moves through a lifecycle:

Open → In Progress → Applied → Archived
  • Open — newly generated, no action taken yet
  • In Progress — someone on your team is working on it
  • Applied — the change has been made; Xplorr will verify savings in the next sync
  • Archived — dismissed or no longer relevant (e.g., the resource was deleted)

Update the status from the Recommendations page in the console. You can also filter by status to focus on what needs attention.

Not ready to act on a recommendation? Snooze it:

  • 7 days — short deferral, useful during incident response or freeze windows
  • 14 days — mid-sprint deferral
  • 30 days — push to next planning cycle

Snoozed recommendations disappear from the active list and resurface automatically when the snooze expires. If the underlying condition is resolved before then (e.g., the idle instance was terminated), the recommendation is auto-archived.

Each recommendation includes a remediation section with one or more of:

AWS CLI:

Terminal window
# Rightsize an RDS instance from db.r5.2xlarge to db.r5.large
aws rds modify-db-instance \
--db-instance-identifier prod-analytics \
--db-instance-class db.r5.large \
--apply-immediately

Terraform:

# Update instance class in your Terraform config
resource "aws_db_instance" "prod_analytics" {
instance_class = "db.r5.large" # was db.r5.2xlarge
# ... other config unchanged
}

Manual steps: A plain-language walkthrough for teams that don’t use IaC, with console navigation paths.

The AI picks the remediation format based on what’s most common for the resource type. All three formats are available if you click Show all remediation options.

A team had an RDS instance running db.r5.2xlarge (8 vCPU, 64 GB RAM) for their analytics database. Xplorr’s 14-day analysis showed:

  • Average CPU: 12%
  • Peak CPU: 28%
  • Average memory: 18 GB used of 64 GB

Recommendation: Rightsize to db.r5.large (2 vCPU, 16 GB RAM).

Estimated savings: $280/month ($0.96/hr → $0.48/hr for the reserved portion, plus reduced storage IOPS).

The team applied the change during their next maintenance window. Actual savings after 30 days: $267/month (slightly less due to occasional peak IOPS charges).

  1. Open Recommendations from the left sidebar. Filter by Status: Open and sort by Estimated Savings descending.

  2. Click a recommendation to see the full analysis — utilization graphs, the specific metric thresholds that triggered it, and the remediation options.

  3. Click Start to move it to In Progress. This signals to your team that someone is handling it.

  4. Apply the change using the provided CLI command, Terraform snippet, or manual steps.

  5. Come back and click Mark Applied. Xplorr will track the actual savings in subsequent syncs and show you the before/after comparison.

  • Rightsizing production databases without a maintenance window. The CLI command includes --apply-immediately by default. For production RDS instances, remove that flag and schedule the change during a maintenance window instead.
  • Ignoring orphaned resources because they seem cheap. A single unattached EBS volume costs $3/month. But most teams have 20–50 of them — that adds up to $60–150/month of pure waste.
  • Applying reserved instance recommendations without checking term length. A 3-year RI saves more per hour but locks you in. Make sure the workload will still exist in 3 years before committing.

How often are recommendations updated? Daily, during the sync cycle. If you apply a recommendation, the next sync will reflect the change and either confirm savings or generate a follow-up recommendation if the issue persists.

Can I get recommendations via the API? Yes. GET /api/v1/recommendations returns all recommendations with filtering by status, type, account, and minimum savings amount.

Do recommendations work for all providers? Yes — AWS, Azure, and GCP all generate recommendations. The types available vary slightly by provider (e.g., Azure Advisor recommendations are incorporated alongside Xplorr’s own analysis).

What if a recommendation is wrong? Archive it with a reason. This feedback improves future recommendations for your account. If you see a pattern of incorrect recommendations, contact support.

  • Focus on the highest-savings recommendations first — sort by estimated savings and work down the list.
  • Use the snooze feature to keep your recommendation queue clean without losing track of deferred items.
  • Always verify remediation commands before running them in production — the AI-generated scripts are a starting point, not a blind execute.
  • Track applied recommendations to validate actual vs estimated savings over time.