Fitur AWS Lambda

Mengapa menggunakan AWS Lambda?

AWS Lambda adalah layanan komputasi nirserver yang menjalankan kode sebagai respons terhadap peristiwa dan secara otomatis mengelola sumber daya komputasi yang mendasarinya untuk Anda. Peristiwa ini dapat mencakup perubahan status atau pembaruan, seperti pengguna menempatkan item di keranjang belanja di situs web perdagangan elektronik. Anda dapat menggunakan AWS Lambda untuk memperluas layanan AWS lainnya dengan logika kustom, atau membuat layanan backend Anda sendiri yang beroperasi pada skala, performa, dan keamanan AWS. AWS Lambda secara otomatis menjalankan kode sebagai respons terhadap beberapa peristiwa, seperti permintaan HTTP melalui Amazon API Gateway, modifikasi objek di bucket Amazon Simple Storage Service (Amazon S3), pembaruan tabel di Amazon DynamoDB, dan transisi status di AWS Step Functions.

Lambda menjalankan kode Anda pada infrastruktur komputasi ketersediaan tinggi dan melakukan semua administrasi sumber daya komputasi Anda. Ini termasuk pemeliharaan server dan sistem operasi, penyediaan kapasitas dan penskalaan otomatis, deployment kode dan patch keamanan, serta pemantauan dan pencatatan kode. Yang perlu Anda lakukan adalah memberikan kode.

Page Topics

Fitur produk utama

Fitur produk utama

AWS Lambda memungkinkan Anda menambahkan logika kustom ke sumber daya AWS seperti bucket Amazon S3 dan tabel Amazon DynamoDB, sehingga Anda dapat dengan mudah mengaplikasikan komputasi ke data saat data masuk atau berpindah melalui cloud.

Sangat mudah untuk memulai dengan AWS Lambda. Pertama, Anda membuat fungsi dengan mengunggah kode (atau membuatnya di dalam konsol Lambda) dan memilih memori, periode batas waktu, dan peran AWS Identity and Access Management (IAM). Kemudian, Anda menentukan sumber daya AWS untuk memicu fungsi tersebut, baik bucket Amazon S3, tabel Amazon DynamoDB, maupun stream Amazon Kinesis. Saat sumber daya berubah, Lambda akan menjalankan fungsi Anda, meluncurkan dan mengelola sumber daya komputasi sesuai kebutuhan untuk mengikuti permintaan yang masuk.

Anda dapat menggunakan AWS Lambda untuk membuat layanan aplikasi backend baru yang dipicu sesuai permintaan menggunakan antarmuka program aplikasi (API) Lambda atau endpoint API khusus yang dibuat menggunakan Amazon API Gateway. Lambda memproses peristiwa khusus alih-alih melayaninya di klien, membantu Anda menghindari variasi platform klien, mengurangi pengurangan baterai, dan memungkinkan pembaruan yang lebih mudah.

Dengan AWS Lambda, tidak ada bahasa, alat, atau kerangka kerja baru untuk dipelajari. Anda dapat menggunakan pustaka pihak ketiga mana pun, bahkan pustaka asli. Anda juga dapat mengemas kode apa pun (kerangka kerja, SDK, pustaka, dan lainnya) sebagai Lapisan Lambda, serta mengelola dan membagikannya dengan mudah di berbagai fungsi. Lambda secara native mendukung kode Java, Go, PowerShell, Node.js, C#, Python, dan Ruby, dan menyediakan Waktu Aktif API yang memungkinkan Anda menggunakan bahasa pemrograman tambahan apa pun untuk membuat fungsi Anda.

AWS Lambda mengelola semua infrastruktur untuk menjalankan kode Anda pada infrastruktur yang sangat tersedia dan toleran terhadap kesalahan, membebaskan Anda untuk fokus membangun layanan backend yang berbeda. Dengan Lambda, Anda tidak perlu memperbarui sistem operasi (OS) yang mendasarinya saat patch dirilis, atau khawatir tentang mengubah ukuran atau menambahkan server baru saat penggunaan Anda berkembang. AWS Lambda melakukan deployment kode Anda tanpa hambatan, menangani semua administrasi, pemeliharaan, dan patch keamanan, serta menyediakan pencatatan dan pemantauan bawaan melalui Amazon CloudWatch.

AWS Lambda mempertahankan kapasitas komputasi di beberapa Availability Zone (AZ) di setiap Wilayah AWS untuk membantu melindungi kode Anda dari kegagalan fasilitas pusat data atau mesin individual. Baik AWS Lambda maupun fungsi yang berjalan pada layanan memberikan performa operasional yang dapat diprediksi dan andal. AWS Lambda dirancang untuk menyediakan ketersediaan tinggi untuk layanan itu sendiri dan fungsi yang dioperasikannya. Tidak ada jendela pemeliharaan atau waktu henti terjadwal.

