Optymalizacja kosztów GCP. Committed Use Discounts, Spot VMs i strategie FinOps dla polskich firm.

Jerzy Kopaczewski 22 lipca 2026 14 min czytania
Contents

Optymalizacja kosztów GCP - zniżki za zobowiązanie, Spot VMs i strategie FinOps

Google Cloud Platform rozlicza się inaczej niż AWS. Nie ma Reserved Instances w klasycznym rozumieniu, nie ma Savings Plans. Zamiast tego GCP oferuje Committed Use Discounts (CUD), automatyczne Sustained Use Discounts (SUD), Spot VMs i narzędzia Active Assist do identyfikacji marnotrawstwa. Ten artykuł pokazuje, jak połączyć te mechanizmy w spójną strategię FinOps, która realnie obniży Twoje rachunki o 30-60%.

Polskie firmy coraz częściej sięgają po Google Cloud - szczególnie w sektorze fintech, data analytics i AI/ML. Jednocześnie wiele z nich przenosi na GCP nawyki kosztowe z AWS lub Azure, co prowadzi do nieporozumień. GCP ma własną logikę cenową i własne mechanizmy oszczędności. Zrozumienie ich to pierwszy krok do kontroli budżetu.

W tym artykule omawiamy każdą dostępną dźwignię optymalizacji kosztów na GCP - od automatycznych rabatów, przez zobowiązania, po strategie architektoniczne. Wszystko z konkretnymi liczbami i przykładami z naszych projektów.

 

Model cenowy GCP - czym różni się od AWS

Zanim przejdziemy do optymalizacji, warto zrozumieć fundamentalne różnice:

AspektGCPAWS
RozliczaniePer-second billing (min. 1 minuta)Per-second (EC2), per-hour (niektóre usługi)
Automatyczne rabatySustained Use Discounts (do 30%)Brak automatycznych
ZobowiązaniaCommitted Use Discounts (1 lub 3 lata)Reserved Instances / Savings Plans
Spot/PreemptibleSpot VMs (do 91% rabatu)Spot Instances (do 90%)
Prawo do darmowego poziomuAlways Free (e2-micro, 5GB storage, BigQuery 1TB/mies.)Free Tier (12 miesięcy + always free)
Egress pricingZróżnicowany (Premium vs Standard Tier)Flat per-GB (różny per region)

Kluczowa różnica: GCP automatycznie nagradza ciągłość używania (Sustained Use Discounts). Nie musisz nic kupować ani rezerwować - jeśli maszyna wirtualna działa przez cały miesiąc, płacisz mniej. To oznacza, że część optymalizacji dzieje się bez Twojej interwencji.

 

Sustained Use Discounts (SUD) - automatyczny rabat

Sustained Use Discounts to mechanizm unikatowy dla GCP. Działa automatycznie dla maszyn wirtualnych Compute Engine (z wyjątkiem E2 i A2/A3):

  • 0-25% miesiąca: pełna cena
  • 25-50%: 20% rabatu na nadmiarowe godziny
  • 50-75%: 40% rabatu
  • 75-100%: 60% rabatu

Efektywny rabat przy 100% użyciu: około 30% w stosunku do ceny on-demand.

SUD działa na poziomie projektu i regionu - GCP agreguje użycie wszystkich instancji tego samego typu w danym regionie. Jeśli wymieniasz maszynę na inną tego samego typu (np. n2-standard-4 -> inna n2-standard-4), rabat się nie resetuje.

Co to oznacza w praktyce: Jeśli masz workload, który działa 24/7 na maszynach N1 lub N2, dostajesz 30% rabatu bez żadnego zobowiązania, bez rezerwacji, bez aktywacji. Po prostu płacisz mniej na koniec miesiąca.

Ograniczenia:

  • Nie działa na maszynach E2 (najtańsze) - ale te mają GCP Flex CUD
  • Nie działa na maszynach A2/A3 (GPU)
  • Nie łączy się z Committed Use Discounts (CUD zastępuje SUD)
  • Nie działa na Spot VMs

 

