Projektowanie pod koszty

Chmura daje niesamowitą elastyczność, ale jeśli nie pilnujesz kosztów, rachunek może Cię zaskoczyć. Optymalizacja kosztów to nie "oszczędzanie na wszystkim". To wydawanie pieniędzy mądrze: płacenie za to, czego naprawdę potrzebujesz, w najkorzystniejszym modelu cenowym. W tej lekcji nauczysz się projektować architektury, które są zarówno wydajne, jak i ekonomiczne.

Right-Sizing: płać za to, czego potrzebujesz

Right-sizing to dopasowanie typu instancji do rzeczywistego obciążenia. To jeden z najprostszych sposobów na redukcję kosztów, a jednocześnie najczęściej ignorowany.

Typowy scenariusz: programista uruchamia instancję m5.xlarge (4 vCPU, 16 GB RAM), bo "kiedyś może będziemy potrzebować". W rzeczywistości aplikacja zużywa 10% CPU i 2 GB RAM. Przepłacasz 5x.

Jak robić right-sizing?

  • Monitoruj wykorzystanie zasobów (CloudWatch: CPU, pamięć, sieć, dysk)
  • Szukaj instancji z niskim wykorzystaniem (poniżej 40% CPU przez dłuższy czas)
  • Zmniejsz typ instancji lub zmień family (np. z m5 na t3 dla workloadów z burstable traffic)
  • Użyj AWS Compute Optimizer, który analizuje metryki i rekomenduje optymalny typ instancji
💡 AWS Compute Optimizer
Compute Optimizer analizuje historyczne metryki CloudWatch i rekomenduje optymalne typy instancji EC2, wolumeny EBS, funkcje Lambda i grupy Auto Scaling. Jest darmowy i może zidentyfikować oszczędności nawet 25-50%. Włączenie go to jeden klik w konsoli AWS.

Modele cenowe EC2

AWS oferuje kilka modeli cenowych. Wybór właściwego modelu to największa dźwignia kosztowa.

On-Demand

Płacisz za godzinę (lub sekundę). Brak zobowiązań, pełna elastyczność. Najdroższy model, ale idealny dla:

  • Krótkotrwałych, nieprzewidywalnych workloadów
  • Developmentu i testowania
  • Aplikacji, które dopiero uruchamiasz (nie znasz jeszcze wzorców ruchu)

Reserved Instances (RI)

Zobowiązujesz się na 1 lub 3 lata, w zamian dostajesz rabat do 72%. Trzy opcje płatności:

  • All Upfront: płacisz całość z góry (największy rabat)
  • Partial Upfront: część z góry, reszta miesięcznie
  • No Upfront: płacisz miesięcznie (najmniejszy rabat, ale bez dużej inwestycji z góry)

Idealne dla stabilnych, przewidywalnych workloadów (bazy danych, serwery aplikacji działające 24/7).

Savings Plans

Nowsza i bardziej elastyczna alternatywa dla Reserved Instances. Zobowiązujesz się do określonej kwoty wydatków na godzinę (np. $10/h przez 1 lub 3 lata), w zamian dostajesz rabat do 72%.

Dwa typy:

  • Compute Savings Plans: najbardziej elastyczne. Rabat dotyczy EC2, Lambda i Fargate. Możesz zmieniać typ instancji, region, OS
  • EC2 Instance Savings Plans: większy rabat, ale przywiązany do konkretnej rodziny instancji w konkretnym regionie

Spot Instances

Kupujesz nieużywaną capacity AWS z rabatem do 90%! Ale jest haczyk: AWS może zabrać Twoją instancję z 2-minutowym ostrzeżeniem, gdy potrzebuje capacity.

Idealne dla:

  • Batch processing (przetwarzanie danych)
  • CI/CD pipelines (build, test)
  • Big data analytics
  • Workloady, które mogą tolerować przerwania
⚖️ Porównanie modeli cenowych EC2
ModelRabatZobowiązanieNajlepsze dla
On-Demand0% (cena bazowa)BrakKrótkoterminowe, nieprzewidywalne
Reserved InstancesDo 72%1 lub 3 lataStabilne, przewidywalne 24/7
Savings PlansDo 72%1 lub 3 lata ($$/h)Elastyczne zobowiązanie, zmiana instancji OK
Spot InstancesDo 90%Brak (ale mogą być zabrane)Batch, CI/CD, analytics, fault-tolerant
⚠️ EXAM ALERT
Na egzaminie pytają o wybór modelu cenowego na podstawie scenariusza. Kluczowe wskazówki: "predictable, steady-state" = Reserved/Savings Plans. "Short-term, spiky, unpredictable" = On-Demand. "Can be interrupted, batch processing" = Spot. "Flexible commitment" = Savings Plans (nie RI).
🏢 Scenariusz: Optymalna strategia cenowa

