Tutorial AWS Lambda: Panduan Anda untuk Pengkomputeran Tanpa Server Amazon



Tutorial AWS Lambda ini menerangkan Platform Tanpa Komputer tanpa server yang merangkumi perincian mengenai fungsi Lambda, Sumber Peristiwa, Harga Lambda dengan kes penggunaan.

Tutorial AWS Lambda

Hari ini kita akan bercakap mengenai AWS Lambda. AWS Lambda adalah perkhidmatan komputasi yang ditawarkan oleh Amazon. Anda pasti ingin tahu kerana terdapat beberapa perkhidmatan pengkomputeran lain dari AWS, seperti AWS EC2, AWS Elastic Beanstalk, AWS Opsworks dll, lalu mengapa perkhidmatan komputasi lain? Dalam tutorial AWS Lambda ini, anda akan mengetahui apa itu AWS Lambda, mengapa ia digunakan dan di mana kes penggunaan anda harus mempertimbangkannya.

Mari lihat bagaimana Amazon mendefinisikan AWS Lambda dan kemudian kita akan menyelami konsep-konsep penting, memahami kes penggunaan dengan mudah pada akhirnya.





Pengkomputeran tanpa server Lambda - tutorial awda lambda

Apa itu AWS Lambda?

Amazon menjelaskan, AWS Lambda (& lambda) sebagai perkhidmatan pengkomputeran 'tanpa pelayan', yang bermaksud pemaju, tidak perlu risau tentang sumber AWS mana yang akan dilancarkan, atau bagaimana mereka menguruskannya, mereka hanya meletakkan kod pada lambda dan ia berjalan , semudah itu! Ini membantu anda untuk memusatkan perhatian pada kecekapan inti iaitu Pembuatan Aplikasi atau kod.



Di mana saya akan menggunakan AWS Lambda?

AWS Lambda melaksanakan kod backend anda, dengan mengurus sumber AWS secara automatik. Apabila kita mengatakan 'urus', ini termasuk melancarkan atau menghentikan keadaan, pemeriksaan kesihatan, penskalaan automatik, mengemas kini atau menambal kemas kini baru dll.

Jadi, bagaimana ia berfungsi?

Kod yang anda mahu Lambda jalankan dikenali sebagai Fungsi lambda . Sekarang, seperti yang kita tahu fungsi berjalan hanya ketika dipanggil, bukan? Di sini, Sumber Peristiwa adalah entiti yang mencetuskan Fungsi Lambda, dan kemudian tugas itu dilaksanakan.

tutorial pembangun salesforce untuk pemula

Mari kita ambil contoh untuk memahaminya dengan lebih jelas.



Katakan anda mempunyai aplikasi untuk memuat naik gambar. Sekarang apabila anda memuat naik gambar, ada banyak tugas yang terlibat sebelum menyimpannya, seperti mengubah ukuran, menerapkan penapis, pemampatan dll.

Jadi, tugas memuat naik gambar ini dapat ditakrifkan sebagai Sumber Peristiwa atau ‘trigger’ yang akan memanggil Lambda Function, dan kemudian semua tugas ini dapat dilaksanakan melalui fungsi Lambda.

Dalam contoh ini, pembangun hanya perlu menentukan sumber acara dan memuat naik kodnya.

Mari kita fahami contoh ini dengan sumber AWS sebenar sekarang,

Rajah. Kes penggunaan Lambda dengan S3

Di sini kita akan memuat naik gambar dalam bentuk objek ke baldi S3. Ini memuat naik gambar ke baldi S3, akan menjadi sumber peristiwa atau 'pemicu'.

Seluruh proses, seperti yang anda lihat dalam rajah, dibahagikan kepada 5 langkah, mari kita fahami setiap satu daripadanya.

  1. Pengguna memuat naik gambar (objek) ke keranjang sumber di S3 yang mempunyai pemberitahuan yang melekat padanya, untuk Lambda.
  2. Pemberitahuan dibaca oleh S3 dan ia memutuskan di mana untuk menghantar pemberitahuan itu.
  3. S3 mengirimkan pemberitahuan ke Lambda, pemberitahuan ini bertindak sebagai panggilan memanggil fungsi lambda.
  4. Peranan pelaksanaan dalam Lambda dapat didefinisikan dengan menggunakan IAM (Identity and Access Management) untuk memberikan izin akses untuk sumber AWS, untuk contoh ini di sini adalah S3.
  5. Akhirnya, ia memanggil fungsi lambda yang diinginkan yang berfungsi pada objek yang telah dimuat naik ke baldi S3.

