Tutorial AWS Lambda: Panduan Anda Untuk Amazon Serverless Computing



Tutorial AWS Lambda ini menjelaskan Platform Komputasi Tanpa Server AWS yang mencakup detail tentang fungsi Lambda, Sumber Peristiwa, Harga Lambda dengan kasus penggunaan.

Tutorial AWS Lambda

Hari ini kita akan membahas tentang AWS Lambda. AWS Lambda adalah layanan komputasi yang ditawarkan oleh Amazon. Anda pasti penasaran karena ada beberapa layanan komputasi lain dari AWS, seperti AWS EC2, AWS Elastic Beanstalk, AWS Opsworks dll., Lalu mengapa layanan komputasi lain? Dalam tutorial AWS Lambda ini Anda akan menemukan apa itu AWS Lambda, mengapa digunakan dan dalam kasus penggunaan apa Anda harus mempertimbangkannya.

Mari kita lihat bagaimana Amazon mendefinisikan AWS Lambda dan kemudian kita akan mendalami konsep-konsep utama, memahami kasus penggunaan dengan praktik pada akhirnya.





Komputasi tanpa server Lambda - aws lambda tutorial

Apa itu AWS Lambda?

Amazon menjelaskan, AWS Lambda (& lambda) sebagai layanan komputasi 'tanpa server', yang berarti para pengembang, tidak perlu khawatir tentang sumber daya AWS mana yang akan diluncurkan, atau bagaimana mereka akan mengelolanya, mereka cukup meletakkan kode di lambda dan itu berjalan , sesederhana itu! Ini membantu Anda untuk fokus pada kompetensi inti, yaitu Pembuatan Aplikasi atau kode.



Di mana saya akan menggunakan AWS Lambda?

AWS Lambda menjalankan kode backend Anda, dengan mengelola sumber daya AWS secara otomatis. Saat kami mengatakan 'kelola', itu termasuk meluncurkan atau menghentikan instance, health checkup, auto scaling, memperbarui atau menambal pembaruan baru, dll.

Jadi, bagaimana cara kerjanya?

Kode yang Anda inginkan untuk dijalankan Lambda dikenal sebagai file Fungsi Lambda . Sekarang, seperti yang kita tahu sebuah fungsi hanya berjalan ketika dipanggil, bukan? Sini, Sumber Acara adalah entitas yang memicu Fungsi Lambda, lalu tugas dijalankan.

Mari kita ambil contoh untuk memahaminya dengan lebih jelas.



Misalkan Anda memiliki aplikasi untuk mengunggah gambar. Sekarang ketika Anda mengunggah gambar, ada banyak tugas yang harus dilakukan sebelum menyimpannya, seperti mengubah ukuran, menerapkan filter, kompresi, dll.

Jadi, tugas mengunggah gambar ini dapat didefinisikan sebagai file Sumber Acara atau 'pemicu' yang akan memanggil Fungsi Lambda, dan kemudian semua tugas ini dapat dijalankan melalui fungsi Lambda.

Dalam contoh ini, pengembang hanya perlu menentukan sumber acara dan mengunggah kodenya.

Mari kita pahami contoh ini dengan sumber daya AWS nyata sekarang,

Gambar kasus penggunaan Lambda dengan S3

Di sini kami akan mengunggah gambar dalam bentuk objek ke bucket S3. Mengunggah gambar ke keranjang S3 ini, akan menjadi sumber peristiwa atau 'pemicu'.

Keseluruhan proses, seperti yang Anda lihat di diagram, dibagi menjadi 5 langkah, mari kita pahami masing-masing.

  1. Pengguna mengunggah gambar (objek) ke keranjang sumber di S3 yang memiliki pemberitahuan yang dilampirkan padanya, untuk Lambda.
  2. Notifikasi dibaca oleh S3 dan memutuskan ke mana akan mengirim notifikasi itu.
  3. S3 mengirimkan notifikasi ke Lambda, notifikasi ini bertindak sebagai panggilan pemanggilan fungsi lambda.
  4. Peran eksekusi di Lambda dapat ditentukan dengan menggunakan IAM (Identity and Access Management) untuk memberikan izin akses untuk sumber daya AWS, untuk contoh ini adalah S3.
  5. Terakhir, ini memanggil fungsi lambda yang diinginkan yang bekerja pada objek yang telah diunggah ke bucket S3.

