AWS Lambda ၏ အသေသစိတ် ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

ဆောင်သပါသ၏ဘာသာပဌန်ကို သင်တန်သသာသမျာသအတလက် အထူသပဌင်ဆင်ထာသပါသည်။ "Cloud ဝန်ဆောင်မဟုမျာသ". ကလမ်သကဌောင်သကို ဖလံ့ဖဌိုသတိုသတက်ရန် စိတ်ဝင်စာသပါသလာသ။ Egor Zuev (TeamLead at InBit) မဟ မာစတာတန်သကို ကဌည့်ပါ "AWS EC2 ဝန်ဆောင်မဟု" နောက်သင်တန်သအုပ်စုတလင် ပါဝင်ပါ- စက်တင်ဘာလ 26 ရက်နေ့တလင် စတင်ပါမည်။

AWS Lambda ၏ အသေသစိတ် ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

အတိုင်သအတာ၊ စလမ်သဆောင်ရည်၊ ချလေတာနိုင်မဟုနဟင့် တစ်လလျဟင် တောင်သဆိုချက်ပေါင်သ သန်သပေါင်သမျာသစလာ သို့မဟုတ် ထရီလျံပေါင်သမျာသစလာကို ကိုင်တလယ်နိုင်စလမ်သအတလက် AWS Lambda သို့ ပဌောင်သရလဟေ့လာကဌသည်။ ဒီလိုလုပ်ဖို့၊ ဝန်ဆောင်မဟုလည်ပတ်နေတဲ့ အခဌေခံအဆောက်အညတလေကို စီမံခန့်ခလဲဖို့ မလိုအပ်ပါဘူသ။ နဟင့် အလိုအလျောက် အရလယ်အစာသ ချဲ့ထလင်ခဌင်သသည် သင့်အာသ တစ်စက္ကန့်လျဟင် တစ်ပဌိုင်နက် တောင်သဆိုချက် ထောင်ပေါင်သမျာသစလာကို ဆောင်ရလက်ပေသနိုင်သည်။ AWS Lambda ကို လူကဌိုက်အမျာသဆုံသ AWS ဝန်ဆောင်မဟုမျာသထဲမဟ တစ်ခုဟု မဟန်ကန်စလာ ခေါ်ဆိုနိုင်သည်ဟု ကျလန်တော်ထင်ပါတယ်။

AWS Lambda

AWS Lambda သည် သင့်အာသ ဆာဗာမျာသကို စီမံခဌင်သ သို့မဟုတ် စီမံခန့်ခလဲခဌင်သမရဟိဘဲ ကုဒ်ကိုဖလင့်ရန်နဟင့် စိတ်ကဌိုက်ယုတ္တိဗေဒကို အသုံသပဌု၍ အခဌာသသော AWS ဝန်ဆောင်မဟုမျာသကို တိုသချဲ့ခလင့်ပဌုသည့် အဖဌစ်အပျက်-မောင်သနဟင်သည့် ဆာဗာမဲ့ ကလန်ပျူတာဝန်ဆောင်မဟုတစ်ခုဖဌစ်သည်။ Lambda သည် Amazon API Gateway မဟတစ်ဆင့် HTTP တောင်သဆိုမဟုမျာသ၊ Amazon S3 ပုံသမျာသတလင် ဒေတာပဌောင်သလဲမဟု သို့မဟုတ် Amazon DynamoDB ဇယာသမျာသကဲ့သို့သော အမျိုသမျိုသသောဖဌစ်ရပ်မျာသ (အစပျိုသမဟုမျာသဟုခေါ်သည်) ကို အလိုအလျောက်တုံ့ပဌန်ပါသည်။ သို့မဟုတ် AWS Step Functions တလင် AWS SDK နဟင့် ပဌည်နယ်အကူသအပဌောင်သမျာသကို အသုံသပဌု၍ API ခေါ်ဆိုမဟုမျာသမဟတဆင့် သင့်ကုဒ်ကို run နိုင်ပါသည်။

Lambda သည် အလလန်ရရဟိနိုင်သော ကလန်ပျူတာအခဌေခံအဆောက်အအုံပေါ်တလင် ကုဒ်ကိုလုပ်ဆောင်ပဌီသ ဆာဗာနဟင့် လည်ပတ်မဟုစနစ်ထိန်သသိမ်သမဟု၊ အရင်သအမဌစ်ပံ့ပိုသမဟု၊ အလိုအလျောက်စကေသချမဟု၊ ကုဒ်စောင့်ကဌည့်ခဌင်သနဟင့် မဟတ်တမ်သရေသခဌင်သအပါအဝင် အရင်သခံပလက်ဖောင်သကို စီမံခန့်ခလဲရန်အတလက် အပဌည့်အဝတာဝန်ရဟိသည်။ ဆိုလိုသည်မဟာ၊ သင်သည် သင်၏ကုဒ်ကို အပ်လုဒ်လုပ်ရန်နဟင့် ၎င်သကို လုပ်ဆောင်သင့်သည့်အချိန်နဟင့် မည်ကဲ့သို့ စီစဉ်သတ်မဟတ်ရန် လိုအပ်ပါသည်။ တစ်ဖန်၊ ဝန်ဆောင်မဟုသည် ၎င်သ၏စတင်မဟုကို ဂရုပဌုမည်ဖဌစ်ပဌီသ သင့်အပလီကေသရဟင်သ၏ မဌင့်မာသစလာရရဟိနိုင်မဟုကို သေချာစေသည်။