Firma ma trzy typy workloadów:

  • Baza danych produkcyjna: działa 24/7, stabilne obciążenie. Wybór: Reserved Instance (All Upfront, 3 lata) = do 72% rabatu
  • Serwery aplikacji: działają 24/7, ale firma planuje migrację do kontenerów za rok. Wybór: Compute Savings Plan (1 rok) = rabat + elastyczność zmiany na Fargate
  • Pipeline przetwarzania danych: uruchamiany raz dziennie, może być przerwany i wznowiony. Wybór: Spot Instances = do 90% rabatu

Łącząc te trzy strategie, firma oszczędza 50-70% w porównaniu z płaceniem za wszystko On-Demand.

S3 Lifecycle Policies

Dane mają swój cykl życia. Świeże dane potrzebujesz szybko, ale po miesiącu zaglądasz do nich rzadko, a po roku prawie nigdy. S3 oferuje różne klasy storage o różnych kosztach:

  • S3 Standard: najdroższy, ale najszybszy dostęp. Dla aktywnie używanych danych
  • S3 Standard-IA: tańsze przechowywanie, ale opłata za dostęp. Dla danych rzadko odczytywanych
  • S3 One Zone-IA: jak Standard-IA, ale w jednej AZ (tańsze, mniej durable)
  • S3 Glacier Instant Retrieval: bardzo tanie przechowywanie, dostęp w milisekundach
  • S3 Glacier Flexible Retrieval: jeszcze tańsze, dostęp w minutach do godzin
  • S3 Glacier Deep Archive: najtańsze, dostęp w godzinach (12-48h). Dla archiwum

Lifecycle Policy automatycznie przesuwa obiekty między klasami na podstawie ich wieku:

Przykład: po 30 dniach przenieś z Standard do Standard-IA. Po 90 dniach do Glacier. Po 365 dniach do Glacier Deep Archive. Po 7 latach usuń.

Nie wiesz, jak często dane będą odczytywane? S3 Intelligent-Tiering automatycznie przenosi obiekty między warstwami na podstawie wzorców dostępu:

  • Frequent Access (domyślna)
  • Infrequent Access (po 30 dniach bez dostępu)
  • Archive Instant Access (po 90 dniach)
  • Archive Access (opcjonalnie, po 90+ dniach)
  • Deep Archive Access (opcjonalnie, po 180+ dniach)

Koszt: niewielka opłata za monitoring i automatyzację, ale nie płacisz za retrieval (w przeciwieństwie do IA/Glacier). Idealny, gdy nie wiesz z góry, jakie będą wzorce dostępu do danych.

Koszty Data Transfer

To ukryty "zabójca" budżetu, o którym wielu zapomina. AWS ma specyficzny model kosztów transferu danych:

  • Data IN (do AWS): darmowy! Upload danych do AWS nic nie kosztuje
  • Data OUT (z AWS do internetu): płatny, cena maleje przy większych wolumenach
  • Między regionami: płatny (w obie strony)
  • Między AZ (w tym samym regionie): niewielka opłata
  • W ramach tej samej AZ: darmowy (przy użyciu prywatnych IP)
⚠️ Uwaga na koszty transferu
Multi-AZ i Multi-Region zwiększają dostępność, ale generują koszty transferu danych. Jeśli Twoja aplikacja przesyła duże ilości danych między AZ lub regionami, uwzględnij te koszty w kalkulacji. CloudFront może pomóc zredukować koszty data transfer (ceny CDN są niższe niż bezpośredni egress z EC2/S3).

Wzorce architektoniczne pod koszty

Kilka wzorców, które mogą znacząco obniżyć rachunki:

1. Serverless (Lambda + API Gateway + DynamoDB): płacisz tylko za faktyczne wywołania. Przy niskim i zmiennym ruchu serverless jest znacznie tańszy niż utrzymywanie EC2 24/7.

2. Mixed Instance Strategy z Auto Scaling: ASG może używać mieszanki instancji On-Demand i Spot. Na przykład: 2 instancje On-Demand jako baseline + do 8 Spot instances dla obsługi peak. Jeśli Spot zostanie zabrane, ASG automatycznie uruchomi On-Demand jako fallback.

3. Scheduled scaling: wyłączaj środowiska dev/test poza godzinami pracy. Jeśli Twój zespół pracuje 8-18, to 14 godzin na dobę serwery dev stoją bezczynnie. Scheduled scaling = oszczędność ~60%.

4. VPC Endpoints zamiast NAT Gateway: NAT Gateway kosztuje ~$0.045/GB za transfer danych. Jeśli Twoje EC2 w prywatnym subnecie komunikują się z S3 lub DynamoDB, VPC Endpoint (Gateway type) jest darmowy i szybszy.