Committed Use Discounts (CUD) - zobowiązanie za rabat

Committed Use Discounts to odpowiednik AWS Reserved Instances, ale z ważną różnicą: zobowiązujesz się do minimalnego poziomu użycia zasobów (vCPU + pamięć), a nie do konkretnego typu instancji.

Jak działają CUD

Kupujesz zobowiązanie na 1 lub 3 lata:

  • 1 rok: 20-28% rabatu (w zależności od typu maszyny)
  • 3 lata: 46-55% rabatu

Zobowiązanie dotyczy ilości vCPU i GB pamięci RAM w danym regionie. Nie jesteś przywiązany do konkretnego typu instancji - możesz zmieniać z n2-standard-4 na n2-standard-8 bez utraty rabatu.

Resource-based vs Spend-based CUD

Typ CUDZobowiązanieElastycznośćRabat (3 lata)
Resource-basedKonkretna ilość vCPU + RAM w regionieDowolny typ maszyny w tej samej rodzinie46-55%
Spend-based (Flex CUD)Minimalna kwota $/godzinęDowolny typ maszyny, dowolny regionMniejszy (typowo 20-25%)

Spend-based (Flex CUD) to nowszy model, dostępny od 2024. Działa jak AWS Compute Savings Plans - zobowiązujesz się do kwoty wydatków, a nie do konkretnych zasobów. Działa między regionami i rodzinami maszyn. Mniejszy rabat, ale większa elastyczność.

Przykład kalkulacji

Firma w Polsce używa 3 instancje n2-standard-8 (8 vCPU, 32 GB RAM każda) 24/7 w regionie europe-central2 (Warszawa):

Bez CUD (tylko SUD):

  • Cena on-demand n2-standard-8: ~$0.3876/godzinę
  • SUD 30%: efektywna cena ~$0.2713/godzinę
  • 3 maszyny x 730h: ~$594/miesiąc

Z CUD 3-letnim (resource-based):

  • Zobowiązanie: 24 vCPU + 96 GB RAM w europe-central2
  • Rabat: ~52%
  • Efektywna cena: ~$0.1860/godzinę
  • 3 maszyny x 730h: ~$407/miesiąc

Oszczędność: ~$187/miesiąc = ~$2,244/rok = ~$6,732 w ciągu 3 lat

Dla większej infrastruktury (20-50 maszyn) oszczędności sięgają dziesiątek tysięcy dolarów rocznie.

Kiedy kupować CUD

  • Baseline load: workload, który działa 24/7 od co najmniej 3 miesięcy
  • Stabilna wielkość: nie planujesz znaczącego zmniejszenia infrastruktury
  • Region ustalony: nie planujesz migracji do innego regionu GCP

Kiedy NIE kupować:

  • Workload rośnie szybko (co miesiąc podwajasz zasoby) - kup mniejsze CUD i dokupuj
  • Planujesz migrację z GCP do innej chmury
  • Workload jest sezonowy (lepiej Spot VMs + on-demand)

 

Spot VMs - do 91% rabatu za elastyczność

Spot VMs (dawniej Preemptible VMs) to maszyny wirtualne dostępne z rabatami 60-91%, które GCP może wyłączać w każdym momencie (z 30-sekundowym ostrzeżeniem).

Różnice między Spot VM a Preemptible VM

Od 2022 roku GCP oficjalnie zastąpił Preemptible VMs przez Spot VMs:

  • Preemptible: max 24h życia, potem automatyczne wyłączenie
  • Spot: brak limitu czasu życia (ale GCP może wyłączać w dowolnym momencie)

W praktyce Spot VMs to ulepszona wersja - użyj ich zamiast Preemptible.

Gdzie stosować Spot VMs

