Spis treści Podziękowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . O autorze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aktualizacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
v vi vii 1
1. Serverless w 5 minut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Model cenowy usług serverless . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ograniczenia techniczne na platformie AWS Lambda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kiedy używać Lambdy? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 7 11 14
I. Podstawowe zadania deweloperskie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
2. Praca na lokalnej maszynie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Konfiguracja zależności dla SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instalacja narzędzi JavaScriptowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instalacja narzędzia AWS SAM CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Konfiguracja danych dostępowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Korzystanie z konta o ograniczonych uprawnieniach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wykorzystanie lokalnego profilu użytkownika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19 20 21 22 23 25 26
3. Tworzymy usługę sieciową . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Infrastruktura opisana za pomocą kodu źródlowego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Model programowania dla funkcji Lambda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wdrażanie aplikacji SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Analiza stworzonych zasobow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27 29 34 36 40
4. Lokalna praca i rozwiązywanie problemów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pobieranie logow z wykonania funkcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symulowanie funkcji Lambda lokalnie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Debugowanie funkcji Lambda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Walidacja szablonów CloudFormation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Praca w zespole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Konfiguracja potoku wdrożeniowego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45 48 51 53 54 56 57
5. Bezpieczne wdrożenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Konfiguracja funkcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wersje oraz aliasy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stopniowe wdrożenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61 62 64 68
ix