Sekiranya anda menyelesaikan senario ini secara tradisional, seiring dengan perkembangannya, anda akan mengupah orang untuk menguruskan tugas-tugas berikut:

  • Saiz, penyediaan dan meningkatkan kumpulan pelayan
  • Menguruskan kemas kini OS
  • Gunakan tampalan keselamatan dan
  • Pantau semua infrastruktur ini untuk prestasi dan ketersediaan.

Ini akan menjadi tugas yang mahal, membosankan dan meletihkan, oleh itu keperluan untuk AWS Lambda dibenarkan.AWS Lambda serasi dengan Node.JS, Python dan Java, jadi anda boleh memuat naik fail anda dalam bentuk zip, menentukan sumber acara dan anda sudah siap!

Anda boleh membaca lebih lanjut mengenai S3 AWS di sini untuk pemahaman yang lebih mendalam.

Kami kini tahu -Bagaimana Lambda berfungsi danApa yang Lambda buat s .

Nhai, mari kita fahami-

  • Di mana untuk menggunakan Lambda?
  • Apa tujuan Lambda melayani, ituperkhidmatan AWS Compute lain tidak?

Sekiranya anda merancang penyelesaian masalah, anda seharusnya dapat mengenal pasti di mana menggunakan Lambda, bukan?

Oleh itu, sebagai arkitek anda mempunyai pilihan berikut untuk melaksanakan tugas:

  • AWS EC2
  • Beanstalk AWS Elastik
  • OpsWorks AWS
  • AWS Lambda

Mari ambil contoh penggunaan di atas sebagai contoh dan fahami mengapa kami memilih Lambda untuk menyelesaikannya.

AWS OpsWorks dan AWS ElasticBeanstalk digunakan untuk menyebarkan aplikasi, jadi kes penggunaan kami adalah tidak untuk membuat aplikasi , tetapi untuk melaksanakan kod back-end.

Jadi mengapa tidak EC2?

Sekiranya anda menggunakan EC2, anda perlu membuat arkib semuanya, seperti pengimbang beban, jumlah EBS, timbunan perisian dan lain-lain. Dalam lambda, anda tidak perlu bimbang tentang apa-apa, masukkan kod anda, dan AWS akan menguruskan selebihnya!

Sebagai contoh , di EC2 anda akan memasang pakej perisian pada mesin maya anda yang akan menyokong kod anda, tetapi di Lambda anda tidak perlu risau tentang sebarang VM, cukup masukkan kod biasa dan Lambda akan melaksanakannya untuk anda.

Tetapi, jika kod anda akan berjalan selama berjam-jam, dan anda mengharapkan aliran permintaan yang berterusan, anda mungkin harus menggunakan EC2, kerana seni bina Lambda adalah untuk jenis beban kerja yang sporadis, di mana akan ada beberapa waktu yang tenang dan beberapa lonjakan di no. permintaan juga.

Sebagai contoh , mencatat aktiviti e-mel kerana mengatakan syarikat kecil, akan melihat lebih banyak aktiviti pada siang hari daripada pada waktu malam, juga mungkin ada hari-hari di mana terdapat lebih sedikit e-mel untuk diproses, dan kadang-kadang seluruh dunia boleh mula menghantar e-mel kepada anda! Dalam kedua kes tersebut, Lambda siap sedia untuk anda.

Mengingat kes penggunaan ini untuk syarikat rangkaian sosial yang besar, di mana e-mel tidak pernah berakhir kerana mempunyai pangkalan pengguna yang besar, Lambda mungkin bukan pilihan yang tepat.

Anda boleh membaca lebih lanjut mengenai EC2 AWS di sini untuk pemahaman yang lebih mendalam.

Batasan AWS Lambda

Beberapa batasan adalah khusus perkakasan dan ada yang terikat dengan seni bina, mari kita bincangkan semuanya.

