AWS Lambda adalah layanan komputasi serverless yang disediakan oleh Amazon Web Services (AWS). Serverless berarti Anda tidak perlu merawat infrastruktur fisik atau virtual secara langsung. AWS Lambda memungkinkan Anda menjalankan kode tanpa harus mengelola server, mengelola kapasitas, atau mengurus administrasi server.
Beberapa poin penting tentang AWS Lambda:
1. Eksekusi Fungsionalitas Kode: AWS Lambda memungkinkan Anda menjalankan kode (yang biasanya ditulis dalam bahasa pemrograman seperti Python, Node.js, Java, C#, dan lainnya) tanpa harus memikirkan infrastruktur di belakangnya.
2. Kejadian yang Dipicu (Event-Driven): Lambda dapat diaktifkan oleh berbagai peristiwa atau kejadian dalam ekosistem AWS. Misalnya, perubahan di bucket S3, pembaruan dalam tabel DynamoDB, atau pengiriman pesan ke antreannya AWS Simple Queue Service (SQS).
3. Skalabilitas Otomatis: AWS Lambda secara otomatis menangani skalabilitas untuk Anda. Jika ada peningkatan permintaan, Lambda secara otomatis menduplikasi eksekusi kode secara horizontal untuk menangani beban yang lebih besar.
4. Model Pembayaran Berbasis Penggunaan: Anda hanya membayar untuk waktu yang sebenarnya dihabiskan untuk mengeksekusi kode. Tidak ada biaya tetap atau biaya terkait infrastruktur yang aktif sepanjang waktu.
5. Integrasi dengan Layanan AWS Lainnya: Lambda dapat diintegrasikan dengan berbagai layanan AWS, memungkinkan Anda membuat arsitektur cloud yang sangat fleksibel dan modular. Ini memungkinkan pengembang membangun aplikasi berbasis mikro dan serverless.
6. Waktu Eksekusi yang Pendek (Short-Lived): Lambda dioptimalkan untuk menjalankan kode yang berjalan dalam waktu yang singkat, biasanya beberapa detik hingga beberapa menit.
Contoh penggunaan Lambda termasuk pengolahan file yang diunggah ke S3, pengolahan perubahan di database DynamoDB, pembuatan gambar miniatur dinamis, atau memproses peristiwa streaming real-time.
Penting untuk diingat bahwa saat menggunakan AWS Lambda, Anda hanya perlu fokus pada kode fungsionalitas aplikasi Anda tanpa memikirkan infrastruktur dan skala.
Praktek ini menggunakan user akun personal, tidak dapat menggunakan aws academy. Fungsi yang digunakna pada lambda kali ini untuk test connectivity, membuat key value dan menghitung satuan volume
Buka layanan AWS Lambda dan create a function
Skenario 1
Pilih Author from scratch, biarkan default yang lain, kemudian create function
Lalu Create function pada bagian kanan bawah, sehingga menjadi
Pada Code source, pilih tab Test
Buat Event name = Event1 serta Even JSON nya menjadi
Pada Code Source yang, pilih tab Test dan akan terlihat event yang telah kita buat. Lalu pilih tab Test
Pilih Deploy untuk memastikan perubahan pada lambda. Lalu Pilih Test kembali
Sampai pada saat ini kode lambda telah berhasil dibuat
Skenario 2
Membuat fungsi lambda dengan database mahasiwa, sebagai berikut:
Pilih Lamba → Functions → Create function
Membuat function baru
Ubah fungsi dari lambda_function.py menjadi
import json
def lambda_handler(event, context):
# TODO implement
print('Selamat datang pada fungsi lambda 2')
if event['NIM'] == "6110":
return 'NIM 6110 adalah mahasiswa bernama Syafrudin'
elif event['NIM'] == "6111":
return 'NIM 6111 adalah mahasiswa bernama Qomar'
elif event['NIM'] == "6112":
return 'NIM 6112 adalah mahasiswa bernama Rina'
else:
return 'NIM Mahasiswa tidak dikenal'
Lalu pilih Deploy
Kemudian configure pada test event, pada pilihan Test
Berikan nama pada event name dan event JSON nya
dan lakukan click pada tab Test, pada execution results diperoleh data
atau lakukan editing lagi pada even JSON menjadi
sehingga hasil yang diperoleh karena tidak terdapat pada fungsi lambda menjadi
Skenario 3
Membuat fungsi volume dengan lambda, create lambda
Ubah fungsi dari lambda_function.py menjadi
import json
def lambda_handler(event, context):
panjang = event['pjg']
lebar = event['lbr']
tinggi = event['tgg']
volume = panjang * lebar * tinggi
return {
'volumebangunan' : volume
}
Lalu pilih Deploy
Kemudian configure pada test event, pada pilihan Test
Pilih test, dan Execution results
Fungsi Lambda sudah berjalan dengan baik