Tlhaloso e qaqileng ea AWS Lambda

Phetolelo ea sehlooho sena e lokiselitsoe ka ho khetheha liithuti tsa thupelo "Litšebeletso tsa Cloud". Na u khahlehela ho nts'etsapele ntlheng ee? Shebella sehlopha sa master sa Egor Zuev (TeamLead ho InBit) "Tšebeletso ea AWS EC2" 'me u kene sehlopheng se latelang sa thupelo: se qala ka la 26 Loetse.

Tlhaloso e qaqileng ea AWS Lambda

Batho ba bangata ba fallela ho AWS Lambda bakeng sa scalability, tshebetso, ho boloka, le bokhoni ba ho sebetsana le limilione kapa libilione tsa likopo ka khoeli. Ho etsa sena, ha ho hlokahale hore u laole lisebelisoa tsa motheo tseo tšebeletso e sebetsang ho tsona. 'Me autoscaling e u lumella ho sebeletsa likete tsa likopo ka nako e le ngoe motsotsoana. Ke nahana hore AWS Lambda ka nepo e ka bitsoa e 'ngoe ea litšebeletso tse tsebahalang haholo tsa AWS.

AWS Lambda

AWS Lambda ke ts'ebeletso ea komporo e tsamaisoang ke ketsahalo e u lumellang hore u tsamaise khoutu ntle le ho fana kapa ho laola li-server le ho holisa lits'ebeletso tse ling tsa AWS u sebelisa mohopolo oa tloaelo. Lambda e arabela ka ho toba liketsahalong tse sa tšoaneng (tse bitsoang li-triggers), tse kang likōpo tsa HTTP ka Amazon API Gateway, liphetoho ho data ka linkho tsa Amazon S3 kapa litafole tsa Amazon DynamoDB; kapa o ka tsamaisa khoutu ea hau ka mehala ea API o sebelisa AWS SDK le liphetoho tsa naha ho AWS Step Functions.

Lambda e tsamaisa khoutu holim'a lisebelisoa tsa lik'homphieutha tse fumanehang haholo 'me e na le boikarabelo bo feletseng ba ho tsamaisa sethala se ka tlaase, ho kenyelletsa le tlhokomelo ea li-server le tsamaiso ea tsamaiso, ho fana ka lisebelisoa, ho lekanya likoloi, ho hlahloba khoutu le ho rema lifate. Ke hore, o hloka feela ho kenya khoutu ea hau le ho hlophisa hore na e lokela ho etsoa joang le neng. Ka lehlakoreng le leng, ts'ebeletso e tla hlokomela ho qalisoa ha eona le ho netefatsa hore kopo ea hau e fumaneha haholo.

U ka fetohela ho Lambda neng?

AWS Lambda ke sethala se bonolo sa komporo se loketseng maemo a fapaneng a ts'ebeliso, ha feela puo le nako ea ho sebetsa ea khoutu ea hau li tšehetsoa ke ts'ebeletso. Haeba u batla ho tsepamisa mohopolo ho khoutu ea hau le mohopolo oa khoebo ha u ntse u fana ka tlhokomelo ea seva, ho fana, le ho eketsa ka litšenyehelo tse utloahalang, AWS Lambda ke eona tsela eo u lokelang ho e etsa.

Lambda e loketse ho theha li-interfaces tsa mananeo, 'me ha e sebelisoa hammoho le API Gateway, o ka fokotsa litšenyehelo haholo' me oa fihla 'marakeng ka potlako. Ho na le mekhoa e fapaneng ea ho sebelisa mesebetsi le likhetho tsa Lambda bakeng sa ho hlophisa meralo e se nang seva - e mong le e mong a ka khetha ntho e loketseng ho latela sepheo sa bona.