AWS Lambda mendukung pengemasan dan deployment fungsi sebagai gambar kontainer, sehingga memudahkan pelanggan untuk membangun aplikasi berbasis Lambda menggunakan peralatan gambar kontainer, alur kerja, dan dependensi yang sudah dikenal. Pelanggan juga mendapatkan manfaat dari kesederhanaan operasional Lambda, penskalaan otomatis dengan waktu mulai sub-detik, ketersediaan tinggi, model penagihan bayar untuk penggunaan, dan integrasi asli dengan lebih dari 200 layanan AWS dan aplikasi perangkat lunak sebagai layanan (SaaS). Pelanggan korporasi dapat menggunakan seperangkat alat yang konsisten dengan aplikasi Lambda dan dalam kontainer, menyederhanakan persyaratan tata kelola pusat seperti pemindaian keamanan dan penandatanganan gambar.

AWS Lambda memanggil kode Anda hanya saat diperlukan, dan secara otomatis menskalakan untuk mendukung tingkat permintaan masuk tanpa konfigurasi manual apa pun. Tidak ada batasan jumlah permintaan yang dapat ditangani oleh kode Anda. AWS Lambda biasanya mulai menjalankan kode Anda dalam milidetik dari suatu peristiwa. Karena Lambda menskalakan secara otomatis, performa tetap tinggi secara konsisten seiring dengan meningkatnya frekuensi acara. Karena kode Anda stateless, Lambda dapat memulai instans sebanyak yang diperlukan tanpa penundaan konfigurasi dan deployment yang lama.

Gunakan Proksi Amazon RDS guna memanfaatkan kolam koneksi yang terkelola penuh untuk basis data relasional. RDS Proxy secara efisien mengelola ribuan koneksi bersamaan ke basis data relasional, membuatnya mudah untuk membangun aplikasi nirserver berbasis Lambda yang sangat dapat diskalakan dan aman yang berinteraksi dengan basis data relasional. Saat ini, RDS Proxy menawarkan dukungan untuk MySQL dan Aurora. Anda dapat menggunakan RDS Proxy untuk aplikasi nirserver Anda melalui konsol Amazon RDS atau konsol AWS Lambda.

Provisioned Concurrency memberi Anda kontrol lebih besar atas performa aplikasi nirserver Anda. Saat diaktifkan, Provisioned Concurrency membuat fungsi tetap diinisialisasi dan sangat siap untuk merespons dalam milidetik dua digit. Provisioned Concurrency ideal untuk aplikasi AWS Lambda apa pun yang membutuhkan kontrol lebih besar atas waktu mulai fungsi. Konfigurasikan dan sesuaikan konkurensi yang dibutuhkan aplikasi Anda dengan mudah. Menaikkan skala, turunkan, atau matikan sepenuhnya tergantung permintaan. Manfaatkan Provisioned Concurrency untuk mencapai performa yang konsisten untuk aplikasi yang sensitif terhadap latensi tanpa mengubah kode Anda atau mengelola sumber daya komputasi.

Dengan Amazon Elastic File System (EFS) untuk AWS Lambda, Anda dapat dengan aman membaca, menulis, dan mempertahankan volume data yang besar pada latensi rendah, pada skala apa pun. Anda tidak perlu menulis kode dan mengunduh data ke penyimpanan sementara untuk memprosesnya. Ini menghemat waktu dan menyederhanakan kode, sehingga Anda dapat fokus pada logika bisnis Anda. EFS untuk Lambda sangat ideal untuk berbagai kasus penggunaan termasuk memproses atau mencadangkan sejumlah besar data, dan memuat file atau model referensi besar. Anda juga dapat berbagi file antara instans nirserver atau aplikasi berbasis kontainer, dan bahkan menjalankan inferensi machine learning (ML) dengan menggunakan EFS untuk AWS Lambda.

Dengan Lambda@Edge, AWS Lambda dapat menjalankan kode Anda di seluruh lokasi AWS secara global sebagai respons peristiwa Amazon CloudFront, seperti permintaan konten ke atau dari server asal dan penampil. Hal ini mempermudah pengiriman konten dipersonalisasi yang lebih kaya ke pengguna akhir Anda dengan latensi lebih rendah. 

Bangun alur kerja AWS Step Functions untuk mengoordinasikan beberapa fungsi AWS Lambda untuk tugas yang kompleks atau berjalan dalam waktu yang lama. Step Functions memungkinkan Anda menentukan alur kerja yang memicu kumpulan fungsi Lambda menggunakan langkah-langkah berurutan, paralel, bercabang, dan menangani kesalahan. Dengan Step Functions dan Lambda, Anda dapat membuat proses stateful yang berlangsung lama untuk aplikasi dan backend.

Kit pengembangan perangkat lunak (SDK) bawaan AWS Lambda terintegrasi dengan AWS Identity and Access Management (IAM) untuk memastikan akses kode yang aman ke layanan AWS lainnya. AWS Lambda menjalankan kode Anda dalam Amazon Virtual Private Cloud (VPC) secara default. Secara opsional, Anda dapat mengonfigurasi akses sumber daya AWS Lambda di belakang VPC Anda sendiri untuk memanfaatkan grup keamanan khusus dan daftar kontrol akses jaringan. Ini memberikan akses fungsi Lambda yang aman ke sumber daya Anda dalam VPC. AWS Lambda mematuhi SOCHIPAAPCI, dan ISO. Untuk sertifikasi Lambda dan kesiapan kepatuhan terbaru, lihat layanan lengkap yang dicakup.

