د AWS Lambda تفصيلي تحلیل

د مقالې ژباړه په ځانګړي ډول د کورس زده کونکو لپاره چمتو شوې وه "بادل خدمتونه". په دې لار کې د پرمختګ سره علاقه لرئ؟ د ایګور زویف لخوا ماسټر کلاس وګورئ (په ان بیټ کې ټیم لیډ) "AWS EC2 خدمت" او د راتلونکي کورس ګروپ سره یوځای شئ: د سپتمبر په 26 پیل کیږي.

د AWS Lambda تفصيلي تحلیل

ډیر خلک AWS Lambda ته د توزیع، فعالیت، سپما، او په میاشت کې د ملیونونو یا حتی ټریلیونونو غوښتنو اداره کولو وړتیا لپاره مهاجرت کوي. د دې کولو لپاره، تاسو اړتیا نلرئ هغه زیربنا اداره کړئ چې خدمت یې پرمخ ځي. او اتوماتیک کول تاسو ته اجازه درکوي په هره ثانیه کې د زرګونو یوځل غوښتنې خدمت وکړئ. زه فکر کوم چې AWS Lambda په سمه توګه د AWS یو له خورا مشهور خدماتو څخه بلل کیدی شي.

AWS لامبده

AWS Lambda د پیښې لخوا پرمخ وړل شوي سرور بې کمپیوټري خدمت دی چې تاسو ته اجازه درکوي د سرورونو چمتو کولو یا اداره کولو پرته کوډ چل کړئ او د دودیز منطق په کارولو سره نور AWS خدمات وغزوئ. لیمبډا په اتوماتيک ډول مختلف پیښو ته ځواب ورکوي (د محرک په نوم یادیږي)، لکه د ایمیزون API ګیټ وے له لارې د HTTP غوښتنې، د ایمیزون S3 بالټونو یا د ایمیزون ډینامو ډی بی میزونو کې ډاټا ته بدلون؛ یا تاسو کولی شئ خپل کوډ د AWS SDK په کارولو سره د API کالونو له لارې پرمخ وړئ او د AWS سټیپ فنکشنونو کې دولتي لیږدونه.

لامبډا په خورا موجود کمپیوټري زیربنا کې کوډ چلوي او د اصلي پلیټ فارم اداره کولو لپاره په بشپړ ډول مسؤل دی ، پشمول د سرور او عملیاتي سیسټم ساتنه ، د سرچینو چمتو کول ، اتومات اندازه کول ، د کوډ څارنه ، او لاګنګ. دا دی ، تاسو اړتیا لرئ خپل کوډ اپلوډ کړئ او تنظیم کړئ چې څنګه او کله باید اجرا شي. په بدل کې، خدمت به خپل پیل ته پاملرنه وکړي او ستاسو د غوښتنلیک لوړ شتون ډاډمن کړي.

کله چې لیمبډا ته لاړ شئ؟

AWS Lambda یو مناسب کمپیوټري پلیټ فارم دی چې د کارونې مختلف قضیو لپاره مناسب دی ، تر هغه چې ستاسو د کوډ ژبه او د چلولو وخت د خدمت لخوا ملاتړ کیږي. که تاسو غواړئ خپل کوډ او د سوداګرۍ منطق باندې تمرکز وکړئ پداسې حال کې چې په مناسب لګښت کې د سرور ساتنه ، چمتو کول ، او اندازه کول آؤټ سورس کول ، AWS Lambda یقینا د تګ لاره ده.

لیمبډا د برنامه کولو انٹرفیسونو رامینځته کولو لپاره مثالی دی ، او کله چې د API ګیټ وے سره په ګډه کارول کیږي ، تاسو کولی شئ د پام وړ لګښتونه کم کړئ او ګړندي بازار ته ورسیږئ. د لیمبډا دندو او اختیارونو کارولو لپاره مختلفې لارې شتون لري چې د سرور بې معمار تنظیم کولو لپاره انتخابونه - هرڅوک کولی شي د خپل هدف پراساس یو څه مناسب غوره کړي.

