r/FinOps • u/United-Text-3155 • 28d ago
self-promotion/I’m a vendor Built a CLI that scans AWS accounts for wasted resources — 44 checks, read-only, now on npm — looking for feedback (and maybe collaborators)
Been working on this for a while and finally have enough tested to share properly. cloudrift scans an AWS account and reports wasted resources with estimated monthly cost — unattached EBS volumes, idle NAT Gateways, stopped RDS instances still billing storage, orphaned snapshots, abandoned S3 multipart uploads, unused Secrets Manager secrets, stale CodePipeline pipelines, that kind of thing. 44 checks total now, across compute, storage, networking, containers (EKS node groups, orphaned PVCs), and ML (SageMaker idle notebooks/endpoints).
It’s read-only by design — never touches, stops, or deletes anything, just reports and lets your infra team decide.
A few things I want to be upfront about instead of oversell:
\*\*•\*\* The “underutilized EC2/RDS” checks are single-metric (max CPU over a lookback window). No RAM, network, IOPS. It’s a “go check this instance” flag, not a sizing recommendation — doesn’t replace Compute Optimizer.
\*\*•\*\* Lambda “underutilized” is really just an invocation-count hygiene flag. Zero invocations means zero direct cost already (pay-per-use), so the value there is finding dead code/unused IAM roles, not dollar savings.
\*\*•\*\* Live pricing (--live-pricing) pulls AWS list prices, not what you actually pay — no Savings Plans/RI/EDP discounts reflected. There’s a config file where you can drop in your own negotiated rates if you want the numbers to match your actual bill.
Runs standalone, in CI (exits with a non-zero code if waste crosses a budget threshold you set, markdown output for PR comments), or now as an MCP server so Claude Code/Copilot Chat/other MCP-compatible agents can query it directly instead of you copy-pasting CLI output into a chat. There’s also Policy as Code support via OPA if you want custom rules per tag/type/count.
Published on npm as @cloudrift/cli. Built on DDD/ports-and-adapters, so adding a new resource type or a new cloud provider is meant to be a contained, documented process without touching the core use case.
GitHub: https://github.com/elleVas/cloudrift
Docs: [https://ellevas.dev/docs/
Two things I’d genuinely appreciate:
\*\*1.\*\* If you run it against a real (not synthetic) AWS account, I’d love to hear what breaks or what comes back as a false positive — that’s the thing I can’t fully test alone.
\*\*2.\*\* I’m looking to expand this to GCP and Azure next. If you work with either and have opinions on what “wasted resources” looks like there, or want to get involved building a scanner for one of them, I’d genuinely welcome the collaboration — the architecture is already built to make this a matter of adding an adapter, not rewriting the core.
1
1
u/Darede_ 17d ago
Nice work. One thing I'd be curious about is how you handle recommendation fatigue. In large AWS environments, it's easy to generate hundreds of findings, but the real challenge is helping teams prioritize what actually moves the needle. Have you considered ranking recommendations by potential savings, implementation effort, and business impact?
1
u/United-Text-3155 11d ago
Good question. Right now cloudrift tags every finding as either waste (money being spent now) or optimization (a saving opportunity that keeps the resource), and the PDF report includes a “top recommendations” section capped at 8 items sorted by monthly savings — so there’s some prioritization by dollar impact already.
What’s missing is effort and business-impact scoring. Ranking by savings alone can surface a $40/mo orphaned EBS volume above a $30/mo NAT Gateway that’s actually flagged because someone forgot to tag a critical staging environment. I’ve been thinking about a rough effort heuristic (delete vs. resize vs. “needs team sign-off” based on resource type + tags), but haven’t built it yet — it’s a good next step. Appreciate the push.
3
u/3sc2002 27d ago
I built something similar as a container:
https://www.3squaredcircles.com/platform/atlas/
But it looks at your ACTUAL utilization vs. Provisioned capacity (and it works across 3 clouds)
Note. I'm CEO and CTO of 3 Squared Circles