Jika Anda memecahkan skenario ini secara tradisional, seiring dengan pengembangan, Anda akan mempekerjakan orang untuk mengelola tugas-tugas berikut:

  • Ukuran, penyediaan, dan skala grup server
  • Mengelola pembaruan OS
  • Terapkan patch keamanan dan
  • Pantau semua infrastruktur ini untuk kinerja dan ketersediaan.

Ini akan menjadi tugas yang mahal, membosankan, dan melelahkan, oleh karena itu kebutuhan akan AWS Lambda dapat dibenarkan.AWS Lambda kompatibel dengan Node.JS, Python, dan Java, jadi Anda dapat mengunggah file Anda dalam zip, menentukan sumber peristiwa, dan Anda siap!

Anda dapat membaca lebih lanjut tentang S3 AWS di sini untuk pemahaman yang lebih dalam.

Sekarang kita tahu -Bagaimana Lambda bekerja danApa yang dilakukan Lambda s .

Now, mari kita mengerti-

  • Di mana menggunakan Lambda?
  • Apa tujuan Lambda melayani, itulayanan AWS Compute lainnya tidak?

Jika Anda merancang solusi untuk suatu masalah, Anda harus dapat mengidentifikasi di mana menggunakan Lambda, bukan?

Jadi, sebagai arsitek Anda memiliki opsi berikut untuk menjalankan tugas:

  • AWS EC2
  • AWS Elastic Beanstalk
  • AWS OpsWorks
  • AWS Lambda

Mari kita ambil kasus penggunaan di atas sebagai contoh dan pahami mengapa kami memilih Lambda untuk menyelesaikannya.

AWS OpsWorks dan AWS ElasticBeanstalk digunakan untuk menerapkan aplikasi, jadi kasus penggunaan kami adalah tidak untuk membuat aplikasi , tetapi untuk menjalankan kode back-end.

Lalu kenapa tidak EC2?

Jika Anda menggunakan EC2, Anda harus merancang semuanya, yaitu penyeimbang beban, volume EBS, tumpukan perangkat lunak, dll. Di lambda Anda tidak perlu khawatir tentang apa pun, cukup masukkan kode Anda, dan AWS akan mengelola sisanya!

Sebagai contoh , di EC2 Anda akan menginstal paket perangkat lunak pada mesin virtual Anda yang akan mendukung kode Anda, tetapi di Lambda Anda tidak perlu mengkhawatirkan VM apa pun, cukup masukkan kode biasa dan Lambda akan menjalankannya untuk Anda.

Tetapi, jika kode Anda akan berjalan selama berjam-jam, dan Anda mengharapkan aliran permintaan yang terus menerus, Anda mungkin harus menggunakan EC2, karena arsitektur Lambda adalah untuk jenis beban kerja sporadis, di mana akan ada beberapa jam tenang dan beberapa lonjakan di no. permintaan juga.

Sebagai contoh , mencatat aktivitas email untuk katakanlah sebuah perusahaan kecil, akan melihat lebih banyak aktivitas di siang hari daripada di malam hari, juga mungkin ada hari-hari ketika email yang akan diproses lebih sedikit, dan terkadang seluruh dunia mulai mengirimi Anda email! Dalam kedua kasus tersebut, Lambda siap melayani Anda.

Mempertimbangkan kasus penggunaan ini untuk perusahaan jejaring sosial besar, di mana email tidak pernah berakhir karena memiliki basis pengguna yang besar, Lambda mungkin bukan pilihan yang tepat.

Anda dapat membaca lebih lanjut tentang EC2 AWS di sini untuk pemahaman yang lebih dalam.

Batasan AWS Lambda

Beberapa batasan bersifat spesifik perangkat keras dan beberapa lainnya terikat oleh arsitektur, mari kita bahas semuanya.

Batasan perangkat keras termasuk ukuran disk, yang dibatasi hingga 512 MB, memori dapat bervariasi antara 128 MB dan 1536 MB. Lalu ada beberapa lainnya seperti waktu eksekusi yang bisa dimaksimalkan hanya 5 menit, payload body request anda tidak boleh lebih dari 6 MB dan body request anda 128 KB. Payload badan permintaan seperti data yang Anda kirim dengan permintaan 'GET' atau 'PUT' di HTTP, sedangkan badan permintaan adalah jenis permintaan, header, dll.