Lambda تاسو ته اجازه درکوي د دندو پراخه لړۍ ترسره کړي. پدې توګه ، د CloudWatch ملاتړ څخه مننه ، تاسو کولی شئ ځنډول شوي دندې رامینځته کړئ او انفرادي پروسې اتومات کړئ. د خدماتو کارولو نوعیت او شدت باندې هیڅ محدودیت شتون نلري (د حافظې مصرف او وخت په پام کې نیول شوي) ، او هیڅ شی تاسو ته د لامبا پراساس په بشپړ مایکرو سرویس کې په سیستماتیک ډول کار کولو څخه منع کوي.

دلته تاسو کولی شئ د خدماتو پر بنسټ کړنې رامینځته کړئ چې په دوامداره توګه نه چلیږي. یو عام مثال د عکس اندازه کول دي. حتی د توزیع شوي سیسټمونو په حالت کې ، د لامبډا دندې اړونده پاتې کیږي.

نو، که تاسو نه غواړئ د کمپیوټري سرچینو تخصیص او اداره کولو سره معامله وکړئ، د AWS Lambda هڅه وکړئ؛ که تاسو درانه، د سرچینو ژورې محاسبې ته اړتیا نلرئ، د AWS Lambda هم هڅه وکړئ؛ که ستاسو کوډ په دوره توګه پرمخ ځي، دا سمه ده، تاسو باید د AWS Lambda هڅه وکړئ.

امنیت

تر اوسه د امنیت په اړه کوم شکایت نه دی شوی. له بلې خوا، څرنګه چې د دې ماډل ډیری داخلي پروسې او پلي کول ځانګړتیاوې د AWS Lambda مدیریت شوي رن ټایم چاپیریال کارونکي څخه پټ دي، د بادل امنیت ځینې عموما منل شوي مقررات غیر متناسب کیږي.

د ډیری AWS خدماتو په څیر، Lambda د AWS او پیرودونکي ترمنځ د ګډ امنیت او موافقت پر بنسټ چمتو کیږي. دا اصول په پیرودونکي باندې عملیاتي بوج کموي، ځکه چې AWS د خدماتو اجزاوو ساتلو، اداره کولو او څارنې دندې په غاړه اخلي - د کوربه عملیاتي سیسټم او مجازی کولو پرت څخه د زیربناوو شتمنیو فزیکي امنیت پورې.

په ځانګړې توګه د AWS Lambda په اړه خبرې کول، AWS د زیربناوو، اړونده بنسټیزو خدماتو، عملیاتي سیسټم، او غوښتنلیک پلیټ فارم اداره کولو مسولیت لري. پداسې حال کې چې پیرودونکی د خپل کوډ امنیت مسؤلیت لري ، د محرم معلوماتو ذخیره کول ، دې ته لاسرسی کنټرول کول ، او همدارنګه د لامبډا خدماتو او سرچینو (پیژندنې او لاسرسي مدیریت ، IAM) ته ، په شمول د کارول شوي دندو محدودیتونو کې.

لاندې انځور د ګډ مسؤلیت ماډل ښیې ځکه چې دا په AWS Lambda باندې تطبیق کیږي. د AWS مسؤلیت نارنجي دی او د پیرودونکي مسؤلیت نیلي دی. لکه څنګه چې تاسو لیدلی شئ، AWS په خدمت کې ګمارل شوي غوښتنلیکونو لپاره ډیر مسؤلیت په غاړه اخلي.

د AWS Lambda تفصيلي تحلیل

د ګډ مسؤلیت ماډل د AWS Lambda لپاره د تطبیق وړ دی

د لامبا چلولو وخت

د لامبډا اصلي ګټه دا ده چې ستاسو په استازیتوب د فعالیت په ترسره کولو سره ، خدمت پخپله اړین سرچینې تخصیص کوي. تاسو کولی شئ د سیسټم اداره کولو کې د وخت او هڅو ضایع کولو څخه مخنیوی وکړئ او د سوداګرۍ منطق او کوډ کولو تمرکز وکړئ.

