Ottimizzazione dei costi dell'infrastruttura
Breve riepilogo
L'efficienza finanziaria dell'infrastruttura si basa su tre cose:1. Misurazione trasparente (tag, showback/changeback, $/unità di valore).
2. Disciplina dell'ingegneria (rightsizing, auto-scale, corrette classi di storage/cache/rete).
3. Soluzioni architettoniche (dove vengono portati byte e millisecondi).
L'obiettivo è ridurre il TCO mantenendo il SLO e la velocità di sviluppo.
Metriche aziendali e unit-economics
$/1000 RPS - Costo di elaborazione di 1000 richieste su percorsi chiave.
$/mc p95 - Costo di riduzione della coda di ritardo di 1 ms (importante per la conversione).
$/giocatore/mese o $/deposito - per iGaming/Fintech.
TCO = compute + storage + network egress + servizi managed + licenze + supporto.
Capitalizzazione del debito tecnico: fissa quanto costa la latitanza/fuga dei cavi.
- Se l'API costa 120 dollari/ora e dà 60k RPS al p95 target, $/1000 RPS costa 2 $/h Ogni ottimizzazione deve essere confrontata con questa unità di valore.
Inventario e tagging
I tag sono obbligatori: «eng», «owner», «product», «service», «region», «cost-center», «tier».
Showback/Marceback - Report settimanali per comando/servizio.
Controllo delle risorse senza tag: non distribuire, non rinnovare.
sql
SELECT env, product, service,
SUM(cost_usd) AS cost_month,
SUM(rps) AS rps_month,
SUM(cost_usd)/NULLIF(SUM(rps)/1000,0) AS usd_per_1k_rps
FROM finops_daily
WHERE usage_date BETWEEN:from AND:to
GROUP BY 1,2,3;
Rightsizing e classi di istanza
Profili CPU/Memory - Rimuovi i profili sotto carico ridurre le richieste/i limiti al «punto di lavoro» CPU 50-70%.
Dimensioni delle istanze: spesso più vantaggioso di N piccoli invece di M più grandi (meglio bin-packing + CA).
Istruzioni ARM: più economico con prestazioni comparabili se lo stack è compatibile.
Pool caldi/freddi - mantenere una piccola riserva di warm invece di «grasso» permanente.
Sconti e modelli di consumo
Riserved/Savings Plans/Committed Use: prenotare una base sostenibile (40-70% di risparmio).
Spot/Preemptile: per attività non ritriche/asincrone, CI, analisti, cash worker.
Strategia mix: base - riserved, picchi - on-demand, sfondo - spot.
Skailing automatico ed elasticità
HPA/KEDA per segnali SLO (latency, queue lag, RPS), non solo per CPU.
Cluster Autocaler con warm pools e immagine pre-pull per avviamenti veloci.
Scale-down con isteresi per non «segare» i cluster (anti-flapping).
Rete e egress - Il «mangiatore» silenzioso del budget
CDN/tiered-cache/origin-shield riducono l'egress da origin.
Compressione (Brotli/gzip), webp/avif, diff-API (trasmettere solo campi modificati).
Raggruppare le chiamate alle API esterne, utilizzare keepalive/retry-budget.
Meno chat all'interno della DC: event-driven, batching, aggregazione degli eventi.
Archivi e dati
Classi di conservazione: caldo (NVMe), caldo (gp2/gp3), freddo (S3/Glacier/archivio).
Regole Lifecycle - Traduzione automatica di oggetti «vecchi» in classi a basso costo.
Compressione/partizionamento in DWH, TTL in tabelle temporanee/snashot.
Eliminazione della replica ridondante: RF intelligente, regole snapshot a basso costo.
Cache: Redis/Memcached per hot-set invece di letture «costose» dal database.
Loghi, metriche, roulotte - pagare con intelligenza
Riepilogo dei fogli (rate-limit per livello/modello), fogli «strutturali» anziché chiacchierare.
Tail-based sampling per le piste (manteniamo le code p99 e gli errori, il resto tagliando aggressivamente).
Metriche di downsampling: aggregazione in push-gate, storage high-res solo 7-14 giorni.
Filtrazione PII - riduce i rischi e il volume.
Architettura e costo millisecondi
HTTP/2/3 + respumption: meno handshake, meno CPU/egress/latitanza.
Chiave cache e TTL: hit-ratio alto - denaro diretto (meno origin e DB).
gRPC/protobaf per il servizio: meno byte.
Batch/stream per le attività di sfondo L'idipotenza è più piccola dei retrai.
Scelta del database: non conservare «tutto in uno» - KV/cache a basso costo per le letture frequenti, l'analista in DWH a colonna.
Diagrammi di dati: campi corti/tipi compressi, controllo cardinale indice.
DR, riserve e multi-regioni
Obiettivo aziendale: RTO/RPO per il costo del DR. Non pagare troppo per un bene-risorsa se è sufficiente un asset-passivo.
Conserva i backup freddi in una classe a basso costo, la replica è differenziale.
Un unico pacchetto di RR/Regioni, ogni zona porta il % del picco, resistendo al rifiuto di un vicino senza ridondanza d'oro.
Ambienti e CI/CD
Ibernazione automatica degli stajing/pre-cerchi, auto-TTL.
Runner-i CI su spot, cache di manufatti, limiti di parallelismo.
I dati di prova sono compatti, la generazione on-the-fly, non lo storage gigabyte.
Gestione dei fornitori e delle licenze
Rivedere i volumi e i tipi price una volta al trimestre.
Un pack provider competitivo è un argomento di negoziazione.
Licenze (APM/sicurezza) - Contate dollari per segnale utile, non per «tutti i loghi del mondo».
Processi e gestione
Cerimonia FinOps - Resoconto settimanale per comando, Costa Review mensile (top 10 «fuoriuscite», action items).
Garrails: quote di progetto/neimspace, budget-alert, divieto di espandere risorse senza tag.
Blameless post-mare per «incidenti di prezzo» (fuga di fogli, runaway autoscale).
IaC: tutti i limiti, le classi, la TTL nel repository, la rivisitazione PR.
Foglio di lavoro risparmio
- Tag/showback/charjback inclusi, nessuna risorsa «nessuno».
- Rightsizing per profili, ARM/altri tipi valutati.
- Sconti commit chiudono la base, spot - sfondo/analista/CI.
- HPA/KEDA per metriche SLO, CA con pool warm.
- CDN/tiered-cache, compressione, chiave cache senza «rumore».
- Archivi: classi, lifecycle, TTL, cache hot-set.
- Logi/trailer: semilibertà, tail-based, filtri PII.
- DR RTO/RPO, bacap freddi in classe economica.
- Ambienti con auto-TTL, CI su spot.
- FinOps-ritmi e guardrail nel IaC.
Errori tipici
Ottimizzazione senza metriche: non ci sono $/1000 RPS → non è possibile confrontare le opzioni.
Le risorse disattivate/inutilizzate sono sospese da mesi.
Conservare «tutto» in una classe calda, senza lifecycle.
come buco nero: 100% ingest, 0% consumo.
Scale auto CPU senza contare latency/code sovrappeso e SLO-regress.
Un DR troppo aggressivo senza giustificazione aziendale.
Microservizi per spunta - Aumento del traffico tra server e sovrapposizioni.
Mini playbook
1) Controllo rapido del conto (48 ore)
1. Taglio per top 10 servizi/regione. 2) Per ciascuno - $/1000 RPS, hit-ratio CDN, egress.
2. Estrai le chiavi TTL/cache, spegni i tasti rumorosi. 4) Abilita lifecycle su S3/oggetti.
2) Riduzione di egress del 25%
1. Tiered-cache+shield, `stale-while-revalidate`. 2) Comprimi le immagini in webp/avif.
2. Diff-API e gzip/brotli per il testo. 4) Verifica ripetute richieste/retrai.
3) Taglio dei costi del database
1. Top query (p95/IO): indici/batch. 2) Hot-set в Redis.
2. Archiviazione dei dati precedenti (TTL), read-replica su uno store a basso costo.
4) Fine della «sega» dello skale
1. Aumenta stabilization/cooldown. 2) MinReplicas> 0 a picco.
2. Precursore dei connettori/TLS. 4) Tagliare i retrai in eccesso.
Esempio di Nginx a basso costo (compressione, cache, SWR)
nginx proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=EDGE:512m max_size=50g inactive=7d;
server {
listen 443 ssl http2 reuseport;
Compression brotli on; brotli_comp_level 5; gzip on;
Static: year, immutable location/assets/{
add_header Cache-Control "public, max-age=31536000, immutable" always;
try_files $uri =404;
}
Semi-dynamics: s-maxage + SWR location/catalog/{
proxy_cache EDGE;
add_header Cache-Control "public, s-maxage=600, max-age=120, stale-while-revalidate=900, stale-if-error=86400" always;
proxy_ignore_headers Set-Cookie;
proxy_pass https://origin_catalog;
}
}
Specifico per iGaming/Fintech
Picchi (partite/tornei): alzare in anticipo «minReplicas» e riscaldare CDN/TLS, ma mantenere headroom puntualmente - solo su vie calde (cataloghi, lobby, partite), il resto è in modalità degrad.
Pagamenti/PSP: cache di guide (BIN, limiti), Idempoted riduce il costo delle riprese, pool egress separato per i provider bianchi.
Antifrode/bot: itinerari «grigi» e challenge a basso costo sul bordo, invece di controlli costosi su ogni richiesta.
Live Content/provider: cache a margine + limitazione della frequenza degli aggiornamenti; I contratti CDN vengono rivisti ai grandi impianti.
Totale
L'ottimizzazione dei costi non è una pulizia singola, ma un processo FinOps costante: misurare il valore ($/unità), automatizzare le soluzioni a basso costo (cache/TTL/Sempling), utilizzare sconti e le giuste classi di risorse, mantenere l'elasticità sotto lo SLO e non complicare l'architettura dove non viene ripagata. In questo modo si riduce il TCO mantenendo la velocità del prodotto e la sostenibilità della piattaforma.