Lambda e u lumella ho etsa mesebetsi e mengata e fapaneng. Kahoo, ka lebaka la tšehetso ea CloudWatch, o ka theha mesebetsi e chechisitsoeng le ho iketsetsa lits'ebetso tsa motho ka mong. Ha ho na lithibelo mabapi le mofuta le matla a ts'ebeliso ea ts'ebeletso (ho sebelisoa ha memori le nako li nkuoa), 'me ha ho letho le u thibelang ho sebetsa ka mokhoa o hlophisehileng ho microservice e felletseng e thehiloeng ho Lambda.

Mona o ka etsa liketso tse shebaneng le lits'ebeletso tse sa sebetseng khafetsa. Mohlala o tloaelehileng ke ho eketsa setšoantšo. Esita le tabeng ea litsamaiso tse ajoang, mesebetsi ea Lambda e ntse e sebetsa.

Kahoo, haeba u sa batle ho sebetsana le ho aba le ho laola lisebelisoa tsa k'homphieutha, leka AWS Lambda; haeba o sa hloke lipalo tse boima, tse matla haholo, leka le AWS Lambda; haeba khoutu ea hau e sebetsa nako le nako, ho joalo, u lokela ho leka AWS Lambda.

Tshireletso

Ho fihlela joale ha ho na litletlebo mabapi le polokeho. Ka lehlakoreng le leng, kaha mekhoa e mengata ea ka hare le likarolo tsa ts'ebetsong tsa mohlala ona li patiloe ho mosebedisi oa AWS Lambda e laoloang tikoloho ea nako, melao e meng e amoheloang ka kakaretso ea ts'ireletso ea leru e fetoha e se nang thuso.

Joalo ka lits'ebeletso tse ngata tsa AWS, Lambda e fanoa ka ts'ireletso e arolelanoang le ho latela melao lipakeng tsa AWS le moreki. Molao-motheo ona o fokotsa moroalo oa ts'ebetso ho moreki, kaha AWS e nka mesebetsi ea ho boloka, ho tsamaisa le ho beha leihlo likarolo tsa ts'ebeletso - ho tloha ho sistimi e sebetsang ea moamoheli le lera la virtualization ho ts'ireletso ea 'mele ea thepa ea meralo.

Ha re bua ka ho khetheha ka AWS Lambda, AWS e ikarabella bakeng sa ho laola meralo ea motheo, lits'ebeletso tse amanang, sistimi ea ts'ebetso le sethala sa kopo. Le hoja mofani a ikarabella bakeng sa tšireletso ea khoutu ea hae, ho boloka boitsebiso ba lekunutu, ho laola ho fihlella ho eona, hammoho le tšebeletso ea Lambda le lisebelisoa (Identity and Access Management, IAM), ho kenyelletsa le ka har'a meeli ea mesebetsi e sebelisoang.

Sets'oants'o se ka tlase se bonts'a mohlala o arolelanoang oa boikarabello joalo ka ha o sebetsa ho AWS Lambda. Boikarabello ba AWS bo 'mala oa lamunu' me Boikarabelo ba Bareki bo boputsoa. Joalokaha u bona, AWS e nka boikarabello bo bongata bakeng sa lits'ebetso tse romelloang ts'ebeletso.

Tlhaloso e qaqileng ea AWS Lambda

Mohlala o Kopanetsoeng oa Boikarabello o sebetsa ho AWS Lambda

Lambda nako ea ho sebetsa

Molemo o ka sehloohong oa Lambda ke hore ka ho etsa mosebetsi molemong oa hau, tšebeletso ka boeona e fana ka lisebelisoa tse hlokahalang. U ka qoba ho senya nako le boikitlaetso ho tsamaiso ea tsamaiso le ho tsepamisa maikutlo ho logic ea khoebo le coding.

Tšebeletso ea Lambda e arotsoe ka lifofane tse peli. Ea pele ke sefofane sa taolo. Ho ea ka Wikipedia, sefofane sa taolo ke karolo ea marang-rang e ikarabellang bakeng sa ho tsamaisa sephethephethe sa lipontšo le litsela. Ke karolo ea mantlha e etsang liqeto tsa lefats'e mabapi le ho fana, ho sebeletsa le ho aba meroalo ea mesebetsi. Ho phaella moo, sefofane sa taolo se sebetsa e le topology ea marang-rang ea mofani oa tharollo, e ikarabellang bakeng sa ho tsamaisa le ho laola sephethephethe.