د لامبدا خدمت په دوه الوتکو ویشل شوی. لومړی د کنټرول الوتکه ده. د ویکیپیډیا په وینا، د کنټرول الوتکه د شبکې برخه ده چې د سیګنال ټرافیک او روټینګ لیږد مسولیت لري. دا لومړنۍ برخه ده چې د کاري بارونو چمتو کولو، خدمت کولو او ویشلو په اړه نړیوالې پریکړې کوي. برسېره پردې، د کنټرول الوتکه د حل چمتو کونکي شبکې ټوپولوژي په توګه کار کوي، د ټرافیک د روټینګ او مدیریت مسولیت لري.

دوهم الوتکه د معلوماتو الوتکه ده. دا، د کنټرول الوتکې په څیر، خپلې دندې لري. د کنټرول الوتکه د دندو اداره کولو لپاره APIs چمتو کوي (CreateFunction، UpdateFunctionCode) او کنټرولوي چې څنګه Lambda د نورو AWS خدماتو سره اړیکه نیسي. د ډیټا الوتکه د Invoke API کنټرولوي، کوم چې د Lambda فعالیتونه پرمخ وړي. وروسته له دې چې یو فنکشن ویل کیږي، د کنټرول الوتکه د اوسني چلولو چاپیریال تخصیص کوي یا غوره کوي چې د دې فنکشن لپاره مخکې چمتو شوی وي، او بیا په کې کوډ اجرا کوي.

AWS Lambda د مختلف پروګرامینګ ژبو ملاتړ کوي، پشمول جاوا 8، Python 3.7، Go، NodeJS 8، .NET Core 2، او نور، د دوی د اړوندو چلولو چاپیریالونو له لارې. AWS په منظم ډول دوی تازه کوي، امنیتي پیچونه توزیع کوي، او په دې چاپیریال کې د ساتنې نور فعالیتونه ترسره کوي. لیمبډا تاسو ته اجازه درکوي چې نورې ژبې هم وکاروئ ، په دې شرط چې تاسو پخپله مناسب وخت پلي کړئ. او بیا تاسو باید د هغې ساتنې ته پاملرنه وکړئ ، پشمول د دې خوندیتوب څارنه.

دا ټول څنګه کار کوي او خدمت به څنګه ستاسو دندې ترسره کړي؟

هر فعالیت په یو یا څو وقف شوي چاپیریال کې پرمخ ځي، کوم چې یوازې د هغه فعالیت ژوند لپاره شتون لري او بیا له منځه ځي. هر چاپیریال په یو وخت کې یوازې یو زنګ وهي، مګر دا بیا کارول کیږي که چیرې ورته فنکشن ته ډیری سیریل زنګونه شتون ولري. ټول د چلولو وخت چاپیریال د هارډویر مجازی کولو سره په مجازی ماشینونو کې پرمخ ځي - د مایکرو وی ایم په نوم یادیږي. هر مایکرو وی ایم یو ځانګړي AWS حساب ته ګمارل شوی او د چاپیریال لخوا بیا کارول کیدی شي ترڅو پدې حساب کې مختلف دندې ترسره کړي. MicroVMs د Lambda Worker هارډویر پلیټ فارم جوړولو بلاکونو کې بسته شوي، کوم چې د AWS لخوا ملکیت او چلول کیږي. ورته وخت د مختلف افعالو لخوا نشي کارول کیدی، او نه هم مایکرو وی ایم د مختلف AWS حسابونو لپاره ځانګړي دي.

د AWS Lambda تفصيلي تحلیل

AWS Lambda د جلا کولو ماډل

د چلولو وخت چاپیریال جلا کول د ډیری میکانیزمونو په کارولو سره پلي کیږي. د هر چاپیریال په پورتنۍ کچه کې د لاندې برخو جلا کاپي شتون لري:

  • د فعالیت کوډ
  • د فنکشن لپاره د لیمبډا هر ډول پرتونه غوره شوي
  • د فعالیت اجرا کولو چاپیریال
  • د ایمیزون لینکس پراساس د لږترلږه کارونکي ځای

