Reserved Instances i Savings Plans: Vodič za obvezujuće popuste na AWS, Azure i GCP

Praktični vodič za Reserved Instances i Savings Plans na AWS-u, Azureu i GCP-u. Naučite kako implementirati slojevitu strategiju obvezujućih popusta, analizirati baseline korištenje i uštedjeti do 75% na compute troškovima.

Uvod: Zašto su obvezujući popusti temelj svake cloud strategije

Ako ste pročitali naš vodič o spot instancama, znate da neiskorišteni kapacitet cloud providera može donijeti uštede do 90%. No, spot instance imaju jednu očitu manu — mogu biti prekinute u bilo kojem trenutku. Za stabilne, produkcijske workloadove koji moraju raditi 24/7 bez ikakvih iznenađenja, treba nam nešto pouzdanije. Tu na scenu stupaju Reserved Instances (RI) i Savings Plans.

Ukratko? Obvežete se na jednu ili tri godine, a zauzvrat dobijete popuste od 30% do 75%.

Prema podacima iz State of FinOps 2025 izvješća, organizacije koje primjenjuju FinOps prakse ostvaruju smanjenje troškova od 20 do 30%. A obvezujući popusti su tu možda i najmoćniji alat u arsenalu — ali istovremeno i jedan od najslabije iskorištenih. Samo 14,2% organizacija doseglo je naprednu razinu zrelosti u upravljanju obvezujućim popustima. Ostatak? I dalje plaća pune On-Demand cijene za workloadove koji se ne mijenjaju mjesecima ili čak godinama.

Globalno tržište cloud computinga premašilo je 943 milijarde dolara u 2025. godini, a u 2026. će vjerojatno prijeći granicu od bilijun dolara. Istovremeno, oko 32% ukupne potrošnje na oblak se jednostavno — baca. Prekomjerna alokacija, neiskorištene instance i izostanak korištenja obvezujućih popusta glavni su krivci.

U ovom vodiču prolazimo kroz sve oblike obvezujućih popusta na AWS-u, Azureu i GCP-u. Objasnit ćemo razlike između Reserved Instances i Savings Plans, pokazati konkretne izračune ušteda i dati praktične preporuke za implementaciju strategije koja zaista funkcionira.

Razumijevanje obvezujućih popusta: Osnovni koncepti

Prije nego zaronimo u specifičnosti svake platforme, hajdemo razjasniti temeljnu logiku. Koncept je zapravo prilično jednostavan — cloud provideri vam nude nižu cijenu ako se obvežete koristiti određeni kapacitet kroz dulje vrijeme. Vi štedite novac, provider dobiva predvidljivost prihoda i može bolje planirati infrastrukturu. Win-win.

Dvije filozofije: Rezervacija resursa vs. obveza potrošnje

Postoje dva fundamentalno različita pristupa:

  • Rezervacija specifičnih resursa (Resource-based): Obvezujete se na korištenje točno određenog tipa instance, u točno određenoj regiji. Dobivate najveći popust, ali i najmanju fleksibilnost. Ako vam se zahtjevi promijene — novac je potrošen.
  • Obveza potrošnje (Spend-based): Obvezujete se na određeni iznos potrošnje po satu, ali ga možete primijeniti na različite resurse, regije, čak i servise. Popust je nešto manji, ali fleksibilnost je enormna.

Svaki provider nudi varijante oba pristupa. Razumijevanje ove razlike ključno je za donošenje prave odluke, pa krenimo s detaljnim pregledom.

AWS: Reserved Instances i Savings Plans detaljno

Amazon Web Services nudi najširi spektar opcija za obvezujuće popuste. S obzirom na tržišnu dominaciju AWS-a, razumijevanje njegovih modela popusta je, iskreno, apsolutni prioritet za većinu organizacija.

AWS Reserved Instances

AWS Reserved Instances dolaze u dvije varijante:

  • Standard RIs: Popust do 75% u usporedbi s On-Demand cijenama. Vezane su za specifičnu obitelj instanci, regiju i OS. Mogu se modificirati (promjena zone dostupnosti ili veličine unutar iste obitelji), ali ne mogu se zamijeniti za drugi tip.
  • Convertible RIs: Popust od 31% do 54%. Manje štede, ali se mogu zamijeniti za drugu Convertible RI s potpuno drugačijim atributima — drugi tip instance, drugi OS, druga regija. Odlične kad znate da ćete koristiti AWS, ali niste sigurni koje točno instance.