WorkloadNadaje się do Spot?Uwagi
CI/CD pipelinesTakRunners na GKE z Spot node pool. Przerywanie = restart joba.
Batch processing / ETLTakDataflow, Dataproc z Spot workers. Checkpointing wbudowany.
ML trainingTak (z checkpointami)Vertex AI Training z Spot. Zapisuj checkpoint co N iteracji.
Dev/test environmentsTakJeśli przerywanie nie blokuje programistów
GKE workloads (stateless)TakDeployment z min. 2 replikami, jedna na Spot, jedna na on-demand
Bazy danych (produkcja)NieUtrata danych / niedostępność nie do zaakceptowania
Single-instance workload krytycznyNieBrak redundancji = ryzyko niedostępności

Spot na GKE - konfiguracja node pool

W GKE możesz mieszać node poole - część na Spot, część na on-demand:

# GKE node pool - Spot VMs
apiVersion: container.google.com/v1
kind: NodePool
spec:
  config:
    spot: true
    machineType: n2-standard-4
  autoscaling:
    enabled: true
    minNodeCount: 0
    maxNodeCount: 10
  management:
    autoRepair: true
    autoUpgrade: true

Kluczowe: ustaw PodDisruptionBudget dla workload na Spot node pool, żeby Kubernetes wiedział, ile replik może być jednocześnie niedostępnych.

 

Active Assist - rekomendacje optymalizacyjne GCP

Active Assist to zestaw narzędzi ML wbudowanych w GCP Console, które analizują Twoje użycie i sugerują oszczędności:

Recommender

Trzy kluczowe recommender-y dla kosztów:

  1. VM Rightsizing Recommender - analizuje użycie CPU i RAM przez 8 dni i sugeruje mniejszy typ maszyny, jeśli zasoby są niewykorzystane

  2. Idle Resource Recommender - identyfikuje zasoby, które nie są używane:
    • Dyski persystentne bez podłączonej instancji
    • Statyczne adresy IP bez przypisania
    • VM z <1% użycia CPU przez ostatni tydzień
    • Nieużywane snapshoty starsze niż 90 dni
  3. Committed Use Discount Recommender - analizuje stabilność Twojego użycia i sugeruje optymalną wielkość CUD

Billing Export do BigQuery

Do głębszej analizy kosztów, włącz eksport danych billingowych do BigQuery. Daje Ci:

  • Koszty per-projekt, per-serwis, per-SKU
  • Trend dzienny/tygodniowy/miesięczny
  • Możliwość budowania dashboardów w Looker Studio
  • Automatyczne alerty na anomalie (Cloud Monitoring)
-- Top 10 najdroższych usług w ostatnim miesiącu
SELECT
  service.description AS service,
  ROUND(SUM(cost), 2) AS total_cost
FROM `project.billing_dataset.gcp_billing_export_v1_*`
WHERE DATE(_PARTITIONTIME) >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)
GROUP BY service.description
ORDER BY total_cost DESC
LIMIT 10

 

Ukryte koszty GCP - na co uważać

Egress (ruch wychodzący)

GCP ma dwa poziomy sieciowe:

  • Premium Tier (domyślny): ruch przechodzi przez globalną sieć Google. Droższy egress (~$0.12/GB między kontynentami).
  • Standard Tier: ruch wychodzi przez publiczny internet bliżej źródła. Tańszy (~$0.085/GB), ale wyższy czas odpowiedzi (latency).

Dla polskich firm z użytkownikami w Polsce i UE - różnic nie będzie dużo. Ale jeśli serwujesz dane globalnie (CDN, API publiczne), Standard Tier może dać 20-30% oszczędności na egress.

Cross-region replication

Jeśli używasz multi-regionalnego storage (np. Cloud Storage w EU) - płacisz za replikację automatycznie. Dla danych, które nie wymagają wysokiej dostępności między regionami, użyj single-region bucket (europe-central2 dla Polski).

BigQuery

BigQuery rozlicza się per-zapytanie (ilość przetworzonych danych):

  • On-demand: $6.25/TB skanowanych danych
  • Slots (flat-rate): od $2,000/miesiąc za 100 slotów