لاندې میکانیزمونه د مختلف اعدام چاپیریالونو جلا کولو لپاره کارول کیږي:

  • cgroups - د هر چلولو چاپیریال لپاره CPU، حافظې، ذخیره کولو او د شبکې سرچینو ته لاسرسی محدود کړئ؛
  • نوم ځایونه - د ګروپ کولو پروسې IDs، د کارونکي IDs، د شبکې انٹرفیس او نورې سرچینې چې د لینکس کرنل لخوا اداره کیږي. هر وخت په خپل نوم ځای کې تیریږي؛
  • seccomp-bpf - د سیسټم زنګونه محدودوي چې د چلولو په وخت کې کارول کیدی شي؛
  • iptables او روټینګ میزونه - د یو بل څخه د اعدام چاپیریال جلا کول؛
  • chroot - اصلي فایل سیسټم ته محدود لاسرسی چمتو کوي.

د AWS ملکیت جلا کولو ټیکنالوژیو سره یوځای، دا میکانیزمونه د اعتبار وړ وخت جلا کول ډاډمن کوي. په دې ډول جلا شوي چاپیریال نشي کولی د نورو چاپیریالونو څخه ډیټا ته لاسرسی ومومي یا بدل کړي.

که څه هم د ورته AWS حساب ډیری وختونه په یوه مایکرو وی ایم کې پرمخ وړل کیدی شي، په هیڅ حالت کې نشي کولی مایکرو وی ایم د مختلف AWS حسابونو ترمنځ شریک شي. AWS Lambda د مایکرو وی ایم جلا کولو لپاره یوازې دوه میکانیزمونه کاروي: EC2 مثالونه او فایرکریکر. د EC2 مثالونو پراساس په لیمبډا کې د میلمنو جلا کول د 2015 راهیسې شاوخوا دی. فایرکریکر یو نوی خلاص سرچینه هایپروایسر دی چې په ځانګړي ډول د AWS لخوا د سرور بې کار بارونو لپاره ډیزاین شوی او په 2018 کې معرفي شوی. د مایکرو وی ایم چلولو فزیکي هارډویر په مختلف حسابونو کې د کاري بارونو ترمینځ شریک شوی.

د چاپیریال خوندي کول او د پروسې حالتونه

که څه هم د لیمبډا رن ټایمونه د مختلف فعالیتونو لپاره ځانګړي دي ، دوی کولی شي ورته فنکشن په مکرر ډول ووایی ، پدې معنی چې د رن ټایم له ویجاړیدو دمخه د څو ساعتونو لپاره ژوندی پاتې کیدی شي.

هر لامبا چلولو وخت هم د لیکلو وړ فایل سیسټم لري چې د /tmp لارښود له لارې د لاسرسي وړ وي. د دې مینځپانګې د نورو وختونو څخه نشي لاسرسی کیدی. تر هغه ځایه چې د پروسې حالت دوام پورې اړه لري، /tmp ته لیکل شوي فایلونه د چلولو چاپیریال د ټول ژوند دورې لپاره شتون لري. دا د ډیری تلیفونونو پایلو ته اجازه ورکوي چې راټول شي، کوم چې په ځانګړې توګه د ګرانو عملیاتو لپاره ګټور دي لکه د ماشین زده کړې ماډلونه پورته کول.

د معلوماتو لیږد ته زنګ ووهئ

Invoke API په دوه حالتونو کې کارول کیدی شي: د پیښې حالت او د غوښتنې ځواب حالت. د پیښې په حالت کې، زنګ د وروسته اجرا کولو لپاره په کتار کې اضافه کیږي. د غوښتنې ځواب حالت کې، فنکشن د چمتو شوي تادیاتو سره سمدلاسه ویل کیږي، وروسته له هغې چې ځواب بیرته راستانه شي. په دواړو حالتونو کې، فنکشن د لامبډا چاپیریال کې پرمخ ځي، مګر د مختلفو تادیاتو لارو سره.

د غوښتنې ځواب زنګونو په جریان کې ، تادیه د غوښتنې پروسس کولو API (API کالر) څخه تیریږي ، لکه د AWS API ګیټ وے یا AWS SDK ، د بار بیلنسر ته ، او بیا د لامبډا کال خدمت (د غوښتنې خدمت) ته. وروستی د فعالیت اجرا کولو لپاره مناسب چاپیریال ټاکي او د تلیفون بشپړولو لپاره هلته تادیه تیریږي. د بار بیلانسر د انټرنیټ له لارې د TLS محافظت ترافیک ترلاسه کوي. د لامبډا خدمت کې ترافیک — د بار بیلانسر وروسته — په ځانګړي AWS سیمه کې د داخلي VPC له لارې تیریږي.