Evo praktičnog primjera izračuna:

# Primjer izračuna uštede za m6i.xlarge u eu-west-1
# On-Demand cijena: $0.192/sat

# Standard RI (3 godine, All Upfront):
# Cijena: ~$0.048/sat (efektivno)
# Ušteda: 75% = $0.144/sat
# Godišnja ušteda po instanci: $0.144 * 8,760 sati = $1,261.44
# Za 10 instanci: $12,614.40 godišnje

# Convertible RI (3 godine, All Upfront):
# Cijena: ~$0.088/sat (efektivno)
# Ušteda: 54% = $0.104/sat
# Godišnja ušteda po instanci: $0.104 * 8,760 = $911.04
# Za 10 instanci: $9,110.40 godišnje

# Razlika Standard vs Convertible za 10 instanci:
# $12,614.40 - $9,110.40 = $3,504.00 godišnje
# Ali Convertible RI daje fleksibilnost zamjene!

AWS Savings Plans

Savings Plans su AWS-ov noviji model koji je, iskreno govoreći, ono što bi Reserved Instances trebale biti od početka. AWS i sam preporučuje Savings Plans kao jednostavniji i fleksibilniji put do uštede. Tri su vrste:

  • Compute Savings Plans: Najfleksibilnija opcija s popustom do 66%. Primjenjuju se automatski na EC2, Fargate i Lambda — bez ograničenja na tip instance, OS ili regiju. Ako koristite kontejnere ili serverless, ovo je vaš izbor.
  • EC2 Instance Savings Plans: Popust do 72%, ali ograničen na specifičnu obitelj instanci u jednoj regiji. Fleksibilniji od Standard RI jer automatski pokrivaju promjene veličine i OS-a unutar odabrane obitelji.
  • SageMaker Savings Plans: Specijalizirani popusti do 64% za ML workloadove na SageMakeru — treniranje, inferencija i procesiranje.

Kako AWS Cost Explorer preporučuje Savings Plans

AWS Cost Explorer ima ugrađeni alat za preporuku koji analizira vaše korištenje u posljednjih 7, 30 ili 60 dana i predlaže optimalnu razinu obveze:

# AWS CLI: Dohvat preporuka za Savings Plans
aws ce get-savings-plans-purchase-recommendation \
  --savings-plans-type "COMPUTE_SP" \
  --term-in-years "THREE_YEARS" \
  --payment-option "NO_UPFRONT" \
  --lookback-period-in-days "THIRTY_DAYS" \
  --account-scope "PAYER"

# Primjer odgovora (skraćen):
# {
#   "SavingsPlansPurchaseRecommendation": {
#     "SavingsPlansType": "COMPUTE_SP",
#     "TermInYears": "THREE_YEARS",
#     "SavingsPlansPurchaseRecommendationDetails": [
#       {
#         "HourlyCommitmentToPurchase": "15.50",
#         "EstimatedMonthlySavingsAmount": "4,650.00",
#         "EstimatedSavingsPercentage": "42%",
#         "CurrentAverageHourlyOnDemandSpend": "36.90"
#       }
#     ]
#   }
# }
# AWS CLI: Provjera pokrivenosti postojećih Savings Plans
aws ce get-savings-plans-coverage \
  --time-period Start=2026-01-01,End=2026-02-01 \
  --granularity "MONTHLY" \
  --group-by Type=DIMENSION,Key=SERVICE

# Provjera iskorištenosti Savings Plans
aws ce get-savings-plans-utilization \
  --time-period Start=2026-01-01,End=2026-02-01 \
  --granularity "MONTHLY"

Ključne metrike koje trebate pratiti su pokrivenost (coverage — koliki postotak On-Demand korištenja pokrivaju Savings Plans) i iskorištenost (utilization — koliki postotak kupljenih Savings Plans se zapravo koristi). FinOps Foundation preporučuje iskorištenost iznad 80% za resource-based obveze i iznad 90% za spend-based obveze.

