Ten kurs jest przeznaczony dla:
-
Programistów, którzy mają pewne doświadczenie z architekturą bezserwerową
-
Programistów z doświadczeniem w rozwoju aplikacji w chmurze AWS.
W tym kursie nauczysz się:
-
Zastosować najlepsze praktyki oparte na architekturze zdarzeniowej do projektowania aplikacji bezserwerowych z wykorzystaniem odpowiednich usług AWS
-
Identyfikować wyzwania i kompromisy związane z przejściem na rozwój aplikacji bezserwerowych, a także formułować rekomendacje dostosowane do organizacji i środowiska deweloperskiego
-
Tworzyć aplikacje bezserwerowe, wykorzystując wzorce łączące zarządzane usługi AWS i uwzględniające cechy tych usług, w tym limity usług, dostępne integracje, model wywołań, obsługę błędów oraz ładunki danych źródeł zdarzeń
-
Porównać dostępne opcje pisania infrastruktury jako kodu, w tym AWS CloudFormation, AWS Amplify, AWS Serverless Application Model (AWS SAM) oraz AWS Cloud Development Kit (AWS CDK)
-
Stosować najlepsze praktyki przy pisaniu funkcji Lambda, w tym obsługę błędów, logowanie, ponowne użycie środowiska, wykorzystanie warstw, bezstanowość, idempotencję oraz konfigurację współbieżności i pamięci
-
Zastosować najlepsze praktyki budowania widoczności i monitorowania w aplikacji bezserwerowej
-
Zastosować najlepsze praktyki bezpieczeństwa w aplikacjach bezserwerowych
-
Identyfikować kluczowe rozważania dotyczące skalowania aplikacji bezserwerowej oraz dopasować każdą z tych kwestii do metod, narzędzi lub najlepszych praktyk zarządzania
-
Użyć AWS SAM, AWS CDK oraz narzędzi deweloperskich AWS do skonfigurowania procesu CI/CD i zautomatyzowania wdrażania aplikacji bezserwerowej
-
Tworzyć i aktywnie utrzymywać listę zasobów bezserwerowych, które wspierają rozwój aplikacji i angażowanie się w społeczność bezserwerową.
Dzień 1
Moduł 0: Wprowadzenie
-
Wprowadzenie do aplikacji, którą będziesz tworzyć
-
Dostęp do zasobów kursu (Przewodnik studenta, Przewodnik po laboratoriach, Dodatki do kursu online)
Moduł 1: Myślenie bezserwerowe
-
Najlepsze praktyki tworzenia nowoczesnych aplikacji bezserwerowych
-
Projektowanie sterowane zdarzeniami
-
Usługi AWS wspierające aplikacje bezserwerowe sterowane zdarzeniami
Moduł 2: Rozwój oparty na API i synchroniczne źródła zdarzeń
-
Charakterystyka standardowych aplikacji internetowych opartych na żądaniu/odpowiedzi (request/response)
-
Jak Amazon API Gateway pasuje do aplikacji bezserwerowych
-
Ćwiczenie: Skonfiguruj punkt końcowy HTTP API zintegrowany z funkcją Lambda
-
Wysokopoziomowe porównanie typów API (REST/HTTP, WebSocket, GraphQL)
Moduł 3: Wprowadzenie do uwierzytelniania, autoryzacji i kontroli dostępu
-
Uwierzytelnianie vs. Autoryzacja
-
Opcje uwierzytelniania do API za pomocą API Gateway
-
Amazon Cognito w aplikacjach bezserwerowych
-
Pula użytkowników Amazon Cognito vs. tożsamości zewnętrzne
Moduł 4: Frameworki do wdrożeń bezserwerowych
-
Przegląd programowania imperatywnego vs. deklaratywnego dla infrastruktury jako kodu
-
Porównanie CloudFormation, AWS CDK, Amplify i AWS SAM
-
Funkcje AWS SAM i AWS SAM CLI do lokalnej emulacji i testowania
Moduł 5: Używanie Amazon EventBridge i Amazon SNS do odłączania komponentów
-
Rozważania dotyczące rozwoju przy użyciu asynchronicznych źródeł zdarzeń
-
Funkcje i przypadki użycia Amazon EventBridge
-
Ćwiczenie: Zbuduj niestandardowy bus i regułę EventBridge
-
Porównanie przypadków użycia Amazon SNS vs. EventBridge
-
Ćwiczenie: Skonfiguruj temat SNS z filtrami
Moduł 6: Rozwój oparty na zdarzeniach przy użyciu kolejek i strumieni
-
Rozważania dotyczące rozwoju przy użyciu źródeł zdarzeń typu polling do wywoływania funkcji Lambda
-
Różnice między kolejkami a strumieniami jako źródłami zdarzeń dla Lambda
-
Wybór odpowiednich konfiguracji przy użyciu Amazon SQS lub Amazon Kinesis Data Streams jako źródła zdarzeń dla Lambda
-
Ćwiczenie: Skonfiguruj kolejkę Amazon SQS z kolejką dead-letter jako źródło zdarzeń dla Lambda
Laboratoria praktyczne
-
Laboratorium 1: Wdrażanie prostej aplikacji bezserwerowej
-
Laboratorium 2: Rozgłaszanie wiadomości z Amazon EventBridge
Dzień 2
Moduł 7: Pisanie dobrych funkcji Lambda
-
Jak cykl życia Lambda wpływa na kod funkcji
-
Najlepsze praktyki dla funkcji Lambda
-
Konfigurowanie funkcji
-
Kody funkcji, wersje i aliasy
-
Ćwiczenie: Konfiguracja i testowanie funkcji Lambda
-
Obsługa błędów w Lambda
-
Obsługa częściowych awarii przy użyciu kolejek i strumieni
Moduł 8: AWS Step Functions do orkiestracji
-
AWS Step Functions w architekturach bezserwerowych
-
Ćwiczenie: Stany Step Functions
-
Wzorzec callback
-
Standardowe vs. wyraziste przepływy robocze
-
Bezpośrednie integracje Step Functions
-
Ćwiczenie: Rozwiązywanie problemów z przepływem roboczym Step Functions
Moduł 9: Obserwowalność i monitorowanie
-
Trzy filary obserwowalności
-
Amazon CloudWatch Logs i Logs Insights
-
Pisanie skutecznych plików dziennika
-
Ćwiczenie: Interpretacja logów
-
Używanie AWS X-Ray do obserwowalności
-
Ćwiczenie: Włączenie X-Ray i interpretacja śladów X-Ray
-
Metryki CloudWatch i format osadzonych metryk
-
Ćwiczenie: Metryki i alarmy
-
Ćwiczenie: ServiceLens
Laboratoria praktyczne
-
Laboratorium 3: Orkiestracja przepływów pracy przy użyciu AWS Step Functions
-
Laboratorium 4: Obserwowalność i monitorowanie
Dzień 3
Moduł 10: Bezpieczeństwo aplikacji bezserwerowych
-
Najlepsze praktyki bezpieczeństwa dla aplikacji bezserwerowych
-
Zastosowanie bezpieczeństwa na wszystkich warstwach
-
API Gateway i bezpieczeństwo aplikacji
-
Lambda i bezpieczeństwo aplikacji
-
Ochrona danych w bezserwerowych magazynach danych
-
Audyt i śledzenie
Moduł 11: Obsługa skalowania w aplikacjach bezserwerowych
-
Rozważania dotyczące skalowania w aplikacjach bezserwerowych
-
Używanie API Gateway do zarządzania skalowaniem
-
Skalowanie współbieżności Lambda
-
Jak różne źródła zdarzeń skalują się z Lambda
Moduł 12: Automatyzacja procesu wdrażania
-
Znaczenie CI/CD w aplikacjach bezserwerowych
-
Narzędzia w procesie CI/CD aplikacji bezserwerowych
-
Funkcje AWS SAM do wdrożeń aplikacji bezserwerowych
-
Najlepsze praktyki automatyzacji
-
Podsumowanie kursu
Laboratoria praktyczne
-
Laboratorium 5: Zabezpieczanie aplikacji bezserwerowych
-
Laboratorium 6: CI/CD dla aplikacji bezserwerowych na AWS.
Zalecamy, aby uczestnicy tego kursu posiadali:
-
Znajomość podstaw architektury chmurowej AWS
-
Zrozumienie tworzenia aplikacji na AWS na poziomie odpowiadającym ukończeniu kursu Developing on AWS
-
Wiedzę odpowiadającą ukończeniu następujących szkoleń cyfrowych dotyczących architektury bezserwerowej: AWS Lambda Foundations oraz Amazon API Gateway for Serverless Applications.
- Polski.