د AWS Lambda تفصيلي تحلیل

د AWS Lambda کال پروسس کولو ماډل: د غوښتنې ځواب حالت

د پیښې زنګونه سمدلاسه کیدی شي یا په کتار کې اضافه شي. په ځینو مواردو کې، قطار د Amazon SQS (Amazon Simple Queue Service) په کارولو سره پلي کیږي، کوم چې د داخلي رای ورکونې پروسې له لارې د لیمبډا کال بشپړولو خدمت ته زنګونه لیږدوي. لیږدول شوي ټرافیک د TLS لخوا خوندي شوی، او په ایمیزون SQS کې د ذخیره شوي معلوماتو اضافي کوډ نشته.

د پیښې زنګونه ځوابونه نه راګرځوي — د لیمبډا کارګر په ساده ډول د ځواب ورکولو کوم معلومات له پامه غورځوي. د Amazon S3، Amazon SNS، CloudWatch، او نورو سرچینو څخه د پیښې پر بنسټ تلیفونونه د پیښې حالت کې د لیمبډا لخوا پروسس کیږي. د Amazon Kinesis او DynamoDB جریانونو څخه زنګونه، د SQS کتارونه، د اپلیکیشن لوډ بیلانسر، او د API ګیټ وے زنګونه د غوښتنې ځواب فیشن کې پروسس کیږي.

څارنه

تاسو کولی شئ د مختلف AWS میکانیزمونو او خدماتو په کارولو سره د لامبډا افعال وڅارئ او پلټنه وکړئ، په شمول د لاندې.

ایمیزون کلاوډ واچ
مختلف احصایې راټولوي لکه د غوښتنو شمیر، د غوښتنو موده، او د غوښتنو شمیر چې ناکام شوي.

Amazon CloudTrail
تاسو ته اجازه درکوي چې ستاسو د AWS زیربنا پورې اړوند د حساب فعالیت معلومات لاګ ، په دوامداره توګه وڅارئ او وساتئ. تاسو به د AWS مدیریت کنسول، AWS SDK، د کمانډ لاین اوزار، او د AWS نورو خدماتو په کارولو سره د ترسره شوي کړنو بشپړ تاریخ ولرئ.

AWS X-ray
ستاسو په غوښتنلیک کې د غوښتنې پروسس کولو ټولو مرحلو ته د دې داخلي برخو نقشې پراساس بشپړ لید وړاندې کوي. تاسو ته اجازه درکوي د پراختیا او تولید چاپیریال کې غوښتنلیکونه تحلیل کړئ.

د AWS ترتیب
تاسو به وکولی شئ د لامبډا فنکشن تشکیلاتو کې بدلونونه تعقیب کړئ (د حذف کولو په شمول) او د چلولو وختونه ، ټاګونه ، د هینډلر نومونه ، د کوډ اندازه ، د حافظې تخصیص ، د وخت پای تنظیمات او همغږي تنظیمات ، په بیله بیا د لامبډا IAM اجرا کولو رول ، سبنیټینګ ، او د امنیت ګروپ پابندۍ .

پایلې

AWS Lambda د خوندي او توزیع وړ غوښتنلیکونو جوړولو لپاره د وسیلو ځواکمن سیټ وړاندیز کوي. په AWS Lambda کې د امنیت او موافقت ډیری کړنې د نورو AWS خدماتو په څیر دي، که څه هم استثناوې شتون لري. د مارچ تر 2019 پورې، لامبډا د SOC 1، SOC 2، SOC 3، PCI DSS، د روغتیا بیمې پورټیبلیت او حساب ورکولو قانون (HIPAA) اطاعت، او نورو مقرراتو سره مطابقت لري. نو، کله چې تاسو د خپل راتلونکي غوښتنلیک پلي کولو په اړه فکر کوئ، د AWS Lambda خدمت ته پام وکړئ - دا ممکن ستاسو د دندې لپاره غوره وي.

سرچینه: www.habr.com

Add a comment