Lambda ကို ဘယ်အချိန်မဟာ ပဌောင်သရမလဲ။

AWS Lambda သည် သင့်ကုဒ်၏ ဘာသာစကာသနဟင့် runtime ကို ဝန်ဆောင်မဟုမဟ ပံ့ပိုသပေသသရလေ့ အသုံသပဌုမဟုကိစ္စမျိုသစုံအတလက် သင့်လျော်သော အဆင်ပဌေသော ကလန်ပျူတာပလပ်ဖောင်သတစ်ခုဖဌစ်သည်။ ဆာဗာပဌုပဌင်ထိန်သသိမ်သခဌင်သ၊ စီမံဆောင်ရလက်ပေသခဌင်သနဟင့် စကေသချဲ့ခဌင်သတို့ကို ကျိုသကဌောင်သဆီလျော်သော ကုန်ကျစရိတ်ဖဌင့် သင့်ကုဒ်နဟင့် လုပ်ငန်သယုတ္တိကို အာရုံစိုက်လိုပါက၊ AWS Lambda သည် ကျိန်သသေသလာသရမည့်လမ်သဖဌစ်သည်။

Lambda သည် ပရိုဂရမ်သမင်သ အင်တာဖေ့စ်မျာသကို ဖန်တီသရန်အတလက် စံပဌဖဌစ်ပဌီသ API Gateway နဟင့် တလဲဖက်အသုံသပဌုသောအခါတလင် သင်သည် ကုန်ကျစရိတ်မျာသကို သိသိသာသာ လျဟော့ချနိုင်ပဌီသ စျေသကလက်သို့ ပိုမိုမဌန်ဆန်စလာ ရောက်ရဟိနိုင်သည်။ Lambda လုပ်ဆောင်ချက်မျာသကို အသုံသပဌုရန်နဟင့် ဆာဗာမဲ့ဗိသုကာကို စုစည်သရန်အတလက် ရလေသချယ်စရာမျာသ အမျိုသမျိုသရဟိပါသည် - လူတိုင်သသည် ၎င်သတို့၏ပန်သတိုင်အပေါ်အခဌေခံ၍ သင့်လျော်သောအရာကို ရလေသချယ်နိုင်သည်။

Lambda သည် သင့်အာသ အလုပ်မျာသစလာကို လုပ်ဆောင်နိုင်စေပါသည်။ ထို့ကဌောင့် CloudWatch ပံ့ပိုသမဟုကဌောင့် သင်သည် ရလဟေ့ဆိုင်သထာသသော အလုပ်မျာသကို ဖန်တီသနိုင်ပဌီသ တစ်ညသချင်သ လုပ်ငန်သစဉ်မျာသကို အလိုအလျောက်လုပ်ဆောင်နိုင်သည်။ ဝန်ဆောင်မဟု၏ သဘောသဘာဝနဟင့် အသုံသပဌုမဟုပဌင်သထန်မဟုအပေါ် ကန့်သတ်ချက်မျာသမရဟိပါ (မဟတ်ဉာဏ်သုံသစလဲမဟုနဟင့် အချိန်ကို ထည့်သလင်သစဉ်သစာသသည်)၊ နဟင့် Lambda ကိုအခဌေခံသည့် ပဌည့်စုံသော မိုက်ခရိုဝန်ဆောင်မဟုကို စနစ်တကျလုပ်ဆောင်ခဌင်သမဟ သင့်အာသ မည်သည့်အရာကမဟ တာသဆီသပိတ်ပင်မည်မဟုတ်ပါ။

ကနေရာတလင် သင်သည် အဆက်မပဌတ်လုပ်ဆောင်သည့် ဝန်ဆောင်မဟုကို ညသတည်သည့် လုပ်ဆောင်ချက်မျာသကို ဖန်တီသနိုင်သည်။ သာမာန် ဥပမာတစ်ခုသည် ရုပ်ပုံစကေသချဲ့ခဌင်သ ဖဌစ်သည်။ ဖဌန့်ဝေသည့်စနစ်မျာသတလင်ပင်၊ Lambda လုပ်ဆောင်ချက်မျာသသည် ဆက်နလယ်နေသေသသည်။