Strategija slojevitih obveza na AWS-u

Najbolja praksa na AWS-u nije odabir jednog modela, nego kombiniranje više njih u slojevitu strategiju:

# Vizualizacija slojevite strategije obveza
#
# Ukupno korištenje:     |################################|
#                        |                                |
# Sloj 1 - Standard RI: |████████████████|               | 40% (stabilna baza)
# Cijena: -75%           |                |               |
#                        |                |               |
# Sloj 2 - Compute SP:  |                |███████████|   | 30% (fleksibilni sloj)
# Cijena: -66%           |                |           |   |
#                        |                |           |   |
# Sloj 3 - Spot:        |                |           |██ | 15% (prekidivi)
# Cijena: -90%           |                |           |  ||
#                        |                |           |  ||
# Sloj 4 - On-Demand:   |                |           |  |█| 15% (vršno)
# Cijena: puna           |                |           |   |
#                        |################################|
#
# Prosječna ušteda: ~55-60% u odnosu na čisti On-Demand

Ovaj pristup osigurava da stabilan dio korištenja ima najveći popust, dok fleksibilniji slojevi pokrivaju varijabilno opterećenje. Rezultat? Prosječna ušteda od 55 do 60% u odnosu na čisti On-Demand.

Azure: Reserved Instances i Azure Savings Plan for Compute

Microsoft Azure nudi sličan set alata za obvezujuće popuste, ali s nekim značajnim razlikama u implementaciji.

Azure Reserved Instances

Azure RI funkcioniraju slično AWS-ovim Standard RIs — obvezujete se na specifičnu veličinu VM-a, obitelj i regiju. Ključne karakteristike:

  • Popusti do 72% za trogodišnje obveze
  • Instance size flexibility unutar iste obitelji — kupite RI za Standard_D4s_v5 i automatski pokriva ekvivalentan broj manjih instanci
  • Garancija kapaciteta u odabranoj zoni dostupnosti (za razliku od Savings Plans, RI osigurava da ćete imati dostupan kapacitet)
  • Mogućnost razmjene — Azure omogućuje zamjenu jedne RI za drugu, pa čak i pretvaranje RI u Savings Plan
# Azure CLI: Pregled preporuka za Reserved Instances
az consumption reservation recommendation list \
  --scope "Shared" \
  --resource-type "VirtualMachines" \
  --look-back-period "Last30Days"

# Azure CLI: Kupnja Reserved Instance
az reservations reservation-order purchase \
  --reservation-order-id "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" \
  --applied-scope-type "Shared" \
  --billing-scope-id "/subscriptions/{subscription-id}" \
  --display-name "prod-web-servers-ri" \
  --quantity 5 \
  --sku "Standard_D4s_v5" \
  --term "P3Y" \
  --billing-plan "Monthly" \
  --location "westeurope"

Azure Savings Plan for Compute

Azure Savings Plan for Compute je Microsoftov odgovor na AWS Compute Savings Plans. Umjesto rezervacije specifičnog resursa, obvezujete se na određeni iznos potrošnje po satu. Prednosti su značajne:

  • Primjenjuje se na sve Azure regije — nema regionalne ograničenosti
  • OS-agnostičan — pokriva Windows i Linux jednako
  • Pokriva i servise koji koriste VM-ove u pozadini, uključujući AKS, Azure Virtual Desktop i Databricks
  • Ali — nije ga moguće modificirati niti otkazati nakon kupnje, pa je pažljivo planiranje kritično
# Azure CLI: Pregled preporuka za Savings Plan
az costmanagement benefit recommendation list \
  --benefit-type "SavingsPlan" \
  --usage-scope "Shared" \
  --look-back-period "Last30Days" \
  --term "P3Y"

# PowerShell: Dohvat prosječne dnevne potrošnje compute resursa
$startDate = (Get-Date).AddDays(-30).ToString("yyyy-MM-dd")
$endDate = (Get-Date).ToString("yyyy-MM-dd")

