Configurarea AWS Lambda pentru producție
Implementarea aplicațiilor pe AWS
Dunieski Otano
Amazon Web Services Solutions Architect
A funcționat în teste
Funcția a trecut toate testele
În producție expiră și se throttlează
Codul era corect; configurația nu
Configurări Lambda importante în producție
Memorie
: scalează și CPU și rețeaua
Timeout
: secunde maxime înainte ca funcția să fie oprită
Stocare efemeră
: spațiu temporar în /tmp
Concurență
: câte instanțe rulează simultan
Dimensionarea memoriei și legătura cu CPU
Mai multă memorie =
mai mult CPU proporțional
O funcție CPU-intensivă rulează mai rapid la memorie mai mare
Durată mai scurtă poate însemna
cost mai mic
Dimensionează corect prin testare, nu prin estimare
Concurență: rezervată vs. provizionată
Concurență rezervată
Limitează numărul maxim de execuții simultane
Protejează sistemele din aval și alte funcții
Concurență provizionată
Pre-încălzește instanțele, eliminând cold start-ul
Pentru funcții cu latență redusă, expuse utilizatorilor
Packaging pentru configurare și cod partajat
Variabile de mediu
: configurare per-mediu
Layere
: partajează cod și dependențe între funcții
Extensii
: rulează alături de funcție pentru instrumente
Păstrează configurarea în afara pachetului de deployment
Conectarea Lambda la un VPC
Atașează Lambda la
subrețele private
pentru resurse interne
Lambda creează
ENI-uri
în VPC-ul tău
Grupurile de securitate
controlează accesul
Necesită un NAT sau endpoint VPC pentru acces extern
Gestionarea erorilor cu destinations și DLQ-uri
Invocările async
reîncearcă automat
la eroare
Lambda Destinations
: rutează onSuccess și onFailure
Dead-letter queue
: captează evenimentele care eșuează mereu
Nu ignora niciodată în tăcere un eveniment eșuat
Hai să exersăm!
Implementarea aplicațiilor pe AWS
Preparing Video For Download...