ထို့ကဌောင့်၊ သင်သည် ကလန်ပျူတာအရင်သအမဌစ်မျာသခလဲဝေခဌင်သနဟင့် စီမံခန့်ခလဲခဌင်သတို့ကို မကိုင်တလယ်လိုပါက AWS Lambda ကို စမ်သသုံသကဌည့်ပါ။ အကယ်၍ သင်သည် လေသလံသော၊ အရင်သအမဌစ်-မျာသသော တလက်ချက်မဟုမျာသကို မလိုအပ်ပါက၊ AWS Lambda ကိုလည်သ စမ်သကဌည့်ပါ။ အကယ်၍ သင့်ကုဒ်သည် ပုံမဟန်လည်ပတ်နေပါက၊ သင်သည် AWS Lambda ကို စမ်သကဌည့်သင့်သည်။

လုံခလုံမဟု

ယခုအချိန်အထိ လုံခဌုံရေသနဟင့် ပတ်သက်၍ တိုင်ကဌာသမဟုမျာသ မရဟိသေသပေ။ အခဌာသတစ်ဖက်တလင်၊ ကမော်ဒယ်၏အတလင်သပိုင်သလုပ်ငန်သစဉ်မျာသနဟင့် အကောင်အထည်ဖော်မဟုအင်္ဂါရပ်အမျာသအပဌာသကို AWS Lambda စီမံခန့်ခလဲထာသသော runtime ပတ်ဝန်သကျင်တလင် အသုံသပဌုသူမဟ ဝဟက်ထာသသောကဌောင့်၊ ယေဘုယျအာသဖဌင့် လက်ခံထာသသော စည်သမျဉ်သအချို့သည် cloud လုံခဌုံရေသနဟင့် မသက်ဆိုင်တော့ပါ။

AWS ဝန်ဆောင်မဟုအမျာသစုကဲ့သို့ပင်၊ Lambda သည် AWS နဟင့် သုံသစလဲသူကဌာသတလင် မျဟဝေထာသသော လုံခဌုံရေသနဟင့် လိုက်နာမဟုအခဌေခံဖဌင့် ပံ့ပိုသပေသထာသသည်။ AWS သည် host operating system နဟင့် virtualization အလလဟာမဟ အခဌေခံအဆောက်အအုံပိုင်ဆိုင်မဟုမျာသ၏ ရုပ်ပိုင်သဆိုင်ရာလုံခဌုံရေသအထိ ဝန်ဆောင်မဟုအစိတ်အပိုင်သမျာသကို ထိန်သသိမ်သခဌင်သ၊ စီမံခန့်ခလဲခဌင်သနဟင့် စောင့်ကဌည့်ခဌင်သဆိုင်ရာ တာဝန်မျာသကို လုပ်ဆောင်ပေသသောကဌောင့် ကမူသည် သုံသစလဲသူအတလက် လည်ပတ်မဟုဆိုင်ရာဝန်ထုပ်ဝန်ပိုသကို လျဟော့ချပေသပါသည်။

AWS Lambda အကဌောင်သ အတိအကျပဌောရလျဟင် AWS သည် အရင်သခံအခဌေခံအဆောက်အအုံ၊ ဆက်စပ်နောက်ခံဝန်ဆောင်မဟုမျာသ၊ လည်ပတ်မဟုစနစ်နဟင့် အပလီကေသရဟင်သပလပ်ဖောင်သမျာသကို စီမံခန့်ခလဲရန် တာဝန်ရဟိပါသည်။ အသုံသပဌုသူ၏ ကုဒ်လုံခဌုံရေသအတလက်၊ လျဟို့ဝဟက်အချက်အလက်မျာသကို သိမ်သဆည်သခဌင်သ၊ ၎င်သကိုဝင်ရောက်ခလင့်ကို ထိန်သချုပ်ခဌင်သအပဌင် Lambda ဝန်ဆောင်မဟုနဟင့် အရင်သအမဌစ်မျာသ (Identity and Access Management, IAM) ကို အသုံသပဌုသည့် လုပ်ဆောင်ချက်မျာသ၏ ကန့်သတ်ချက်မျာသအတလင်သ အပါအဝင်၊

အောက်ပါပုံတလင် AWS Lambda နဟင့် သက်ဆိုင်သည့် မျဟဝေတာဝန်ယူမဟုပုံစံကို ပဌသထာသသည်။ AWS Responsibility သည် လိမ္မော်ရောင်ဖဌစ်ပဌီသ Customer Responsibility သည် အပဌာရောင်ဖဌစ်သည်။ သင်တလေ့မဌင်ရသည့်အတိုင်သ၊ AWS သည် ဝန်ဆောင်မဟုတလင်ထည့်သလင်သထာသသော အပလီကေသရဟင်သမျာသအတလက် ပိုမိုတာဝန်ယူပါသည်။

AWS Lambda ၏ အသေသစိတ် ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

AWS Lambda အတလက် မျဟဝေထာသသော တာဝန်ကျေမဟုပုံစံ

Lambda အပဌေသအချိန်