az cost query --type "ActualCost" `
  --timeframe "Custom" `
  --time-period start=$startDate end=$endDate `
  --dataset-grouping name="ServiceName" type="Dimension"

Azure Hybrid Benefit — dodatna ušteda koja se lako previdi

Ovo je nešto što mnogi timovi ne iskorištavaju u potpunosti. Ako vaša organizacija već posjeduje licence za Windows Server ili SQL Server sa Software Assurance-om, možete ih primijeniti na Azure VM-ove i uštedjeti dodatnih 40 do 55% na licenciranju. Kombinacija Azure RI + Hybrid Benefit može donijeti ukupnu uštedu i preko 80%.

Da, dobro ste pročitali — preko 80%.

# Azure CLI: Primjena Hybrid Benefit na VM
az vm update \
  --resource-group rg-production \
  --name prod-web-01 \
  --set licenseType="Windows_Server"

# Procjena uštede s Hybrid Benefit za SQL Server na VM-u
# On-Demand Windows + SQL Enterprise: ~$4.736/sat (D8s_v5)
# S Azure RI (3 god): ~$1.893/sat (-60%)
# S Azure RI + AHB za Windows: ~$1.420/sat (-70%)
# S Azure RI + AHB za Windows + SQL: ~$0.853/sat (-82%)
# Godišnja ušteda po instanci: ~$34,000

Korištenje Azure Advisora za preporuke

Azure Advisor automatski analizira vaše korištenje u posljednjih 30 dana i daje preporuke za RI i Savings Plan kupnje. Preporuke se temelje na resursima koji nisu pokriveni postojećim popustima — dakle, Azure sam izračunava što biste trebali kupiti za maksimalnu uštedu.

Evo ključnog savjeta: uvijek prvo kupite Reserved Instances za stabilne workloadove, a zatim dodajte Savings Plan kao sloj iznad za sve ostalo. Azure automatski primjenjuje popuste redoslijedom koji donosi najveću uštedu — prvo RI, pa tek onda Savings Plan za preostalo korištenje.

GCP: Committed Use Discounts — nova era s multiprice modelom

Google Cloud Platform ima nešto drugačiji pristup. Umjesto zasebnih Reserved Instances i Savings Plans, GCP nudi objedinjeni sustav Committed Use Discounts (CUD) koji pokriva obje filozofije. Jednostavnije je, ali ima svoje nijanse.

Resource-based CUD

Resource-based CUD na GCP-u funkcionira tako da se obvežete na korištenje specifične količine vCPU-ova i memorije u određenoj regiji:

  • Popusti do 57% za većinu tipova strojeva, i do 70% za memory-optimized strojeve
  • Jednogodišnje i trogodišnje obveze
  • Obveza se plaća mjesečno — nema opcije plaćanja unaprijed
  • Naplaćuje se i kad resursi nisu u upotrebi — obveza se ne može otkazati
# gcloud CLI: Kreiranje resource-based CUD
gcloud compute commitments create prod-compute-commitment \
  --region=europe-west1 \
  --resources=vcpu=100,memory=400GB \
  --plan=three-year \
  --type=COMPUTE_OPTIMIZED

# Provjera postojećih obveza
gcloud compute commitments list \
  --regions=europe-west1 \
  --format="table(name,region,status,plan,startTimestamp,endTimestamp,resources)"

# Primjer izračuna:
# 100 vCPU u europe-west1 (n2-standard):
# On-Demand: ~$0.0310/vCPU/sat * 100 = $3.10/sat
# 3-god CUD: ~$0.0155/vCPU/sat * 100 = $1.55/sat (-50%)
# Mjesečna ušteda: $1.55 * 730 sati = $1,131.50
# Godišnja ušteda: $13,578.00

Spend-based CUD

Spend-based CUD je GCP-ov ekvivalent AWS Compute Savings Plans. Umjesto specifičnih resursa, obvezujete se na iznos potrošnje po satu koji se automatski primjenjuje na razne servise:

  • Cloud SQL, Cloud Spanner, Google Cloud VMware Engine
  • Cloud Run, Google Kubernetes Engine (GKE)
  • Fleksibilnost primjene kroz različite regije i konfiguracije

Novost u 2025./2026.: Multiprice CUD model

Ovo je možda najvažnija promjena u GCP ekosustavu u posljednjih nekoliko godina. Google uvodi multiprice CUD model koji fundamentalno mijenja obračun obvezujućih popusta:

  • Dosadašnji model: Popusti su se primjenjivali kroz kredite (credits) — prilično zbunjujuće jer ukupni troškovi na fakturi nisu odražavali stvarnu cijenu resursa
  • Novi model: Popusti se primjenjuju izravno kroz snižene cijene po SKU-u — transparentnije i znatno lakše za analizu
  • Širi opseg: Više servisa i tipova VM-ova sada kvalificira za CUD popuste
  • Bolji izvoz podataka: Ažurirani metapodaci u BigQuery billing exportu olakšavaju optimizaciju

Ključni datumi migracije:

  • 15. srpnja 2025.: Novi računi automatski koriste multiprice model; postojeći se mogu prijaviti
  • 21. siječnja 2026.: Svi preostali računi automatski migrirani na novi model

Compute Flex CUD — proširena pokrivenost

Google je u rujnu 2025. najavio proširenje Compute Flexible CUD-ova s većom fleksibilnošću. Obveze potrošnje sada pokrivaju širi raspon servisa i obitelji VM-ova, što znači manje bačene obveze i više aktivnih ušteda. Umjesto vezanja za specifičan tip resursa ili regiju, obvezana potrošnja može se primijeniti na veći dio Google Cloud korištenja.

# gcloud CLI: Pregled CUD preporuka
gcloud recommender recommendations list \
  --project=my-project-id \
  --location=europe-west1 \
  --recommender=google.compute.commitment.UsageCommitmentRecommender \
  --format="table(name,description,primaryImpact.costProjection)"

# BigQuery upit za analizu potrošnje i planiranje CUD-ova
SELECT
  service.description AS service,
  sku.description AS sku,
  ROUND(SUM(cost), 2) AS total_cost,
  ROUND(SUM(cost) / COUNT(DISTINCT DATE(usage_start_time)), 2) AS avg_daily_cost,
  ROUND(SUM(cost) / COUNT(DISTINCT DATE(usage_start_time)) / 24, 4) AS avg_hourly_cost
FROM `project.dataset.gcp_billing_export_v1_XXXXXX`
WHERE
  DATE(usage_start_time) >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)
  AND service.description IN ('Compute Engine', 'Cloud SQL', 'Kubernetes Engine', 'Cloud Run')
GROUP BY service, sku
HAVING total_cost > 100
ORDER BY total_cost DESC
LIMIT 20;

Usporedba svih triju platformi na jednom mjestu

Za one koji rade u multi-cloud okruženju (a to je sve više organizacija), evo sveobuhvatne usporedbe:

KarakteristikaAWSAzureGCP
Maks. popust (resource-based)Do 75% (Standard RI)Do 72% (RI)Do 70% (Resource CUD)
Maks. popust (spend-based)Do 66% (Compute SP)Do 65% (Savings Plan)Do 57% (Spend CUD)
Trajanje obveze1 ili 3 godine1 ili 3 godine1 ili 3 godine
Plaćanje unaprijedDa (All/Partial/No Upfront)Da (All Upfront/Monthly)Ne (samo mjesečno)
Serverless pokrivenostDa (Lambda, Fargate)Da (Functions, AKS)Da (Cloud Run, GKE)
Mogućnost zamjeneSamo Convertible RIDa (RI u SP)Ne
Garancija kapacitetaDa (zonal RI)Da (RI)Ne
Alat za preporukeCost ExplorerAzure AdvisorRecommender

Praktične smjernice: Kako implementirati strategiju obvezujućih popusta

Teorija je korisna, ali implementacija je ono što zapravo štedi novac. Evo korak-po-korak pristupa koji funkcionira na svim platformama.

Korak 1: Analiza baseline korištenja

Prije bilo kakve kupnje, morate razumjeti svoj baseline — minimalni stabilni kapacitet koji koristite čak i u najmirnije periode. FinOps Foundation preporučuje analizu minimalno 30 dana, a idealno 60 do 90 dana kako bi se obuhvatile sezonske varijacije.

Nemojte preskočiti ovaj korak. Ozbiljno.

# Python skripta za analizu baseline korištenja na AWS-u
import boto3
from datetime import datetime, timedelta
from collections import defaultdict
import statistics

ce_client = boto3.client('ce', region_name='eu-west-1')

end_date = datetime.now().strftime('%Y-%m-%d')
start_date = (datetime.now() - timedelta(days=90)).strftime('%Y-%m-%d')

# Dohvat dnevnog korištenja EC2 po tipu instance
response = ce_client.get_cost_and_usage(
    TimePeriod={'Start': start_date, 'End': end_date},
    Granularity='DAILY',
    Metrics=['UnblendedCost', 'UsageQuantity'],
    GroupBy=[
        {'Type': 'DIMENSION', 'Key': 'INSTANCE_TYPE'},
        {'Type': 'DIMENSION', 'Key': 'REGION'}
    ],
    Filter={
        'Dimensions': {
            'Key': 'SERVICE',
            'Values': ['Amazon Elastic Compute Cloud - Compute']
        }
    }
)

# Analiza minimuma, prosjeka i P10 po tipu instance
usage_by_type = defaultdict(list)
for result in response['ResultsByTime']:
    for group in result['Groups']:
        instance_type = group['Keys'][0]
        cost = float(group['Metrics']['UnblendedCost']['Amount'])
        usage_by_type[instance_type].append(cost)

print("Analiza baseline koristenja (90 dana):")
print(f"{'Tip instance':<20} {'Min/dan':>10} {'Prosjek':>10} {'P10':>10}")
for itype, costs in sorted(usage_by_type.items()):
    if statistics.mean(costs) > 1.0:
        p10 = sorted(costs)[len(costs)//10]
        print(f"{itype:<20} ${min(costs):>9.2f} "
              f"${statistics.mean(costs):>9.2f} ${p10:>9.2f}")

# P10 (10. percentil) predstavlja vas baseline -
# to je razina koristenja ispod koje ste samo 10% vremena

Korak 2: Definiranje strategije pokrivenosti

Na temelju analize, definirajte ciljanu razinu pokrivenosti za svaki sloj. Na temelju industrije i FinOps istraživanja, preporuka je sljedeća:

  • 60-70% baseline-a: Pokrijte najjačim popustom (Standard RI / Resource CUD) — ovo je korištenje za koje ste gotovo sigurni da će postojati cijelo vrijeme
  • 70-85% baseline-a: Pokrijte fleksibilnijim instrumentom (Compute SP / Spend CUD) — ovaj sloj pokriva korištenje koje je stabilno, ali može varirati po tipu resursa
  • Iznad 85%: Ostavite za On-Demand i spot instance — pokrivanje vršnog opterećenja obvezama je, po mom iskustvu, recept za bacanje novca

FinOps Foundation preporučuje iskorištenost resource-based obveza na razini oko 80%, a spend-based obveza iznad 90%. Ako vaša iskorištenost pada ispod tih pragova, vjerojatno ste se previše obvezali.

Korak 3: Monitoring i kontinuirano prilagođavanje

Kupnja obveza nije jednokratna aktivnost. Korištenje će se mijenjati, nove aplikacije će se pojaviti, stare ugasiti, tipovi instanci evoluirati. Trebate sustav za kontinuirano praćenje.

# Terraform modul za automatski monitoring pokrivenosti Savings Plans
# (koristi CloudWatch Alarm za upozoravanje na nisku pokrivenost)

resource "aws_cloudwatch_metric_alarm" "low_sp_coverage" {
  alarm_name          = "low-savings-plan-coverage"
  comparison_operator = "LessThanThreshold"
  evaluation_periods  = 7
  metric_name         = "SavingsPlansCoverage"
  namespace           = "AWS/CostExplorer"
  period              = 86400  # 1 dan
  statistic           = "Average"
  threshold           = 60     # Alert ako pokrivenost padne ispod 60%
  alarm_description   = "Pokrivenost Savings Plans je pala ispod 60%"
  alarm_actions       = [aws_sns_topic.finops_alerts.arn]
}

resource "aws_cloudwatch_metric_alarm" "low_sp_utilization" {
  alarm_name          = "low-savings-plan-utilization"
  comparison_operator = "LessThanThreshold"
  evaluation_periods  = 7
  metric_name         = "SavingsPlansUtilization"
  namespace           = "AWS/CostExplorer"
  period              = 86400
  statistic           = "Average"
  threshold           = 80     # Alert ako iskoristivost padne ispod 80%
  alarm_description   = "Iskoristivost Savings Plans je pala ispod 80%"
  alarm_actions       = [aws_sns_topic.finops_alerts.arn]
}

resource "aws_sns_topic" "finops_alerts" {
  name = "finops-commitment-alerts"
}

resource "aws_sns_topic_subscription" "finops_email" {
  topic_arn = aws_sns_topic.finops_alerts.arn
  protocol  = "email"
  endpoint  = "[email protected]"
}

Effective Savings Rate: Metrika koju morate pratiti

Effective Savings Rate (ESR) je metrika koju FinOps Foundation koristi za mjerenje ukupne učinkovitosti strategije popusta. Formula je jednostavna:

ESR = (On-Demand ekvivalentni trošak - Stvarni trošak) / On-Demand ekvivalentni trošak × 100%

Prema ProsperOps benchmarkingu, prosječni AWS Compute ESR porastao je s 21% na 26% između 2022. i 2023., s daljnjim poboljšanjima u 2024. i 2025. To znači da prosječna organizacija štedi tek četvrtinu na compute resursima — što ostavlja golem prostor za napredak.

Cilj za zrele FinOps organizacije? ESR iznad 40%. Najuspješniji timovi postižu i preko 50%, kombinirajući različite instrumente s automatizacijom.

# Izračun ESR-a za AWS okruženje
import boto3
from datetime import datetime, timedelta

ce = boto3.client('ce')

end = datetime.now().strftime('%Y-%m-%d')
start = (datetime.now() - timedelta(days=30)).strftime('%Y-%m-%d')

# Dohvat troškova
amortized = ce.get_cost_and_usage(
    TimePeriod={'Start': start, 'End': end},
    Granularity='MONTHLY',
    Metrics=['AmortizedCost', 'NetAmortizedCost', 'UnblendedCost'],
    Filter={
        'Dimensions': {
            'Key': 'SERVICE',
            'Values': ['Amazon Elastic Compute Cloud - Compute']
        }
    }
)

for period in amortized['ResultsByTime']:
    amortized_cost = float(
        period['Metrics']['AmortizedCost']['Amount'])
    unblended_cost = float(
        period['Metrics']['UnblendedCost']['Amount'])

    # Gruba procjena On-Demand ekvivalenta
    on_demand_equivalent = unblended_cost * 1.45

    esr = ((on_demand_equivalent - amortized_cost)
           / on_demand_equivalent * 100)
    print(f"Razdoblje: {period['TimePeriod']['Start']}")
    print(f"  Amortized Cost: ${amortized_cost:,.2f}")
    print(f"  On-Demand ekvivalent: ${on_demand_equivalent:,.2f}")
    print(f"  Effective Savings Rate: {esr:.1f}%")

Najčešće greške i kako ih izbjeći

Na temelju iskustava stotina organizacija i FinOps istraživanja, evo grešaka koje vidim iznova i iznova:

1. Prekomjerno obvezivanje (Over-commitment)

Daleko najskuplja greška. Organizacije, oduševljene potencijalnim uštedama, kupe obveze za 90% ili čak 100% korištenja. A onda se korištenje smanji — a obveza se ne može otkazati. Pravilna strategija? Krenite konzervativno s 60-70% baseline-a i postupno povećavajte.

2. Ignoriranje fleksibilnih opcija

Mnogi timovi i dalje kupuju isključivo Standard RIs jer imaju najveći popust. Ali ako infrastruktura evoluira — a u doba kontejnera i mikro-servisa gotovo sigurno hoće — razlika između Standard RI i Compute Savings Plans (75% vs. 66%) brzo nestaje kad uzmete u obzir rizik neiskorištenih obveza.

3. Nedostatak kontinuiranog monitoringa

Kupnja obveze i zaboravljanje na nju do isteka — iznenađujuće česta praksa. Organizacije na naprednoj razini zrelosti kontinuirano prate iskorištenost i pokrivenost, minimum jednom tjedno, a idealno svakodnevno putem automatiziranih dashboardova.

4. Zanemarivanje multi-cloud dimenzije

Organizacije s više cloud providera moraju razviti zasebne strategije za svaku platformu, ali s koordiniranim ukupnim ciljem. Obveza na AWS-u ne pomaže ako Azure ili GCP troškovi rastu nekontrolirano.

5. Nedovoljna komunikacija s inženjerskim timovima

Kupnja trogodišnje obveze za specifičan tip instance dok razvojni tim planira migraciju na kontejnere za šest mjeseci — klasičan primjer nedostatka komunikacije. Uvijek uskladite planove obveza s tehničkom strategijom organizacije.

Automatizacija upravljanja obvezama

Prema State of FinOps 2025 izvješću, 34% FinOps praktičara slaže se da trebaju ulagati u automatizaciju — porast od 20% u odnosu na prethodnu godinu. Ručno upravljanje obvezama jednostavno ne može pratiti brzinu promjena u modernim cloud okruženjima.

Nativni alati cloud providera

  • AWS: Cost Explorer preporuke, AWS Budgets za upozorenja, AWS Organizations za konsolidirano korištenje
  • Azure: Azure Advisor preporuke, Cost Management + Billing, Azure Policy za provođenje standarda
  • GCP: Recommender API, BigQuery billing export za dubinsku analizu, Budget alerts

Specijalizirani FinOps alati

Za organizacije kojima nativni alati nisu dovoljni, postoji cijeli ekosustav specijaliziranih rješenja. Trošak FinOps alata kreće se od 3 do 5% cloud računa za premium rješenja, ali ROI je tipično 10 do 20 puta — što ih čini jednom od boljih investicija koje možete napraviti.

Kombiniranje obvezujućih popusta sa spot instancama

Za one koji su pročitali naš prethodni vodič o spot instancama, evo kako se te dvije strategije nadopunjuju:

  • Reserved Instances / Savings Plans: Za stabilni dio korištenja koji mora raditi 24/7 bez prekida
  • Spot instance: Za prekidive workloadove, batch procesiranje, CI/CD pipeline-ove i skaliranje iznad baseline-a
  • On-Demand: Sigurnosni sloj za vršna opterećenja i kritične workloadove koji ne toleriraju ni jedan oblik rizika

Organizacije koje koriste ovu trostruku strategiju ostvaruju prosječnu uštedu od 55 do 65% na compute resursima. Za tvrtku koja troši 500.000 dolara mjesečno na cloud, to je 275.000 do 325.000 dolara manje — svaki mjesec. Ili preko 3 milijuna dolara godišnje.

Zaključak: Od teorije do prakse

Obvezujući popusti nisu najuzbudljivija tema u svijetu cloud computinga — ali su jedna od najučinkovitijih. Za razliku od mnogih optimizacija koje zahtijevaju značajan inženjerski rad, kupnja Savings Plana ili Reserved Instance može se obaviti u nekoliko klikova i odmah počinje generirati uštede.

Evo sažetka ključnih preporuka:

  1. Analizirajte korištenje kroz minimalno 30, a idealno 90 dana prije bilo kakve kupnje
  2. Krenite konzervativno — pokrijte 60-70% baseline-a i postupno povećavajte
  3. Preferirajte fleksibilnost — Compute Savings Plans i spend-based CUD-ovi štite od promjena u infrastrukturi
  4. Kombinirajte instrumente — slojevita strategija s RI + SP + Spot daje najbolje rezultate
  5. Automatizirajte monitoring — pratite ESR, pokrivenost i iskorištenost kontinuirano
  6. Uskladite s poslovnom strategijom — obveze moraju biti u skladu s tehničkim planovima organizacije

U sljedećim člancima istražit ćemo alate za automatizaciju FinOps procesa i napredne strategije za multi-cloud okruženja. Do tada, pregledajte svoje korištenje, provjerite što vam Cost Explorer, Azure Advisor ili GCP Recommender predlažu — i počnite štedjeti.

O Autoru Editorial Team

Our team of expert writers and editors.