Mengonfigurasi AWS Lambda untuk produksi
Mendeploy Aplikasi di AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Berhasil saat diuji
Fungsinya lulus semua uji
Di produksi mengalami timeout dan throttling
Kodenya baik; konfigurasinya yang tidak
Konfigurasi Lambda yang penting di produksi
Memory
: juga menskalakan CPU dan jaringan
Timeout
: detik maksimum sebelum fungsi dihentikan
Ephemeral storage
: ruang sementara di /tmp
Concurrency
: berapa banyak yang berjalan sekaligus
Penentuan memori dan kaitannya dengan CPU
Lebih banyak memori =
lebih banyak CPU secara proporsional
Fungsi yang terikat CPU bisa lebih cepat dengan memori lebih tinggi
Durasi lebih cepat bisa berarti
biaya lebih rendah
Tentukan ukuran lewat pengujian, bukan tebak-tebakan
Concurrency: reserved vs provisioned
Reserved concurrency
Membatasi eksekusi simultan maksimum
Melindungi sistem hilir dan fungsi lain
Provisioned concurrency
Memanaskan instance terlebih dulu, tanpa cold start
Untuk fungsi berlatensi rendah yang menghadap pengguna
Mengemas konfigurasi dan kode bersama
Environment variables
: konfigurasi per lingkungan
Layers
: berbagi kode dan dependensi antar fungsi
Extensions
: berjalan bersama fungsi untuk alat bantu
Jauhkan konfigurasi dari paket deployment
Menghubungkan Lambda ke VPC
Lampirkan Lambda ke
private subnets
untuk sumber daya internal
Lambda membuat
ENI
di VPC Anda
Security groups
mengendalikan apa yang dapat dijangkau
Butuh NAT atau endpoint VPC untuk akses keluar
Menangani kegagalan dengan destinations dan DLQ
Pemanggilan async
mengulang otomatis
saat gagal
Lambda Destinations
: merutekan onSuccess dan onFailure
Dead-letter queue
: menangkap event yang tak pernah berhasil
Jangan pernah membuang event gagal secara diam-diam
Ayo berlatih!
Mendeploy Aplikasi di AWS
Preparing Video For Download...