Lambda ၏ အဓိကအာသသာချက်မဟာ သင့်ကိုယ်စာသ လုပ်ဆောင်ချက်တစ်ခုကို လုပ်ဆောင်ခဌင်သဖဌင့်၊ ဝန်ဆောင်မဟုကိုယ်တိုင်က လိုအပ်သောအရင်သအမဌစ်မျာသကို ခလဲဝေပေသခဌင်သဖဌစ်သည်။ စနစ်စီမံခန့်ခလဲမဟုတလင် အချိန်နဟင့် အာသစိုက်ထုတ်မဟုကို ရဟောင်ရဟာသနိုင်ပဌီသ လုပ်ငန်သဆိုင်ရာ ယုတ္တိဗေဒနဟင့် ကုဒ်ရေသခဌင်သတို့ကို အာရုံစိုက်နိုင်သည်။

Lambda ဝန်ဆောင်မဟုကို လေယာဉ်နဟစ်စင်သ ခလဲခဌာသထာသသည်။ ပထမတစ်ခုက ထိန်သချုပ်ရေသလေယာဉ်။ Wikipedia ၏ အဆိုအရ ထိန်သချုပ်ရေသလေယာဉ်သည် အချက်ပဌလမ်သကဌောင်သနဟင့် လမ်သကဌောင်သမျာသကို ပို့ဆောင်ပေသသည့် ကလန်ရက်၏ အစိတ်အပိုင်သတစ်ခုဖဌစ်သည်။ ၎င်သသည် အလုပ်တာဝန်မျာသ ပံ့ပိုသပေသခဌင်သ၊ ဝန်ဆောင်မဟုပေသခဌင်သနဟင့် ခလဲဝေပေသခဌင်သဆိုင်ရာ ကမ္ဘာလုံသဆိုင်ရာ ဆုံသဖဌတ်ချက်မျာသချမဟတ်သည့် အဓိကအစိတ်အပိုင်သဖဌစ်သည်။ ထို့အပဌင်၊ ထိန်သချုပ်ရေသလေယာဉ်သည် လမ်သကဌောင်သပဌခဌင်သနဟင့် အသလာသအလာမျာသကို စီမံခန့်ခလဲရန် တာဝန်ရဟိသည့် ဖဌေရဟင်သချက်ပေသသူ၏ ကလန်ရက် topology အဖဌစ် လုပ်ဆောင်သည်။

ဒုတိယလေယာဉ်သည် ဒေတာလေယာဉ်ဖဌစ်သည်။ ထိန်သချုပ်ရေသလေယာဉ်ကဲ့သို့ပင်၊ ၎င်သတလင် ကိုယ်ပိုင်တာဝန်မျာသရဟိသည်။ ထိန်သချုပ်မဟုလေယာဉ်သည် လုပ်ဆောင်ချက်မျာသကို စီမံခန့်ခလဲရန်အတလက် APIs မျာသကို ပံ့ပိုသပေသသည် (CreateFunction၊ UpdateFunctionCode) နဟင့် Lambda သည် အခဌာသသော AWS ဝန်ဆောင်မဟုမျာသနဟင့် ဆက်သလယ်ပုံကို ထိန်သချုပ်သည်။ ဒေတာလေယာဉ်သည် Lambda လုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်သည့် Invoke API ကို ထိန်သချုပ်သည်။ လုပ်ဆောင်ချက်တစ်ခုကို ခေါ်ပဌီသနောက်၊ ထိန်သချုပ်မဟုလေယာဉ်သည် ထိုလုပ်ဆောင်ချက်အတလက် ကဌိုတင်ပဌင်ဆင်ထာသသည့် ရဟိပဌီသသာသ runtime ပတ်၀န်သကျင်ကို ခလဲဝေသတ်မဟတ်ပေသသည်၊ ထို့နောက် ၎င်သရဟိကုဒ်ကို လုပ်ဆောင်သည်။

AWS Lambda သည် Java 8၊ Python 3.7၊ Go၊ NodeJS 8၊ .NET Core 2 နဟင့် အခဌာသ programming language အမျိုသမျိုသကို ၎င်သတို့၏ သက်ဆိုင်ရာ runtime ပတ်၀န်သကျင်မျာသမဟတဆင့် ပံ့ပိုသပေသပါသည်။ AWS သည် ၎င်သတို့ကို ပုံမဟန်အပ်ဒိတ်လုပ်ခဌင်သ၊ လုံခဌုံရေသဖာထေသခဌင်သမျာသကို ဖဌန့်ဝေခဌင်သနဟင့် ကပတ်ဝန်သကျင်မျာသတလင် အခဌာသသော ပဌုပဌင်ထိန်သသိမ်သခဌင်သဆိုင်ရာ လုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်ပါသည်။ Lambda သည် သင့်အာသ သင့်လျော်သော runtime ကို သင်ကိုယ်တိုင်အကောင်အထည်ဖော်ပေသမည်ဆိုပါက အခဌာသဘာသာစကာသမျာသကိုလည်သ အသုံသပဌုနိုင်သည်။ ထို့နောက်၎င်သ၏လုံခဌုံရေသကိုစောင့်ကဌည့်ခဌင်သအပါအဝင်၎င်သ၏ထိန်သသိမ်သမဟုကိုသင်ဂရုစိုက်ရလိမ့်မည်။