Sefofane sa bobeli ke sefofane sa data. Eona, joaloka sefofane se laolang, se na le mesebetsi ea sona. Sefofane sa taolo se fana ka li-API bakeng sa ho laola mesebetsi (CreateFunction, UpdateFunctionCode) le ho laola hore na Lambda e buisana joang le litšebeletso tse ling tsa AWS. Sefofane sa data se laola Invoke API, e tsamaisang mesebetsi ea Lambda. Ka mor'a hore mosebetsi o bitsoe, sefofane sa taolo se abela kapa se khetha tikoloho e teng ea nako ea ho sebetsa e lokiselitsoeng esale pele bakeng sa mosebetsi oo, ebe o phethahatsa khoutu ho eona.

AWS Lambda e ts'ehetsa lipuo tse fapaneng tsa mananeo, ho kenyelletsa Java 8, Python 3.7, Go, NodeJS 8, .NET Core 2, le tse ling, ka maemo a tsona a nako ea ho sebetsa. AWS e lula e li nchafatsa, e aba lipache tsa ts'ireletso, 'me e etsa mesebetsi e meng ea tlhokomelo tikolohong ena. Lambda e u lumella ho sebelisa lipuo tse ling hape, ha feela u sebelisa nako e loketseng ea ho sebetsa. 'Me joale u tla tlameha ho hlokomela tlhokomelo ea eona, ho kenyelletsa le ho shebella polokeho ea eona.

E sebetsa joang kaofela 'me tšebeletso e tla etsa mesebetsi ea hau joang?

Mosebetsi o mong le o mong o sebetsa sebakeng se le seng kapa ho feta tse inehetseng, tse teng feela bakeng sa bophelo ba ts'ebetso eo ebe lia senyeha. Tikoloho e 'ngoe le e' ngoe e etsa mohala o le mong feela ka nako, empa e sebelisoa hape haeba ho na le li-call tse ngata tse ts'oanang. Libaka tsohle tsa nako ea ho sebetsa li sebetsa ka mechini ea sebele e nang le hardware virtualization - seo ho thoeng ke li-microVM. MicroVM e 'ngoe le e' ngoe e abeloa akhaonto e itseng ea AWS 'me e ka sebelisoa hape ke libaka ho etsa mesebetsi e fapaneng ka har'a akhaonto eo. Li-MicroVM li phuthetsoe hore e be litene tsa moaho tsa sethala sa Lambda Worker hardware, seo e leng sa AWS. Nako e ts'oanang ea ho sebetsa e ke ke ea sebelisoa ke mesebetsi e fapaneng, leha e le hore li-microVM li ikhethile ho li-account tse fapaneng tsa AWS.

Tlhaloso e qaqileng ea AWS Lambda

AWS Lambda Isolation Model

Ho itšehla thajana ha libaka tsa nako ea ho sebetsa ho kengoa ts'ebetsong ho sebelisoa mekhoa e mengata. Boemong bo kaholimo ba tikoloho ka 'ngoe ho na le likopi tse arohaneng tsa likarolo tse latelang:

  • Khoutu ea tšebetso
  • Likarolo life kapa life tsa Lambda tse khethiloeng bakeng sa ts'ebetso
  • Tikoloho ya tshebetso
  • Sebaka se fokolang sa basebelisi se thehiloeng ho Amazon Linux