Batasan perkakasan termasuk ukuran cakera, yang terbatas pada 512 MB, memori dapat bervariasi antara 128 MB dan 1536 MB. Kemudian ada beberapa yang lain seperti batas waktu pelaksanaan dapat dimaksimumkan hanya 5 minit, muatan badan permintaan anda tidak boleh lebih dari 6 MB dan badan permintaan anda adalah 128 KB. Muatan badan permintaan adalah seperti data yang Anda kirimkan dengan permintaan 'GET' atau 'PUT' di HTTP, di mana sebagai badan permintaan adalah jenis permintaan, header dll.

Sebenarnya, ini bukan batasan, tetapi merupakan batasan reka bentuk yang telah ditetapkan dalam seni bina Lambda, jadi jika casing penggunaan anda tidak sesuai dengan ini, anda selalu mempunyai perkhidmatan komputasi AWS yang lain.

Kami membincangkan dalam Tutorial AWS Lambda ini bahawa bagaimana melakukan tugas di Lambda “tidak” membosankan dan meletihkan. Mari kita lindungi bahagian perbelanjaan juga.

Harga di AWS Lambda

Seperti kebanyakan perkhidmatan AWS, AWS Lambda juga merupakan perkhidmatan bayar per penggunaan, yang bermaksud anda hanya membayar apa yang anda gunakan, oleh itu anda dikenakan bayaran pada parameter berikut

  • Jumlah permintaan yang anda buat untuk fungsi lambda anda
  • The jangka masa yang mana kod anda dilaksanakan.

Permintaan

  • Anda dikenakan sejumlah permintaan yang anda buat di semua fungsi lambda anda.
  • AWS Lambda mengira permintaan setiap kali ia mula dilaksanakan sebagai tindak balas kepada sumber peristiwa atau panggilan panggilan, termasuk ujian dipanggil dari konsol. Mari lihat harga sekarang:
    • 1 juta permintaan pertama, setiap bulan adalah percuma.
    • 0.20 $ per juta permintaan selepas itu.

Tempoh

  • Tempoh dikira dari saat kod anda mulai dijalankan hingga saat ia kembali atau berakhir, ia dibulatkan hingga 100ms terdekat.
  • Harganya bergantung pada jumlah memori yang anda peruntukkan untuk fungsi anda, anda dikenakan $ 0,00001667 untuk setiap GB-saat yang digunakan.

* Sumber: laman web rasmi AWS

Sekiranya anda sampai ke sini anda sudah siap untuk Hands-on di Lambda. Mari bersenang-senang!

Hands-on: AWS Lambda DIY

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

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

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

Langkah 3: Pada halaman seterusnya, anda harus memilih cetak biru. Sebagai contoh, kita akan memilih fungsi kosong untuk kes penggunaan kita.

Langkah 4: Pada halaman berikutnya anda akan (1) menetapkan pemicu, kerana kita akan mengerjakan S3, (2) pilih pemicu S3 dan kemudian (3) klik Seterusnya.

Langkah 5: Pada halaman konfigurasi, isikan butirannya. Anda boleh meletakkan kod anda sendiri, atau menyalin kod yang sama dari kes penggunaan ini. Selepas itu, isi penangan dan peranan, tinggalkan tetapan lanjutan seperti sekarang, pada akhirnya klik seterusnya

Langkah 6: Pada halaman berikutnya, tinjau semua maklumat, dan klik 'Buat fungsi'.

Langkah7: Sekarang, kerana kami membuat fungsi untuk baldi S3, pada saat anda menambahkan fail ke baldi S3, anda harus mendapatkan log yang sama di CloudWatch, yang merupakan perkhidmatan pemantauan dari AWS.

Tahniah!Anda telah berjaya melaksanakan Fungsi Lambda.

Saya harap anda dapat menikmati Tutorial AWS Lambda secara mendalam. Ini adalah salah satu bidang pengetahuan yang paling diingini dalam ekosistem AWS untuk jawatan seperti Solutions Architect, Cloud Engineer, DevOps Engineer. Inilah koleksi untuk membantu anda membuat persediaan untuk temu duga pekerjaan AWS anda yang seterusnya.

Sekiranya anda mendapati Tutorial AWS Lambda ini relevan, anda boleh menyemak kursus langsung dan arahan pengajar Edureka , dicipta bersama oleh pengamal industri.

Ada soalan untuk kami? Sila sebutkan di bahagian komen dan kami akan menghubungi anda.