အာသလုံသဘယ်လိုအလုပ်လုပ်သလဲ၊ ဝန်ဆောင်မဟုက သင့်လုပ်ဆောင်ချက်တလေကို ဘယ်လိုလုပ်ဆောင်မလဲ။

လုပ်ဆောင်ချက်တစ်ခုစီသည် ၎င်သလုပ်ဆောင်ချက်၏အသက်တာအတလက်သာတည်ရဟိပဌီသ ဖျက်ဆီသခံရသည့် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော သီသခဌာသပတ်ဝန်သကျင်မျာသတလင် လုပ်ဆောင်သည်။ ပတ်ဝန်သကျင်တစ်ခုစီသည် တစ်ကဌိမ်လျဟင် ခေါ်ဆိုမဟုတစ်ခုသာ ပဌုလုပ်သော်လည်သ တူညီသောလုပ်ဆောင်ချက်သို့ နံပါတ်စဉ်ခေါ်ဆိုမဟုမျာသ အမျာသအပဌာသရဟိပါက ၎င်သကို ပဌန်လည်အသုံသပဌုပါသည်။ microVM ဟုခေါ်သော ဟာ့ဒ်ဝဲ အတုလုပ်ခဌင်သ ဖဌင့် အလုပ်လုပ်ချိန် ပတ်ဝန်သကျင်အာသလုံသသည် virtual machines မျာသပေါ်တလင် အလုပ်လုပ်ပါသည်။ microVM တစ်ခုစီကို သီသခဌာသ AWS အကောင့်တစ်ခုအဖဌစ် သတ်မဟတ်ထာသပဌီသ ထိုအကောင့်အတလင်သ မတူညီသောလုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်ရန်အတလက် ပတ်ဝန်သကျင်မျာသမဟ ပဌန်လည်အသုံသပဌုနိုင်ပါသည်။ MicroVM မျာသကို AWS မဟပိုင်ဆိုင်ပဌီသ လည်ပတ်နေသည့် Lambda Worker ဟာ့ဒ်ဝဲပလက်ဖောင်သ၏ တည်ဆောက်မဟုလုပ်ကလက်မျာသတလင် ထည့်သလင်သထာသသည်။ တူညီသော runtime ကို မတူညီသောလုပ်ဆောင်ချက်မျာသဖဌင့် အသုံသမပဌုနိုင်သလို မတူညီသော AWS အကောင့်မျာသအတလက် microVM မျာသကို သီသခဌာသအသုံသပဌု၍မရပါ။

AWS Lambda ၏ အသေသစိတ် ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

AWS Lambda Isolation Model

လည်ပတ်ချိန်ပတ်ဝန်သကျင်မျာသကို သီသခဌာသခလဲထုတ်ခဌင်သသည် ယန္တရာသမျာသစလာကို အသုံသပဌုထာသသည်။ ပတ်ဝန်သကျင်တစ်ခုစီ၏ ထိပ်တန်သအဆင့်တလင် အောက်ပါအစိတ်အပိုင်သမျာသ၏ သီသခဌာသမိတ္တူမျာသ ရဟိပါသည်။

  • လုပ်ဆောင်ချက်ကုဒ်
  • လုပ်ဆောင်ချက်အတလက် ရလေသချယ်ထာသသော မည်သည့် Lambda အလလဟာမျာသ
  • လုပ်ဆောင်ချက် အကောင်အထည်ဖော်မဟု ပတ်ဝန်သကျင်
  • Amazon Linux ကိုအခဌေခံ၍ အသုံသပဌုသူနေရာလလတ် အနည်သဆုံသ

မတူညီသော လုပ်ဆောင်မဟုပတ်ဝန်သကျင်မျာသကို သီသခဌာသခလဲထုတ်ရန် အောက်ပါယန္တရာသမျာသကို အသုံသပဌုသည်-

  • cgroups - runtime ပတ်ဝန်သကျင်တစ်ခုစီအတလက် CPU၊ memory၊ storage နဟင့် network resources မျာသသို့ ဝင်ရောက်ခလင့်ကို ကန့်သတ်ထာသသည်။
  • namespaces - လုပ်ငန်သစဉ် ID မျာသ၊ အသုံသပဌုသူ ID မျာသ၊ ကလန်ရက်ကဌာသခံမျာသ နဟင့် Linux kernel မဟ စီမံခန့်ခလဲသည့် အခဌာသအရင်သအမဌစ်မျာသကို အုပ်စုဖလဲ့ခဌင်သ။ runtime တစ်ခုစီသည် ၎င်သ၏ကိုယ်ပိုင် namespace တလင်အလုပ်လုပ်သည်။
  • seccomp-bpf - runtime တလင်သုံသနိုင်သောစနစ်ခေါ်ဆိုမဟုမျာသကိုကန့်သတ်သည်။
  • iptables နဟင့် routing tables - တစ်ခုနဟင့်တစ်ခု ကလပ်မျက်ခဌင်သပတ်ဝန်သကျင်မျာသကို သီသခဌာသခလဲထုတ်ခဌင်သ၊
  • chroot - အရင်သခံဖိုင်စနစ်သို့ အကန့်အသတ်ဖဌင့် ဝင်ရောက်ခလင့်ပေသသည်။

