Event-driven architecture i Serverless applications z AWS Lambda
Opis
Są tacy, którzy twierdzą, że Microservices są passe. Nadchodzi nowa era aplikacji typu Serverless, gdzie rozwijając i wdrażając system nie ma potrzeby zajmować się serwerem. Jest to zasób, który może się dowolnie skalować. W szkoleniu zajmiemy się wykorzystaniem tego podejścia w praktyce z użyciem funkcji AWS Lambda i poznaniem wzorców, które umożliwią tworzenie złożonych aplikacji Serverless.
Wymagane umiejętności
- Uczestnik ma przynajmniej roczne doświadczenie w komercyjnym rozwijaniu systemów informatycznych.
- Uczestnik zna zagadnienia programowania systemów rozproszonych.
Podstawowy program
Moduł. 1
Wprowadzenie do AWS Lambda
Moduł. 2
Tworzenie aplikacji Event-driven
Moduł. 3
Projektowanie i implementacja przykładowej usługi
Moduł. 4
Dlaczego Event-Driven?
Moduł. 5
Rozwój i testowanie
Moduł. 6
Automatyzacja wdrożenia i zarządzania infrastrukturą
Moduł. 7
Komunikacja z zewnętrznymi usługami
Szczegółowy program
Moduł. 1
Wprowadzenie do AWS Lambda
- Funkcje jako backend
- Aplikacje oparte na zdarzeniach
- Wywoływanie funkcji z klienta
- Implementacja funkcji AWS Lambda
- Testowanie
- Wprowadzenie do Amazon API Gateway
- Tworzenie API
- Integracja i testowanie integracji
- Przetwarzanie odpowiedzi
Moduł. 2
Tworzenie aplikacji Event-driven
- Zarządzanie bezpieczeństwem
- Użytkownicy, grupy, role
- Polityki
- Moduły, biblioteki i Twoje funkcje
- Subskrypcja funkcji na zdarzenia
- Tworzenie zasobów backendowych
- Używanie binariów w kontekście funkcji
- Zarządzanie tożsamością z Amazon Cognito Identity
- Integracja własnych mechanizmów uwierzytelniania
- Wywoływanie funkcji z JavaScriptu
- Wywoływanie funkcji z aplikacji mobilinych
- Wywoływanie funkcji z przeglądarki
Moduł. 3
Projektowanie i implementacja przykładowej usługi
- Model interakcji
- Architektura event-driven
- Zarządzanie zcentralizowaną konfiguracją
- Automatyzacja inicjalizacji i wdrożenia
- Współdzielenie kodu
- Strona domowa
Moduł. 4
Dlaczego Event-Driven?
- Przegląd architektur typu Event-Driven
- Rozpoczynanie od frontendu
- A co z backendem
- Programowanie reaktywne
- Ścieżka do Microservices
- Skalowalność platformy
- Dostępność i niezawodność
Moduł. 5
Rozwój i testowanie
- Lokalny rozwój z Node.js oraz Python
- Logowanie i debugowanie
- Wersjonowanie funkcji
- Aliasy w kontekście różnych środowisk
- Chalice Python microframework
- Apex serverless architecture
- Serverless Framework
- Serverless testing
Moduł. 6
Automatyzacja wdrożenia i zarządzania infrastrukturą
- Przechowywanie kodu na Amazon S3
- Event-driven serverless continuous deployment
- Reagowanie na alarmy
- Reagowanie na zdarzenia
- Przetwarzanie logów w czasie zbliżonym do rzeczywistego
- Scheduling
Moduł. 7
Komunikacja z zewnętrznymi usługami
- Wywoływanie zewnętrznych usług
- Zarządzanie danymi uwierzytelniającymi
- Wysyłanie komunikatów na Slack
- Automatyzacja zarządzania repozytorium GitHub
- Webhook pattern
- Przykłady obsługi zdarzeń z Slack, GitHub, Twilio, MongoDB
- Monitorowanie logów