🏢 Scenariusz: Startup optymalizuje koszty

Startup wydaje $5,000/miesiąc na AWS. Po audycie kosztów:

  1. Right-sizing: zmniejszenie instancji dev z m5.xlarge na t3.medium. Oszczędność: $800/mies.
  2. Savings Plans: Compute Savings Plan na produkcyjne serwery. Oszczędność: $1,200/mies.
  3. Spot Instances: pipeline CI/CD na Spot. Oszczędność: $400/mies.
  4. S3 Lifecycle: stare logi z Standard do Glacier. Oszczędność: $300/mies.
  5. Scheduled scaling: wyłączanie środowisk dev/staging na noc i weekendy. Oszczędność: $600/mies.

Suma oszczędności: $3,300/mies. (66% redukcja). Nowy rachunek: $1,700/mies.

Narzędzia AWS do zarządzania kosztami

  • AWS Cost Explorer: wizualizacja i analiza kosztów, prognozy, rekomendacje RI/Savings Plans
  • AWS Budgets: alerty gdy koszty przekroczą próg (np. email gdy przekroczysz $1,000/mies.)
  • AWS Compute Optimizer: rekomendacje right-sizing dla EC2, EBS, Lambda
  • AWS Cost Anomaly Detection: ML wykrywający nietypowe wzrosty kosztów
  • AWS Pricing Calculator: szacowanie kosztów przed uruchomieniem infrastruktury
✅ Checklist: Optymalizacja kosztów AWS
Włącz AWS Compute Optimizer i przejrzyj rekomendacje right-sizing
Kup Savings Plans lub Reserved Instances dla stabilnych workloadów
Użyj Spot Instances dla batch processing i CI/CD
Skonfiguruj S3 Lifecycle Policies dla danych archiwizacyjnych
Ustaw AWS Budgets z alertami emailowymi
Wyłączaj środowiska dev/test poza godzinami pracy
Użyj VPC Endpoints zamiast NAT Gateway dla S3/DynamoDB
Rozważ serverless dla workloadów o zmiennym ruchu
🧠 Podsumowanie
  • Right-sizing to dopasowanie typu instancji do rzeczywistego obciążenia. AWS Compute Optimizer pomaga zidentyfikować oszczędności
  • Reserved Instances i Savings Plans dają rabaty do 72% za zobowiązanie 1-3 lata. Savings Plans są bardziej elastyczne
  • Spot Instances dają do 90% rabatu, ale mogą być przerwane. Idealne dla batch i CI/CD
  • S3 Lifecycle Policies automatycznie przesuwają dane do tańszych klas storage z czasem
  • Data transfer OUT z AWS jest płatny. CloudFront i VPC Endpoints pomagają zredukować koszty transferu
  • Serverless (Lambda) i scheduled scaling mogą drastycznie obniżyć koszty przy zmiennym ruchu
  • AWS Budgets, Cost Explorer i Cost Anomaly Detection to kluczowe narzędzia do kontroli kosztów
🧪 Sprawdź się

Firma ma bazę danych produkcyjną działającą 24/7 przez cały rok. Który model cenowy da największą oszczędność?

A Spot Instances
B Reserved Instances (All Upfront, 3 lata)
C On-Demand
Baza danych produkcyjna to stabilny, przewidywalny workload 24/7. Reserved Instances (All Upfront, 3 lata) dają największy rabat (do 72%). Spot Instances nie nadają się dla baz danych (mogą być przerwane). On-Demand to najdroższy model.

Która usługa AWS automatycznie analizuje wykorzystanie zasobów i rekomenduje optymalne typy instancji?

A AWS Compute Optimizer
B AWS Cost Explorer
C AWS Trusted Advisor
Compute Optimizer analizuje metryki CloudWatch i rekomenduje optymalne typy instancji EC2, wolumeny EBS i konfiguracje Lambda. Cost Explorer wizualizuje koszty i prognozy. Trusted Advisor daje ogólne rekomendacje (w tym kosztowe), ale Compute Optimizer jest bardziej szczegółowy w right-sizing.

Firma chce automatycznie przenosić stare logi z S3 Standard do tańszego storage po 30 dniach. Jakiego mechanizmu użyje?

A S3 Cross-Region Replication
B S3 Intelligent-Tiering
C S3 Lifecycle Policy
S3 Lifecycle Policy automatycznie przenosi obiekty między klasami storage na podstawie ich wieku (np. po 30 dniach z Standard do Standard-IA, po 90 dniach do Glacier). Cross-Region Replication kopiuje dane do innego regionu. Intelligent-Tiering automatycznie zmienia klasę na podstawie wzorców dostępu, ale reguła "po 30 dniach" to typowa Lifecycle Policy.