Mekhoa e latelang e sebelisoa ho arola libaka tse fapaneng tsa ts'ebetso:

  • li-cgroups - fokotsa phihlello ea CPU, memori, polokelo le lisebelisoa tsa marang-rang bakeng sa tikoloho e ngoe le e ngoe ea nako ea ho sebetsa;
  • libaka tsa mabitso - li-ID tsa ts'ebetso ea lihlopha, li-ID tsa basebelisi, likhokahano tsa marang-rang le lisebelisoa tse ling tse laoloang ke Linux kernel. Nako e 'ngoe le e' ngoe ea nako e matha sebakeng sa eona sa mabitso;
  • seccomp-bpf - e thibela mehala ea sistimi e ka sebelisoang nakong ea ts'ebetso;
  • li-iptables le litafole tsa ho tsamaisa - ho itšehla thajana ha libaka tsa ho bolaoa ho tloha ho tse ling;
  • chroot - e fana ka phihlello e lekanyelitsoeng ho sistimi ea faele e ka tlase.

Ha e kopantsoe le mahlale a ho itšehla thajana a AWS, mekhoa ena e netefatsa karohano e tšepahalang ea nako ea ho sebetsa. Tikoloho e arohaneng ka tsela ena ha e khone ho fihlella kapa ho fetola data ho tsoa libakeng tse ling.

Leha linako tse ngata tsa ho sebetsa tsa ak'haonte e le 'ngoe ea AWS li ka sebetsa ho microVM e le' ngoe, ha ho maemo ao li-microVM li ka arolelanoang lipakeng tsa liakhaonto tse fapaneng tsa AWS. AWS Lambda e sebelisa mekhoa e 'meli feela ho arola li-microVM: maemo a EC2 le Firecracker. Ho itšehla thajana ho Lambda ho ipapisitsoe le maemo a EC2 esale ho tloha ka 2015. Firecracker ke hypervisor e ncha e bulehileng e entsoeng ka ho khetheha ke AWS bakeng sa meroalo e mengata ea mesebetsi e se nang seva mme e hlahisitsoe ka 2018. Thepa ea 'mele e tsamaisang li-microVM e arolelanoa lipakeng tsa meroalo ea mesebetsi ho li-account tse fapaneng.

Ho boloka tikoloho le maemo a ts'ebetso

Le hoja linako tsa ho sebetsa tsa Lambda li ikhetha ka mesebetsi e fapaneng, li ka bitsa ts'ebetso e ts'oanang khafetsa, ho bolelang hore nako ea ho sebetsa e ka phela lihora tse 'maloa pele e timetsoa.

Nako e 'ngoe le e' ngoe ea ho sebetsa ea Lambda e boetse e na le sistimi ea faele e ngoloang e fumanehang ka directory ea /tmp. Litaba tsa eona li ke ke tsa fumaneha ho tsoa linakong tse ling tsa ho sebetsa. Mabapi le ho phehella ha boemo ba ts'ebetso, lifaele tse ngotsoeng ho /tmp li teng bakeng sa potoloho eohle ea bophelo ba tikoloho ea nako ea ho sebetsa. Sena se lumella liphetho tsa mehala e mengata hore li bokelloe, tse bohlokoa haholo lits'ebetsong tse theko e boima joalo ka ho kenya mefuta ea ho ithuta ka mochini.

Letsa phetiso ya data

Invoke API e ka sebelisoa ka mekhoa e 'meli: mokhoa oa ketsahalo le mokhoa oa ho araba. Boemong ba ketsahalo, mohala o eketsoa moleng oa ho etsoa hamorao. Ka mokhoa oa ho arabela kopo, mosebetsi o bitsoa hang-hang ka moputso o fanoeng, ka mor'a moo karabo e khutlisetsoa. Maemong ana ka bobeli, ts'ebetso e sebetsa sebakeng sa Lambda, empa ka litsela tse fapaneng tsa ho lefa.

Nakong ea mehala ea likarabo, moputso o phalla ho tloha ho kopo ea API (API Caller), e kang AWS API Gateway kapa AWS SDK, ho ea lekaleng la mojaro, ebe e ea ho tšebeletso ea mohala oa Lambda (Invoke Service). Ea morao-rao e etsa qeto ea sebaka se loketseng sa ho etsa mosebetsi mme e fetisa mojaro moo ho phethela mohala. Moemeli ea lekanyang thepa o fumana sephethephethe se sirelelitsoeng ke TLS ka Marang-rang. Sephethephethe ka har'a ts'ebeletso ea Lambda - kamora hore se leka-lekanya mojaro - se feta VPC e kahare sebakeng se itseng sa AWS.

