Limiti e note oneste
cloudrift è progettato per essere trasparente sui propri limiti. Ogni tipo di check ha confini precisi — ecco cosa il tool non può dirti e perché.
Lambda — solo conteggio invocazioni
Controlliamo solo il numero di invocazioni nella finestra di osservazione (7 giorni), nient’altro.
Cosa non facciamo:
- Non facciamo rightsizing della memoria — richiederebbe Lambda Insights (costo extra, da attivare per ogni funzione), fuori scope per uno scan read-only senza permessi IAM aggiuntivi
- Non rileviamo la Provisioned Concurrency idle, che è fatturata indipendentemente dalle invocazioni
Implicazione pratica: una funzione con zero invocazioni ha per definizione $0 di costo diretto (pay-per-use). Il valore di questo finding è igiene (codice morto, ruoli IAM inutili, event source da rimuovere), non un risparmio in dollari.
Rightsizing EC2/RDS — euristica a metrica singola
Il check di sottoutilizzo è un’euristica su una sola metrica — CPU massima sotto una soglia nella finestra di osservazione (default 5% su 14 giorni).
Cosa non guardiamo:
- RAM
- Throughput di rete
- IOPS disco
- Numero di connessioni (per RDS)
Perché: non richiede permessi IAM aggiuntivi e funziona uguale su ogni account. Non è un sostituto di AWS Compute Optimizer, che modella più metriche e raccomanda un target specifico.
Come usare il finding: trattalo come “vai a controllare questa istanza”, non come una raccomandazione di sizing. Verifica con Compute Optimizer (o con le tue metriche) prima di ridimensionare.
EKS Node Groups — solo aggregati a livello nodo
Il check sul sovradimensionamento dei nodi legge gli aggregati a livello di nodo di Container Insights (node_cpu_request/node_cpu_limit) tramite la sola AWS API.
Cosa non vediamo:
- Le richieste/limiti dei singoli Pod (
resources.requests/resources.limits) - Non parliamo mai con la Kubernetes API (nessun kubeconfig richiesto)
Prerequisito: Container Insights deve essere attivo sul cluster. Se non lo è, lo scanner non segnala nulla (non indovina).
Come usare il finding: il numero di nodi suggerito è un punto di partenza per l’indagine, non una raccomandazione di sizing.
EKS PVC orfani — limite sui tag:
- Il tag del cluster proprietario viene dal tag legacy
kubernetes.io/cluster/<nome>del provisioner in-tree - Volumi creati dal CSI driver EBS senza
--extra-tagsnon portano il nome del cluster - Questi volumi vengono segnalati solo tramite il check “non attaccato”, mai tramite quello sul cluster cancellato
Aurora Serverless v2 — finestra di osservazione
Il finding si basa sul picco ACU osservato in 7 giorni. Il Min ACU suggerito è ceil(peakACU * 1.2) — 20% di headroom sopra il picco osservato.
Rischio: un picco raro settimanale che cade fuori dalla finestra di 7 giorni appare come sovradimensionamento permanente. Il 20% di headroom è la mitigazione, non una garanzia. Verifica su una finestra più lunga per workload con spike rari prima di abbassare il Min ACU.
SageMaker Notebooks — solo CPU
Il check usa solo CPU (soglia default 2%). Per istanze GPU, il finding non dice nulla sull’utilizzo GPU — non distingue tra “kernel idle” e “qualcuno sta leggendo il notebook senza eseguire celle”.
Tratta il finding come “vai a controllare questo notebook”, non come spreco confermato.
SageMaker Models orfani — falsi positivi intenzionali
Un modello tenuto deliberatamente per rollback/backup appare identico a uno davvero abbandonato dalla vista API-only. Il periodo di grazia (--min-age-days) è l’unica mitigazione.
Dev/PR ghost environments — dipende dai tag
Lo scanner environment-ghost raggruppa risorse per tag value o naming pattern, poi segnala solo quando tutte le risorse del gruppo sono inattive. La qualità del risultato dipende interamente dalla disciplina di tagging/naming del tuo account. Un team senza convenzioni di tagging non vedrà nulla.
Pricing — non è la tua bolletta
Anche con --live-pricing, AWS restituisce prezzi di listino:
- Savings Plans non riflessi
- Reserved Instances non riflesse
- Sconti EDP non riflessi
- Tariffe negoziate non riflesse
L’unico modo per avvicinarsi alla bolletta reale: override prices nel config con le tue tariffe effettive.
Cosa non è cloudrift
- Non è un tool di enforcement — segnala, non agisce
- Non sostituisce AWS Compute Optimizer — per raccomandazioni di sizing usa Compute Optimizer
- Non sostituisce Cost Explorer — per analisi precisa dei costi usa la console AWS
- Non copre tutti i servizi AWS — ci sono centinaia di servizi, cloudrift ne copre 38
- Non rileva Provisioned Concurrency Lambda — fuori scope per ora
- Non parla con la Kubernetes API — solo AWS API, nessun kubeconfig