Typowe pułapki:

  • SELECT * na dużej tabeli - skanuje WSZYSTKIE kolumny. Zawsze wybieraj konkretne kolumny.
  • Brak partycjonowania - zapytanie skanuje całą tabelę zamiast jednej partycji.
  • Materializacja widoków zamiast użycia cache.

Cloud NAT

Analogicznie do AWS NAT Gateway - Cloud NAT pobiera opłatę za godzinę działania + per-GB przetworzonych danych. Jeśli Twoje maszyny potrzebują dostępu do internetu tylko do ściągania pakietów (apt-get, pip), rozważ Private Google Access zamiast NAT.

 

Strategie FinOps dla GCP - lista kontrolna

Poziom 1: Quick wins (tydzień 1)

  • Włącz Billing Export do BigQuery
  • Przejrzyj rekomendacje Active Assist (VM Rightsizing, Idle Resources)
  • Usuń nieużywane dyski, snapshoty, statyczne IP
  • Włącz automatyczne wyłączanie środowisk dev/test poza godzinami pracy
  • Sprawdź, czy BigQuery używa partycjonowania i clustering

Poziom 2: Średniookresowe (miesiąc 1-2)

  • Zidentyfikuj baseline load i kup CUD (resource-based lub Flex)
  • Wdróż Spot VMs dla CI/CD i batch processing
  • Skonfiguruj budżety i alerty w Cloud Billing
  • Wdróż labele (labels) na wszystkich zasobach - per-zespół, per-środowisko, per-projekt
  • Rozważ Standard Tier networking dla niekrytycznych workload

Poziom 3: Strategiczne (kwartał)

  • Wdróż model showback/chargeback między zespołami
  • Automatyzacja lifecycle management (nieużywane zasoby -> alert -> usuń po 14 dniach)
  • Analiza kosztów multi-cloud vs single-cloud (jeśli używasz również AWS/Azure)
  • Renegocjacja CUD (jeśli zbliża się koniec zobowiązania)
  • Ocena custom machine types vs predefined (czy płacisz za zasoby, których nie używasz)

 

Custom Machine Types - oszczędność na granularności

GCP pozwala definiować własne typy maszyn z dokładną ilością vCPU i RAM. W AWS/Azure musisz wybrać z predefined sizes - jeśli potrzebujesz 6 vCPU i 24 GB RAM, kupujesz 8 vCPU / 32 GB.

Na GCP możesz stworzyć maszynę dokładnie 6 vCPU / 24 GB RAM - i zapłacisz mniej.

Kiedy warto:

  • Workload, który potrzebuje dużo RAM, ale mało CPU (np. caching, in-memory databases)
  • Workload, który potrzebuje dużo CPU, ale mało RAM (np. encoding, kompresja)
  • Każda sytuacja, gdzie predefined type marnuje >20% zasobów

Ograniczenia:

  • Custom machine types nie łączą się z resource-based CUD (tylko Flex CUD)
  • Minimum: 1 vCPU, 0.9 GB RAM na vCPU
  • Maximum: 96 vCPU, 624 GB RAM (N2)

 

GCP w regionie europe-central2 (Warszawa)

Od 2021 roku GCP posiada region europe-central2 w Warszawie. Dla polskich firm to istotne z kilku powodów:

  • Czas odpowiedzi: <5ms do użytkowników w Polsce (vs 20-40ms z Frankfurt/Holandia)
  • Zgodność z RODO: dane pozostają fizycznie w Polsce
  • Zgodność z KNF: dla sektora finansowego - dane przetwarzane w kraju
  • Koszty: porównywalne z europe-west1 (Belgia), często identyczne

Dostępność usług w europe-central2:

  • Compute Engine, GKE, Cloud Run - tak
  • BigQuery - tak (multi-region EU obejmuje PL)
  • Cloud SQL, AlloyDB - tak
  • Vertex AI - częściowo (nie wszystkie modele)
  • Cloud Spanner - tak (multi-region)

