Dulu ketika sering datang ke event dan conference IT, banyak yang bahas mengenai AWS Lambda. Katanya sih modern app udah pake AWS Lambda.
Ketika lihat demonya, wah keren juga ya, kok bisa gitu. Sayangnya, cuma sebatas itu dan ga mencari tahu lebih detail dan nyobain AWS Lambda.
Nah, apa sih AWS Lambda itu. Yuk kita bahas!
AWS Lambda: Solusi Praktis untuk Backend Modern
AWS Lambda adalah layanan dari AWS yang memungkinkan untuk run code tanpa manage server. Yap, sering kali orang bilangnya serverless.
Lambda dapat running code pada infrastruktur komputasi dengan ketersediaan tinggi dan mengelola semua sumber daya komputasi, termasuk pemeliharaan server dan sistem operasi, penyediaan kapasitas, penskalaan otomatis, dan pencatatan.
Code tersebut diatur ke dalam sebuah Lambda functions. AWS Lambda hanya ngerunning function jika diperlukan saja. Untuk detail pricing-nya, dapat dilihat di bawah ini.
Detailnya, dapat dibaca di halaman Lambda Pricing.
Kapan saatnya menggunakan Lambda?
Gunakan Lambda ketika menangani kasus berikut.
- Stream processing: AWS Lambda dapat digunakan untuk real-time streaming data bersamaan dengan Amazon Kinesis. Data yang distream terdiri dari activity tracking, log filtering, dan transaction order processing.
- File processing: Gunakan Amazon Simple Storage Service (Amazon S3) untuk trigger Lambda untuk data processing secara real time setelah upload data ke Amazon S3.
- Web applications: Lambda dapat digabungkan dengan services AWS lainnya untuk membangun web app yang powerful. Developer bisa menggunakan infrastructure as code (IaC) seperti AWS CloudFormation, AWS Cloud Development Kit (AWS CDK), AWS Serverless Application Model, dan AWS Step Functions.
- Mobile backends: Lambda dan Amazon API Gateway dapat digunakan untuk autentikasi dan proses API Request. Gunakan juga AWS Amplify untuk terintegrasi dengan iOS, Android, Web, dan React Native.
- IoT backends: Bangun serverless backends menggunakan Lambda untuk menangani web, mobile, IoT, dan third-party API.
- Database Operations dan Integration: Gunakan Lambda untuk proses interaksi dengan database seperti Amazon RDS.
Oke, itu kasus yang pas untuk menggunakan Lambda. Lalu, apa saja fitur yang ada di Lambda?
Fitur utama Lambda
Berikut adalah beberapa fitur utama dari Lambda.
- Environment variables: Dapat menggunakan environment variables tanpa mengubah code.
- Versions: Versioning dapat digunakan untuk mengelola versi deployments dariLambda functions.
- VPC networks: Lambda menjadi lebih aman dengan adanya VPC networks.
- File system: Function dapat dikonfigurasi untuk mount sebuah Amazon Elastic File System (Amazon EFS) file system ke direktori lokal.
- Function URLs: URL function merupakan dedicated HTTP(S) endpoint untuk Lambda function.
Itu beberapa fitur utama dari Lambda. Nah, biar lebih seru, setelah mengenal teori dasar dari Lambda. Kini, saatnya untuk nyobain langsung.
Hands-on Serverless dengan Lambda
- Buka halaman Lambda.
- Pilih Create Functions.
- Kemudian, pilih Author from scratch
- Pada bagian basic information, berikan nilai untuk function name. Misalnya, myFunctionDemo.
- Untuk Runtime, dapat memilih beberapa bahasa pemrograman tetapi saat ini cukup pilih Node.js 22.
- Selanjutnya, untuk architecture pilih x86_64.
- Konfigurasi lainnya biarkan saja bernilai default. Klik Create function.
- Lambda akan membuat sebuah code. Untuk mengubah code tersebut dapat dilakukan dengan cara _ console's built-in code editor_.
- Misalnya, pengen ngubah teks "Hello from Lambda!" menjadi "Hello from Demo Lambda!". Langsung saja buka berkas index.mjs dan ubah kode yang ada pada bagian kanan.
- Setelah itu, pada bagian DEPLOY, pilih Deploy.
- Untuk menguji memanggil Lambda functions dapat dilakukan melalui console code editor. Buatlah sebuah test event dengan cara di bagian TEST EVENTS, pilih Create test event.
- Masukin nama "testEvent" dan di Event JSON section, tambahkan sebuah JSON sederhana.
{
"name": "Ini test lambda"
}
- Klik save.
- Kemudian, masih di bagian TEST EVENTS, klik icon run.
- Jika tidak ada error, akan berhasil dengan message yang muncul pada bagian OUTPUT di code editor.
Oke, mudah, kan?
Nah, setelah deploy Lambda function, kita bisa memanggilnya dengan beberapa cara seperti:
- The Lambda console
- The AWS SDK
- The Invoke API
- The AWS Command Line Interface (AWS CLI)
- A function URL HTTP(S) endpoint
Kita akan coba salah satu cara yaitu function URL. Simak caranya!
Invoke Lambda Function via URL HTTP(S)
Untuk membuat function URL dapat dilakukan dengan 4 langkah.
- Buka tab Configuration dan pilih Function URL.
- Kemudian, klik Create function URL.
- Untuk Auth type, silakan pilih NONE.
- Terakhir, klik Save.
Endpoint untuk function URL akan tampak di bagian Function URL.
Menguji Function URL.
Untuk mengujinya, akses endpoint tersebut di browser/Postman/cURL.
Yey, Berhasil!
Melihat function's invocation records di CloudWatch Logs
Ketika memanggil function di luar dari Lambda console, kita harus menggunakan CloudWatch Logs untuk melihat hasil eksekusi function-nya.
Caranya akses laman https://console.aws.amazon.com/cloudwatch/home#logs: secara otomatis akan terdapat log group yang dihasilkan oleh Lambda.
Pilih log stream dari salah satu function invocations dan akan tampak seperti berikut.
2025-06-11T17:06:24.229Z
INIT_START Runtime Version: nodejs:22.v43 Runtime Version ARN: arn:aws:lambda:ap-southeast-2::runtime:fd2e05b324f99edd3c6e17800b2535deb79bcce74b7506d595a94870b3d9bd2e
2025-06-11T17:06:24.377Z
START RequestId: 00529f70-dd62-414b-9aa4-483fc6a67b2a Version: $LATEST
2025-06-11T17:06:24.398Z
END RequestId: 00529f70-dd62-414b-9aa4-483fc6a67b2a
2025-06-11T17:06:24.398Z
REPORT RequestId: 00529f70-dd62-414b-9aa4-483fc6a67b2a Duration: 20.25 ms Billed Duration: 21 ms Memory Size: 128 MB Max Memory Used: 72 MB Init Duration: 144.59 ms
2025-06-11T17:06:24.895Z
START RequestId: 5d824554-3eb4-4f83-9826-36605c566659 Version: $LATEST
2025-06-11T17:06:24.916Z
END RequestId: 5d824554-3eb4-4f83-9826-36605c566659
2025-06-11T17:06:24.917Z
REPORT RequestId: 5d824554-3eb4-4f83-9826-36605c566659 Duration: 20.46 ms Billed Duration: 21 ms Memory Size: 128 MB Max Memory Used: 73 MB
2025-06-11T17:07:37.237Z
START RequestId: 3c86fb4b-a7a5-4fe8-b959-f1b2d91e24ff Version: $LATEST
2025-06-11T17:07:37.256Z
END RequestId: 3c86fb4b-a7a5-4fe8-b959-f1b2d91e24ff
2025-06-11T17:07:37.256Z
REPORT RequestId: 3c86fb4b-a7a5-4fe8-b959-f1b2d91e24ff Duration: 2.17 ms Billed Duration: 3 ms Memory Size: 128 MB Max Memory Used: 73 MB
Gampang, kan?
Di blog ini, kita udah melewati proses mulai dari bikin Lambda function, testing via test event, sampe expose via Function URL dan ngetes pake cURL.
Next step? Integrasi ke use case real. Bisa buat webhook, backend microservice, sampai automation kecil-kecilan.
Top comments (0)