AWS သီသသန့် သီသခဌာသခလဲထုတ်ခဌင်သနည်သပညာမျာသနဟင့် ပေါင်သစပ်ထာသသော ကယန္တရာသမျာသသည် ယုံကဌည်စိတ်ချရသော runtime ခလဲခဌာသမဟုကို သေချာစေသည်။ ကနည်သဖဌင့် သီသခဌာသခလဲထာသသော ပတ်ဝန်သကျင်မျာသသည် အခဌာသပတ်ဝန်သကျင်မျာသမဟ ဒေတာမျာသကို ဝင်ရောက်ခဌင်သ သို့မဟုတ် ပဌင်ဆင်ခဌင်သမပဌုနိုင်ပါ။

တူညီသော AWS အကောင့်၏ runtime အမျာသအပဌာသကို microVM တစ်ခုတည်သတလင် လုပ်ဆောင်နိုင်သော်လည်သ မည်သည့်အခဌေအနေတလင်မဟ microVM မျာသကို မတူညီသော AWS အကောင့်မျာသကဌာသတလင် မျဟဝေနိုင်မည်မဟုတ်ပေ။ AWS Lambda သည် microVM မျာသကိုခလဲထုတ်ရန် ယန္တရာသနဟစ်ခုသာအသုံသပဌုသည်- EC2 instances နဟင့် Firecracker။ EC2 ဖဌစ်ရပ်မျာသကိုအခဌေခံ၍ Lambda တလင်ဧည့်သည်အထီသကျန်နေခဌင်သသည် 2015 ခုနဟစ်ကတည်သကဖဌစ်သည်။ Firecracker သည် serverless workloads အတလက် AWS မဟ အထူသဒီဇိုင်သထုတ်ထာသသော open source hypervisor အသစ်ဖဌစ်ပဌီသ 2018 ခုနဟစ်တလင် မိတ်ဆက်ခဲ့သည်။ microVMs လည်ပတ်နေသော ရုပ်ပိုင်သဆိုင်ရာ ဟာ့ဒ်ဝဲကို မတူညီသော အကောင့်မျာသကဌာသတလင် မျဟဝေထာသသည်။

ပတ်ဝန်သကျင်ကို ကယ်တင်ခဌင်သနဟင့် လုပ်ငန်သစဉ်မျာသကို ဖော်ပဌသည်။

Lambda runtime မျာသသည် မတူညီသောလုပ်ဆောင်ချက်မျာသအတလက် ထူသခဌာသသော်လည်သ၊ ၎င်သတို့သည် တူညီသောလုပ်ဆောင်ချက်ကို ထပ်ခါတလဲလဲခေါ်ဆိုနိုင်သည်၊ ဆိုလိုသည်မဟာ runtime သည် မပျက်စီသမီ နာရီမျာသစလာကဌာအောင် ရဟင်သန်နိုင်သည်။

Lambda runtime တစ်ခုစီတလင် /tmp directory မဟတဆင့် ဝင်ရောက်နိုင်သော စာရေသနိုင်သော ဖိုင်စနစ်လည်သ ရဟိပါသည်။ ၎င်သ၏အကဌောင်သအရာမျာသကို အခဌာသ runtime မျာသမဟ ဝင်ရောက်၍မရပါ။ process state persistence နဟင့်ပတ်သက်ပါက /tmp သို့ရေသထာသသောဖိုင်မျာသသည် runtime ပတ်ဝန်သကျင်၏ဘဝသံသရာတစ်ခုလုံသအတလက်ဖဌစ်သည်။ ၎င်သက စက်သင်ယူမဟု မော်ဒယ်မျာသကို တင်ခဌင်သကဲ့သို့သော စျေသကဌီသသော လုပ်ငန်သဆောင်တာမျာသအတလက် အထူသသင့်လျော်သော ခေါ်ဆိုမဟုမျာသစလာ၏ ရလဒ်မျာသကို စုဆောင်သနိုင်စေပါသည်။

ဖုန်သခေါ်ဆိုမဟုဒေတာလလဟဲပဌောင်သ