Sebenarnya, ini bukan batasan, tetapi merupakan batasan desain yang telah ditetapkan dalam arsitektur Lambda, jadi jika kasus penggunaan Anda tidak sesuai dengan ini, Anda selalu memiliki layanan komputasi AWS lain yang dapat Anda gunakan.

Kami membahas dalam Tutorial AWS Lambda ini bahwa melakukan tugas di Lambda 'tidak' membosankan dan melelahkan. Sekarang mari kita bahas bagian pengeluaran juga.

Harga di AWS Lambda

Seperti kebanyakan layanan AWS, AWS Lambda juga merupakan layanan bayar per penggunaan, artinya Anda hanya membayar apa yang Anda gunakan, oleh karena itu Anda dikenai biaya untuk parameter berikut

  • Jumlah permintaan yang Anda buat untuk fungsi lambda Anda
  • Itu durasi tempat kode Anda dieksekusi.

Permintaan

  • Anda dikenai biaya untuk jumlah permintaan yang Anda buat di semua fungsi lambda Anda.
  • AWS Lambda menghitung permintaan setiap kali mulai dijalankan sebagai respons terhadap sumber peristiwa atau panggilan pemanggilan, termasuk pengujian yang dipanggil dari konsol. Mari kita lihat harganya sekarang:
    • 1 juta permintaan pertama, setiap bulan gratis.
    • 0,20 $ per juta permintaan setelahnya.

Durasi

  • Durasi dihitung dari saat kode Anda mulai dijalankan hingga saat ia kembali atau berakhir, itu dibulatkan ke 100 md terdekat.
  • Harganya tergantung pada jumlah memori yang Anda alokasikan untuk fungsi Anda, Anda dikenai biaya $ 0,00001667 untuk setiap GB-detik yang digunakan.

* Sumber: Situs web resmi AWS

Jika Anda telah sampai di sini, Anda siap untuk Hands-on di Lambda. Mari bersenang - senang!

Praktis: AWS Lambda DIY

Mari buat fungsi Lambda yang akan mencatat 'Objek telah ditambahkan' setelah Anda menambahkan objek ke keranjang tertentu di S3.

Langkah 1: Dari AWS Management Console di bawah bagian komputasi, pilih AWS Lambda.

Langkah 2: Di AWS Lambda Console, klik 'Buat fungsi Lambda'.

Step3: Di halaman berikutnya, Anda harus memilih cetak biru. Misalnya, kami akan memilih fungsi kosong untuk kasus penggunaan kami.

bagaimana menulis metode tostring

Step4: Pada halaman berikutnya Anda akan (1) mengatur pemicu, karena kita akan mengerjakan S3, (2) pilih pemicu S3 dan kemudian (3) klik Berikutnya.

Step5: Di halaman konfigurasi, isi detailnya. Anda dapat meletakkan kode Anda sendiri, atau Anda dapat menyalin kode yang sama dari kasus penggunaan ini. Setelah itu isikan handler dan role, biarkan advanced setting apa adanya, pada akhirnya klik next.

Step6: Pada halaman berikutnya, tinjau semua informasi, dan klik 'Buat fungsi'.

Step7: Sekarang, karena kami membuat fungsi untuk S3 bucket, saat Anda menambahkan file ke bucket S3, Anda akan mendapatkan log yang sama di CloudWatch, yang merupakan layanan pemantauan dari AWS.

Selamat!Anda telah berhasil menjalankan Fungsi Lambda.

Saya harap Anda menikmati pengalaman mendalami Tutorial AWS Lambda. Ini adalah salah satu bidang pengetahuan yang paling diinginkan dalam ekosistem AWS untuk posisi pekerjaan seperti Arsitek Solusi, Insinyur Cloud, Insinyur DevOps. Ini koleksi dari untuk membantu Anda mempersiapkan wawancara kerja AWS berikutnya.

Jika Anda merasa Tutorial AWS Lambda ini relevan, Anda dapat melihat kursus langsung Edureka dan kursus yang dipandu instruktur , diciptakan bersama oleh praktisi industri.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar dan kami akan menghubungi Anda kembali.