Serverless wydaje się idealny dla małej firmy – płacisz tylko za to, czego używasz. Ale ta obietnica często kończy się rachunkiem, który przekracza tradycyjne modele.
Z panelu widzę trzy powtarzające się schematy, które windują koszty.
1. Zimne starty – ukryty podatek od każdego requestu
Serverless, jak AWS Lambda czy Cloud Functions, ma opóźnienie przy pierwszym wywołaniu po okresie bezczynności – tzw. cold start. Dla małej firmy z ruchem o zmiennym natężeniu to codzienność.
Przykład: startup e-commerce z 5000 odwiedzin miesięcznie. Większość ruchu przychodzi falami – np. po newsletterze. Przy każdym szczycie funkcje uruchamiają się od nowa. Opóźnienie 300-500 ms kosztuje konwersje i generuje dodatkowe wywołania. W efekcie zapłacisz nie tylko za compute, ale też za większą liczbę invocations.
Rozwiązanie: jeśli Twój ruch jest nierównomierny, rozważ provisioned concurrency. To koszt stały, ale przewidywalny – często niższy niż opłata za 'zimne’ starty w modelu pay-per-use.
2. Przeciążanie API Gateway – droga kara za prosty błąd
API Gateway to brama do funkcji serverless. Ma własną taryfę – za milion requestów zapłacisz ok. 35 zł. Jeśli kod jest nieoptymalny (np. zbyt wiele wywołań do bazy), każde zapytanie generuje kilka żądań do API Gateway.
Case: klient uruchomił funkcję, która dla każdego produktu odpalała oddzielne zapytanie do DynamoDB. 10 produktów = 10 requestów przez API Gateway. Koszt API Gateway urósł do 300 zł miesięcznie, podczas gdy compute to było tylko 50 zł.
Lekcja: optymalizuj pod kątem batchowania. Jedno wywołanie z listą ID zamiast pętli. To może obniżyć koszty transmisji o 60-80%.
3. Ukryte opłaty za logowanie i monitoring
Serverless domyślnie loguje wszystko do CloudWatch. Małe firmy często zostawiają te ustawienia domyślne. Koszt przechowywania logów bywa wyższy niż samej funkcji. Dodatkowo każde logowanie requestu to opłata za ilość danych.
Przykład: aplikacja SaaS loguje każde zapytanie REST. 1000 requestów dziennie generuje 1 GB logów. Miesięczny koszt przechowywania – 50 zł. A jeśli zapomnisz wyłączyć logowanie dla funkcji testowych, dochodzi kolejne 30 zł.
Rozwiązanie: selektywne logowanie. Loguj tylko błędy i krytyczne metryki. Ustaw retention policy na 7 dni. Użyj X-Ray do monitorowania – on pokazuje szczegóły bez przechowywania całych logów.
Podsumowanie
Serverless nie jest automatycznie tańszy. Dla małej firmy z nieregularnym ruchem i średnią liczbą wywołań tradycyjna instancja EC2 lub VPS może kosztować mniej. Klucz to audyt architektury – zrozumienie, gdzie generujesz zbędne zapytania i ile płacisz za wygodę. Zanim pójdziesz w serverless, zrób test porównawczy z obecnym modelem. Często okazuje się, że stały serwer za 100 zł jest prostszy i tańszy.