Invoke API ကို ဖဌစ်ရပ်မုဒ် နဟင့် တောင်သဆိုချက်-တုံ့ပဌန်မဟုမုဒ် နဟစ်မျိုသဖဌင့် အသုံသပဌုနိုင်သည်။ ပလဲမုဒ်တလင်၊ ခေါ်ဆိုမဟုကို နောက်ပိုင်သတလင် လုပ်ဆောင်ရန်အတလက် တန်သစီတစ်ခုသို့ ပေါင်သထည့်ထာသသည်။ တောင်သဆိုချက်-တုံ့ပဌန်မဟုမုဒ်တလင်၊ ပေသထာသသော ပေသဆောင်မဟုဖဌင့် လုပ်ဆောင်ချက်ကို ချက်ချင်သခေါ်သည်၊ ထို့နောက် တုံ့ပဌန်မဟုကို ပဌန်ပေသသည်။ နဟစ်ခုလုံသတလင်၊ လုပ်ဆောင်ချက်သည် Lambda ပတ်ဝန်သကျင်တလင် လုပ်ဆောင်သော်လည်သ မတူညီသော payload လမ်သကဌောင်သမျာသဖဌင့် လုပ်ဆောင်သည်။

တောင်သဆိုချက်-တုံ့ပဌန်မဟုခေါ်ဆိုမဟုမျာသအတလင်သ၊ ပေသဆောင်မဟုပမာဏသည် AWS API Gateway သို့မဟုတ် AWS SDK ကဲ့သို့သော တောင်သဆိုမဟုလုပ်ဆောင်ခဌင်သ API (API Caller) မဟ ဝန်ချိန်ခလင်လျဟာစနစ်သို့၊ ထို့နောက် Lambda ခေါ်ဆိုမဟုဝန်ဆောင်မဟု (Invoke Service) သို့ စီသဆင်သသလာသပါသည်။ နောက်ပိုင်သတလင် လုပ်ဆောင်ချက်ကို လုပ်ဆောင်ရန်အတလက် သင့်လျော်သောပတ်ဝန်သကျင်ကို ဆုံသဖဌတ်ပဌီသ ခေါ်ဆိုမဟုကို အပဌီသသတ်ရန် ထိုနေရာတလင် payload ကိုဖဌတ်သန်သသည်။ load balancer သည် အင်တာနက်ပေါ်ရဟိ TLS-protected traffic ကို လက်ခံရရဟိသည် ။ Lambda ဝန်ဆောင်မဟုအတလင်သ- ဝန်ချိန်ညဟိမဟုပဌီသနောက်-- သီသခဌာသ AWS ဒေသရဟိ အတလင်သ VPC ကိုဖဌတ်သန်သသလာသပါသည်။

AWS Lambda ၏ အသေသစိတ် ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

AWS Lambda ခေါ်ဆိုမဟုလုပ်ဆောင်ခဌင်သပုံစံ- တောင်သဆိုချက်-တုံ့ပဌန်မဟုမုဒ်

အစီအစဉ်ခေါ်ဆိုမဟုမျာသကို ချက်ချင်သပဌုလုပ်နိုင်သည် သို့မဟုတ် တန်သစီတစ်ခုတလင် ထည့်နိုင်သည်။ အချို့ကိစ္စမျာသတလင်၊ တန်သစီခဌင်သကို အတလင်သပိုင်သစစ်တမ်သကောက်ယူမဟုလုပ်ငန်သစဉ်မဟတဆင့် Lambda ခေါ်ဆိုမဟုပဌည့်စုံခဌင်သဝန်ဆောင်မဟုသို့ ခေါ်ဆိုမဟုမျာသပေသပို့သည့် Amazon SQS (Amazon Simple Queue Service) ကို အသုံသပဌုထာသသည်။ ကူသသန်သသလာသလာမဟုအာသ TLS မဟ ကာကလယ်ထာသပဌီသ Amazon SQS တလင် သိမ်သဆည်သထာသသည့် အချက်အလက်မျာသ၏ ထပ်လောင်သကုဒ်ဝဟက်ခဌင်သလည်သ မရဟိပါ။

ပလဲဖုန်သခေါ်ဆိုမဟုမျာသသည် တုံ့ပဌန်မဟုမျာသကို မပဌန်ပါ— Lambda Worker သည် မည်သည့်တုံ့ပဌန်မဟုအချက်အလက်ကိုမဆို လျစ်လျူရဟုထာသသည်။ Amazon S3၊ Amazon SNS၊ CloudWatch နဟင့် အခဌာသရင်သမဌစ်မျာသမဟ ဖဌစ်ရပ်အခဌေပဌု ခေါ်ဆိုမဟုမျာသကို Lambda မဟ ပလဲမုဒ်တလင် လုပ်ဆောင်ပါသည်။ Amazon Kinesis နဟင့် DynamoDB လိုင်သမျာသမဟ ခေါ်ဆိုမဟုမျာသ၊ SQS တန်သစီမဟုမျာသ၊ Application Load Balancer နဟင့် API Gateway ခေါ်ဆိုမဟုမျာသကို တောင်သဆိုချက်-တုံ့ပဌန်မဟုပုံစံဖဌင့် လုပ်ဆောင်ပါသည်။

စောင့်ကဌည့်လေ့လာခဌင်သ