Jeśli Twoja firma działa w Polsce i nie potrzebuje globalnego zasięgu - użyj europe-central2 jako primary region. Oszczędzisz na czasie odpowiedzi i spełnisz wymagania regulacyjne.

 

Porównanie oszczędności - co daje ile

MechanizmTypowy rabatWymagane zobowiązanieRyzyko
Sustained Use DiscountsDo 30%Żadne (automatyczny)Brak
CUD 1-roczny20-28%1 rok, nieodwołalnyNiskie (jeśli baseline stabilny)
CUD 3-letni46-55%3 lata, nieodwołalnyŚrednie (lock-in)
Spot VMs60-91%ŻadnePrzerywanie w dowolnym momencie
VM Rightsizing20-50%ŻadneBrak (jeśli dobrze zmierzono)
Idle Resource cleanup100% (eliminacja)ŻadneBrak
Custom Machine Types10-30%ŻadneBrak

Łącznie, typowa organizacja może osiągnąć 40-60% redukcji kosztów GCP stosując kombinację tych mechanizmów. Klucz to zaczynanie od bezryzykownych optymalizacji (rightsizing, idle cleanup, SUD) i stopniowe dodawanie zobowiązań (CUD) w miarę ustabilizowania się użycia.

 

Jak możemy pomóc

W Devopsity wdrażamy strategie FinOps na GCP dla polskich organizacji - od startupów po firmy klasy korporacyjnej. Typowe zaangażowanie obejmuje:

  • Audyt obecnych kosztów GCP i identyfikacja quick wins (1 dzień)
  • Analiza użycia i rekomendacja optymalnych CUD (1-2 dni)
  • Wdrożenie Spot VMs, autoskalowania i lifecycle policies (2-3 dni)
  • Konfiguracja dashboardów kosztowych i alertów (1 dzień)

Jeśli Twoje rachunki za GCP rosną szybciej niż przychody - to sygnał, że potrzebujesz strategii FinOps, a nie większego budżetu.

Jerzy Kopaczewski

Potrzebujesz audytu kosztów GCP?

Umów się na bezpłatną 30-minutową rozmowę. Bez sprzedaży - techniczna dyskusja o Twoim środowisku.

 

Najczęściej zadawane pytania

Czy Committed Use Discounts można anulować?

Nie. CUD to zobowiązanie nieodwołalne - płacisz niezależnie od tego, czy używasz zasobów. Dlatego kupuj CUD tylko na baseline load, który jesteś pewien, że utrzymasz. Jeśli workload jest zmienny, rozważ Flex CUD (spend-based) - mniejszy rabat, ale więcej elastyczności.

Czy Spot VMs są odpowiednie dla produkcji?

Tak, jeśli architektura jest odporna na przerywanie. Stateless workload na GKE z min. 2 replikami, batch processing z checkpointami, CI/CD - to wszystko działa dobrze na Spot. Bazy danych i single-instance workload krytyczne - nie.

Ile trwa wdrożenie strategii FinOps na GCP?

Quick wins (idle cleanup, rightsizing) - 1-2 dni. Pełna strategia z CUD, Spot, dashboardami i procesami - 2-4 tygodnie. Najdłużej trwa zmiana kultury organizacyjnej (inżynierowie biorą odpowiedzialność za koszty swoich środowisk).

Czy region europe-central2 (Warszawa) jest droższy?

Nie znacząco. Ceny są porównywalne z europe-west1 (Belgia) - różnice są minimalne (0-5%). Za to zyskujesz niższy czas odpowiedzi i zgodność z regulacjami (RODO, KNF).

Jak CUD łączą się z SUD?

Nie łączą się - CUD zastępuje SUD. Jeśli kupujesz CUD na dany zasób, SUD nie jest naliczany. CUD daje większy rabat niż SUD (55% vs 30%), więc to i tak korzystniejsze.

GCP Google Cloud FinOps optymalizacja kosztów Committed Use Discounts Spot VMs cloud cost management

Przeczytaj również:

Poprzedni post Następny post