Penandatanganan Kode untuk AWS Lambda memungkinkan Anda memverifikasi bahwa hanya kode yang tidak diubah yang diterbitkan oleh developer yang disetujui yang di-deploy di fungsi Lambda Anda. Anda cukup membuat artefak kode yang ditandatangani secara digital dan mengonfigurasi fungsi Lambda Anda untuk memverifikasi tanda tangan saat deployment. Hal ini meningkatkan kecepatan dan ketangkasan pengembangan aplikasi Anda, bahkan dalam tim besar, sambil menerapkan standar keamanan yang tinggi.

Dengan AWS Lambda, Anda membayar untuk durasi eksekusi, bukan berdasarkan unit server. Saat menggunakan fungsi Lambda, Anda hanya membayar permintaan yang dilayani dan waktu komputasi yang diperlukan untuk menjalankan kode Anda. Penagihan diukur dalam peningkatan satu milidetik, memungkinkan penskalaan otomatis yang mudah dan hemat biaya dari beberapa permintaan per hari hingga ribuan per detik. Dengan Provisioned Concurrency, Anda membayar jumlah konkurensi yang Anda konfigurasikan dan durasi yang Anda konfigurasikan. Saat Provisioned Concurrency diaktifkan dan fungsi Anda dijalankan, Anda juga membayar permintaan dan durasi eksekusi. Untuk mempelajari selengkapnya tentang harga, kunjungi Harga AWS Lambda.

Pilih jumlah memori yang ingin Anda alokasikan ke fungsi Anda, dan AWS Lambda mengalokasikan daya CPU proporsional, bandwidth jaringan, dan input/output (I/O) disk.

Ekstensi AWS Lambda memungkinkan integrasi yang mudah dengan alat pemantauan, observabilitas, keamanan, dan pengelolaan favorit Anda. Lambda memanggil fungsi Anda di lingkungan eksekusi, yang menyediakan waktu aktif yang aman dan terisolasi tempat kode fungsi Anda dieksekusi. Ekstensi Lambda berjalan dalam lingkungan eksekusi Lambda, di samping kode fungsi Anda. Ekstensi Lambda dapat menggunakan API Telemetri AWS Lambda untuk mendapatkan informasi diagnostik terperinci, misalnya log, metrik, dan jejak, langsung dari Lambda, dan mengirimkannya ke tujuan pilihan Anda. Anda juga dapat menggunakan ekstensi untuk mengintegrasikan agen keamanan pilihan Anda dengan Lambda, semuanya tanpa pengeluaran tambahan dan dampak minimal terhadap performa fungsi Anda.

Fungsi AWS Lambda yang berjalan di Graviton2, menggunakan arsitektur prosesor berbasis Arm yang dirancang oleh AWS, memberikan performa harga hingga 34% lebih baik dibandingkan dengan fungsi yang berjalan pada prosesor x86. Ini berlaku untuk berbagai beban kerja nirserver, seperti backend web dan seluler, data, dan pemrosesan media. Dengan latensi yang lebih rendah, performa hingga 19% lebih baik, biaya 20% lebih rendah, dan efisiensi daya tertinggi yang saat ini tersedia di AWS, fungsi Graviton2 dapat digunakan untuk menjalankan aplikasi nirserver sangat penting.

AWS Lambda menyediakan kemampuan pemantauan bawaan dengan secara otomatis menangkap dan mengirim log, metrik, dan jejak ke layanan pemantauan dan observabilitas AWS, seperti Amazon CloudWatch dan AWS X-Ray. Lambda juga menawarkan kemampuan pemantauan lanjutan, seperti Live Tail yang memungkinkan Anda melihat dan menganalisis log secara waktu nyata, kontrol log lanjutan yang memungkinkan Anda menangkap log secara native dalam format terstruktur JSON, mengontrol pemfilteran tingkat log tanpa membuat perubahan kode, dan menyesuaikan grup log CloudWatch yang menjadi tujuan pengiriman Lambda. Dengan Sinyal Aplikasi, Lambda menawarkan alat pemantauan kinerja aplikasi (APM) langsung untuk melacak throughput, ketersediaan, latensi, kegagalan, dan kesalahan dalam aplikasi nirserver Anda. Wawasan Lambda secara otomatis menangkap metrik terperinci meliputi memori, CPU, dan penggunaan jaringan, sehingga memberikan wawasan yang lebih mendalam tentang performa fungsi Lambda Anda. Selain itu, Lambda mendukung integrasi bebas kendala dengan alat pemantauan pihak ketiga melalui ekstensi Lambda, sehingga memudahkan penggunaan alat pilihan Anda untuk memantau dan memecahkan masalah aplikasi nirserver.