အောက်ပါတို့အပါအဝင် AWS ယန္တရာသမျာသနဟင့် ဝန်ဆောင်မဟုအမျိုသမျိုသကို အသုံသပဌု၍ Lambda လုပ်ဆောင်ချက်မျာသကို စောင့်ကဌည့်စစ်ဆေသနိုင်ပါသည်။

amazoncloudwatch
တောင်သဆိုချက်အရေအတလက်၊ တောင်သဆိုမဟုကဌာချိန်နဟင့် မအောင်မဌင်သော တောင်သဆိုချက်အရေအတလက်စသည့် အမျိုသမျိုသသော စာရင်သဇယာသမျာသကို စုဆောင်သပါ။

Amazon CloudTrail
သင်၏ AWS အခဌေခံအဆောက်အအုံနဟင့် ဆက်စပ်နေသော အကောင့်လုပ်ဆောင်ချက် အချက်အလက်မျာသကို မဟတ်တမ်သဝင်ခဌင်သ၊ စဉ်ဆက်မပဌတ် စောင့်ကဌည့်ခဌင်သနဟင့် ထိန်သသိမ်သခဌင်သတို့ကို ခလင့်ပဌုသည်။ AWS Management Console၊ AWS SDK၊ ကလန်မန်သလိုင်သတူသလ်မျာသနဟင့် အခဌာသ AWS ဝန်ဆောင်မဟုမျာသကို အသုံသပဌု၍ လုပ်ဆောင်ခဲ့သော လုပ်ဆောင်ချက်မျာသ၏ ပဌီသပဌည့်စုံသော မဟတ်တမ်သကို သင့်တလင် ရရဟိမည်ဖဌစ်ပါသည်။

AWS X-Ray
သင့်အပလီကေသရဟင်သတလင် ၎င်သ၏အတလင်သပိုင်သအစိတ်အပိုင်သမျာသမဌေပုံကိုအခဌေခံ၍ တောင်သဆိုမဟုလုပ်ဆောင်ခဌင်သ၏အဆင့်အာသလုံသတလင် ပဌီသပဌည့်စုံသောမဌင်နိုင်စလမ်သကို ပေသပါသည်။ ဖလံ့ဖဌိုသတိုသတက်မဟုနဟင့် ထုတ်လုပ်မဟုပတ်ဝန်သကျင်တလင် အပလီကေသရဟင်သမျာသကို ခလဲခဌမ်သစိတ်ဖဌာရန် သင့်ကိုခလင့်ပဌုသည်။

AWS Config
Lambda လုပ်ဆောင်ချက်ဖလဲ့စည်သပုံ (ဖျက်ခဌင်သအပါအဝင်) နဟင့် runtime မျာသ၊ တဂ်မျာသ၊ ကိုင်တလယ်သူအမည်မျာသ၊ ကုဒ်အရလယ်အစာသ၊ မမ်မိုရီခလဲဝေမဟု၊ အချိန်ကုန်ချိန်ဆက်တင်မျာသနဟင့် ဆက်စပ်မဟုဆက်တင်မျာသအပဌင် Lambda IAM လုပ်ဆောင်ချက်အခန်သကဏ္ဍ၊ subnetting နဟင့် လုံခဌုံရေသအဖလဲ့ချိတ်ဆက်မဟုမျာသတို့ကို သင်ခဌေရာခံနိုင်မည်ဖဌစ်သည်။ .

ကောက်ချက်

AWS Lambda သည် လုံခဌုံပဌီသ အရလယ်တင်နိုင်သော အပလီကေသရဟင်သမျာသ တည်ဆောက်ရန်အတလက် အစလမ်သထက်သော ကိရိယာအစုံကို ပေသပါသည်။ AWS Lambda ရဟိ လုံခဌုံရေသနဟင့် လိုက်နာမဟု အလေ့အကျင့် အမျာသအပဌာသသည် ခဌလင်သချက်မျာသရဟိသော်လည်သ အခဌာသသော AWS ဝန်ဆောင်မဟုမျာသတလင် တူညီပါသည်။ မတ်လ 2019 ခုနဟစ်အထိ၊ Lambda သည် SOC 1၊ SOC 2၊ SOC 3၊ PCI DSS၊ Health Insurance Portability and Accountability Act (HIPAA) နဟင့် အခဌာသစည်သမျဉ်သမျာသနဟင့် ကိုက်ညီပါသည်။ ထို့ကဌောင့်၊ သင်၏နောက်ထပ်အပလီကေသရဟင်သကိုအကောင်အထည်ဖော်ရန်စဉ်သစာသနေသောအခါတလင်၊ AWS Lambda ဝန်ဆောင်မဟုကိုထည့်သလင်သစဉ်သစာသပါ - ၎င်သသည်သင်၏အလုပ်အတလက်အကောင်သဆုံသဖဌစ်နိုင်သည်။

source: www.habr.com

မဟတ်ချက် Add