Tlhaloso e qaqileng ea AWS Lambda

AWS Lambda Call Processing Model: Kopo-Response Mode

Mehala ea ketsahalo e ka etsoa hang-hang kapa ea eketsoa moleng. Maemong a mang, mokoloko o kengoa ts'ebetsong ho sebelisoa Amazon SQS (Amazon Simple Queue Service), e fetisang mehala ho ts'ebeletso ea phethahatso ea mohala oa Lambda ka ts'ebetso ea ka hare ea poller. Sephethephethe se fetisitsoeng se sirelelitsoe ke TLS, 'me ha ho na encryption e eketsehileng ea data e bolokiloeng Amazon SQS.

Mehala ea ketsahalo ha e khutlise likarabo - Mosebeletsi oa Lambda o iphapanyetsa tlhahisoleseling efe kapa efe ea karabelo. Mehala e thehiloeng ho ketsahalo e tsoang ho Amazon S3, Amazon SNS, CloudWatch, le mehloli e meng e sebetsoa ke Lambda ka mokhoa oa ketsahalo. Mehala e tsoang ho Amazon Kinesis le DynamoDB melapo, mela ea SQS, Application Load Balancer, le mehala ea API Gateway e sebetsoa ka mokhoa oa karabelo.

Tlhokomelo

O ka lekola le ho lekola mesebetsi ea Lambda o sebelisa mekhoa le lits'ebeletso tse fapaneng tsa AWS, ho kenyelletsa le tse latelang.

amazoncloudwatch
E bokella lipalopalo tse fapaneng joalo ka palo ea likopo, nako ea likopo, le palo ea likopo tse hlolehileng.

Amazon CloudTrail
E u lumella ho kena, ho beha leihlo kamehla, le ho boloka tlhahisoleseling e amanang le ts'ebetso ea akhaonto ea hau ea AWS. U tla ba le nalane e felletseng ea liketso tse entsoeng u sebelisa AWS Management Console, AWS SDK, lisebelisoa tsa mohala oa taelo, le lits'ebeletso tse ling tsa AWS.

AWS X-Ray
E fana ka ponahalo e felletseng methating eohle ea ts'ebetso ea kopo ts'ebelisong ea hau ho ipapisitsoe le 'mapa oa likarolo tsa eona tsa kahare. E o lumella ho sekaseka lits'ebetso nakong ea nts'etsopele le tikolohong ea tlhahiso.

AWS Config
U tla khona ho latela liphetoho ho tlhophiso ea ts'ebetso ea Lambda (ho kenyeletsoa ho hlakoloa) le linako tsa ho sebetsa, li-tag, mabitso a sebatli, boholo ba khoutu, kabo ea mohopolo, litlhophiso tsa nako le litlhophiso tsa concurrency, hammoho le karolo ea ts'ebetso ea Lambda IAM, subnetting le lihlopha tsa ts'ireletso. .

fihlela qeto e

AWS Lambda e fana ka lisebelisoa tse matla tsa ho aha lits'ebetso tse bolokehileng le tse ka senyehang. Mekhoa e mengata ea ts'ireletso le ho latela melao ho AWS Lambda e tšoana le lits'ebeletso tse ling tsa AWS, leha ho na le mekhelo. Ho tloha ka Hlakubele 2019, Lambda e latela melaoana ea SOC 1, SOC 2, SOC 3, PCI DSS, Health Insurance Portability and Accountability Act (HIPAA), le melaoana e meng. Kahoo, ha u nahana ho kenya ts'ebetsong kopo ea hau e latelang, nahana ka ts'ebeletso ea AWS Lambda - e kanna ea ba e loketseng mosebetsi oa hau.

Source: www.habr.com

Eketsa ka tlhaloso