Opis projektu
PrzetłumaczoneGłównym powodem wyboru tego podejścia są ekonomia i skalowalność. Ruch jest nieprzewidywalny i skokowy: cichy przez godziny, a potem nagły wzrost. Chcemy, aby backend skalował się do zera, gdy nikt go nie używa, a płacimy tylko za rzeczywiste wywołania i zużyte zasoby, a pod obciążeniem automatycznie się skaluje bez naszego udziału. Zimne uruchomienia muszą być utrzymywane w rozsądnych granicach: odpowiednie rozmiarowanie pamięci, lekkie zależności i przydzielona współbieżność tylko tam, gdzie krytyczna ścieżka naprawdę tego wymaga. Wzorzec dostępu do DynamoDB jest ważny do zaprojektowania z wyprzedzeniem, a nie dodawania później — ta decyzja determinuje większość wydajności i kosztów.
Wszystko powinno być powtarzalne jako Infrastruktura jako Kod — Terraform lub AWS SAM/CDK według wyboru, ale bez ręcznych kliknięć w konsoli. Potrzebujemy oddzielnych środowisk deweloperskich, testowych i produkcyjnych uruchamianych z tych samych szablonów, ról IAM z minimalnymi uprawnieniami dla każdej funkcji, strukturalnego logowania i śledzenia (CloudWatch, X-Ray), alarmów na błędy i ograniczenia, oraz pipeline CI/CD z wdrożeniem przy scaleniu. Proszę uwzględnić:
— API Gateway i obsługiwacze Lambda z walidacją wejścia i jasnymi odpowiedziami na błędy;
— projekt DynamoDB (jedna lub wiele tabel) z udokumentowanymi wzorcami dostępu;
— EventBridge/SQS do zadań w tle, ponowne próby i kolejki martwych listów;
— pełne IaC, separacja środowisk i działający pipeline wdrożeniowy.