AWS Lambda für die Produktion konfigurieren
Bereitstellen von Anwendungen auf AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Im Test lief es
Die Funktion bestand alle Tests
In der Produktion gibt es Timeouts und Throttling
Der Code war okay; die Konfiguration nicht
Wichtige Lambda-Settings für die Produktion
Memory
: skaliert auch CPU und Netzwerk
Timeout
: max. Sekunden bis die Funktion beendet wird
Ephemeral storage
: temporärer Platz in /tmp
Concurrency
: wie viele parallel laufen
Memory-Größe und der CPU-Zusammenhang
Mehr Memory =
proportional mehr CPU
CPU-bound-Funktionen laufen mit mehr Memory schneller
Kürzere Dauer kann
geringere Kosten
bedeuten
Richtig dimensionieren durch Tests, nicht Raten
Concurrency: reserved vs. provisioned
Reserved concurrency
Begrenzt die maximale gleichzeitige Ausführung
Schützt Downstream-Systeme und andere Funktionen
Provisioned concurrency
Wärmt Instanzen vor, kein Cold Start
Für latenzkritische, nutzernahe Funktionen
Konfiguration und geteilten Code paketieren
Environment variables
: konfiguriert je Umgebung
Layers
: teilen Code und Dependencies über Funktionen hinweg
Extensions
: laufen neben der Funktion für Tools
Halte Konfig aus dem Deployment-Paket heraus
Lambda mit einer VPC verbinden
Hänge Lambda an
private Subnetze
für interne Ressourcen
Lambda erstellt
ENIs
in deiner VPC
Security Groups
steuern, was erreichbar ist
Für externen Zugriff braucht es NAT oder VPC Endpoint
Fehlerbehandlung mit Destinations und DLQs
Asynchrone Aufrufe
retryen automatisch
bei Fehlern
Lambda Destinations
: routen onSuccess und onFailure
Dead-letter queue
: fängt Events ohne Erfolg ein
Niemals ein fehlgeschlagenes Event still verwerfen
Lass uns üben!
Bereitstellen von Anwendungen auf AWS
Preparing Video For Download...