Mion-sgrùdadh air AWS Lambda

Chaidh eadar-theangachadh an artaigil ullachadh gu sònraichte airson oileanaich a’ chùrsa "Seirbheisean Cloud". A bheil ùidh agad ann an leasachadh a thaobh seo? Coimhead air a’ phrìomh chlas le Egor Zuev (TeamLead aig InBit) "Seirbheis AWS EC2" agus gabh a-steach don ath bhuidheann cùrsa: a’ tòiseachadh air 26 Sultain.

Mion-sgrùdadh air AWS Lambda

Tha barrachd dhaoine a’ dèanamh imrich gu AWS Lambda airson scalability, coileanadh, sàbhalaidhean, agus an comas dèiligeadh ri milleanan no eadhon trilleanan de dh’ iarrtasan gach mìos. Gus seo a dhèanamh, chan fheum thu a bhith a 'stiùireadh a' bhun-structair air a bheil an t-seirbheis a 'ruith. Agus leigidh fèin-sgèileadh leat na mìltean de dh’ iarrtasan aig an aon àm gach diog a fhrithealadh. Tha mi a’ smaoineachadh gum faodar AWS Lambda a ghairm gu ceart mar aon de na seirbheisean AWS as mòr-chòrdte.

AWS Lambda

Tha AWS Lambda na sheirbheis coimpiutaireachd gun fhrithealaiche air a stiùireadh le tachartas a leigeas leat còd a ruith gun a bhith a’ toirt seachad no a’ riaghladh luchd-frithealaidh agus a’ leudachadh seirbheisean AWS eile a’ cleachdadh loidsig àbhaisteach. Bidh Lambda gu fèin-obrachail a’ freagairt diofar thachartasan (ris an canar luchd-brosnachaidh), leithid iarrtasan HTTP tro Amazon API Gateway, atharrachaidhean air dàta ann am bucaidean Amazon S3 no clàran Amazon DynamoDB; no faodaidh tu do chòd a ruith tro ghairmean API a’ cleachdadh an AWS SDK agus atharraich eadar-ghluasadan ann an Gnìomhan Ceum AWS.

Bidh Lambda a’ ruith còd air bun-structar coimpiutaireachd a tha ri fhaighinn gu mòr agus tha làn dhleastanas air a bhith a’ rianachd an àrd-ùrlair bhunaiteach, a’ gabhail a-steach cumail suas frithealaiche agus siostam obrachaidh, solar ghoireasan, sgèileadh fèin-ghluasadach, sgrùdadh còd, agus logadh. Is e sin, chan fheum thu ach do chòd a luchdachadh suas agus rèiteachadh ciamar agus cuin a bu chòir a chur gu bàs. Aig an aon àm, bidh an t-seirbheis a’ gabhail cùram mu bhith ga chuir air bhog agus a’ dèanamh cinnteach gum bi cothrom àrd air an iarrtas agad.

Cuin a bu chòir dhut tionndadh gu Lambda?

Tha AWS Lambda na àrd-ùrlar coimpiutaireachd goireasach a tha freagarrach airson grunn chùisean cleachdaidh, fhad ‘s a tha cànan agus ùine ruith a’ chòd agad a ’faighinn taic bhon t-seirbheis. Ma tha thu airson fòcas a chuir air do chòd agus loidsig gnìomhachais fhad ‘s a tha thu a’ toirt a-mach cumail suas frithealaiche, solar, agus sgèileadh aig cosgais reusanta, is e AWS Lambda gu cinnteach an dòigh air adhart.

Tha Lambda air leth freagarrach airson eadar-aghaidh prògramadh a chruthachadh, agus nuair a thèid a chleachdadh ann an co-bhonn ri API Gateway, faodaidh tu cosgaisean a lughdachadh gu mòr agus faighinn chun mhargaidh nas luaithe. Tha diofar dhòighean ann air gnìomhan Lambda agus roghainnean a chleachdadh airson ailtireachd gun fhrithealaiche a chuir air dòigh - faodaidh a h-uile duine rudeigin iomchaidh a thaghadh stèidhichte air an amas aca.

Leigidh Lambda leat raon farsaing de ghnìomhan a choileanadh. Mar sin, le taic CloudWatch, faodaidh tu gnìomhan dàil a chruthachadh agus pròiseasan fa leth a dhèanamh fèin-ghluasadach. Chan eil bacadh sam bith air nàdar agus dian cleachdadh na seirbheis (thathar a’ toirt aire do chaitheamh cuimhne agus ùine), agus chan eil dad a’ cur casg ort bho bhith ag obair gu rianail air meanbh-sheirbheis làn-chuimseach stèidhichte air Lambda.

An seo faodaidh tu gnìomhan a tha ag amas air seirbheis a chruthachadh nach ruith gu leantainneach. Is e eisimpleir àbhaisteach sgèileadh ìomhaighean. Eadhon a thaobh siostaman sgaoilte, tha gnìomhan Lambda fhathast buntainneach.

Mar sin, mura h-eil thu airson dèiligeadh ri bhith a’ riarachadh agus a’ stiùireadh ghoireasan coimpiutaireachd, feuch AWS Lambda; mura h-eil feum agad air àireamhachadh trom, dian-ghoireasan, feuch cuideachd AWS Lambda; ma bhios an còd agad a’ ruith bho àm gu àm, tha sin ceart, bu chòir dhut feuchainn air AWS Lambda.

Tèarainteachd

Gu ruige seo chan eil gearanan ann mu shàbhailteachd. Air an làimh eile, leis gu bheil mòran de phròiseasan a-staigh agus feartan buileachaidh a’ mhodail seo falaichte bho neach-cleachdaidh àrainneachd ruith-ùine fo stiùir AWS Lambda, tha cuid de riaghailtean tèarainteachd sgòthan ris an tèid gabhail gu coitcheann a’ fàs neo-iomchaidh.

Coltach ris a’ mhòr-chuid de sheirbheisean AWS, tha Lambda air a thoirt seachad air stèidh tèarainteachd agus gèillidh co-roinnte eadar AWS agus an neach-ceannach. Tha am prionnsapal seo a’ lughdachadh an eallach obrachaidh air an neach-dèiligidh, leis gu bheil AWS a’ gabhail os làimh gnìomhan cumail suas, rianachd agus cumail sùil air pàirtean seirbheis - bhon t-siostam obrachaidh aoigheachd agus an ìre virtualization gu tèarainteachd corporra maoin bun-structair.

Gu sònraichte a’ bruidhinn mu AWS Lambda, tha uallach air AWS airson a bhith a’ riaghladh a’ bhun-structair bhunasach, seirbheisean bunaiteach co-cheangailte, siostam obrachaidh, agus àrd-ùrlar tagraidh. Fhad ‘s a tha uallach air an neach-dèiligidh airson tèarainteachd a’ chòd aige, a ’stòradh dàta dìomhair, a’ cumail smachd air ruigsinneachd air, a bharrachd air seirbheis agus goireasan Lambda (Riaghladh Dearbh-aithne is Ruigsinneachd, IAM), a ’toirt a-steach taobh a-staigh crìochan nan gnìomhan a thathar a’ cleachdadh.

Tha an diagram gu h-ìosal a’ sealltainn a’ mhodail uallach co-roinnte mar a tha e a’ buntainn ri AWS Lambda. Tha uallach AWS orains agus tha uallach teachdaiche gorm. Mar a chì thu, tha AWS a’ gabhail barrachd uallaich airson na tagraidhean a thathas a’ cleachdadh air an t-seirbheis.

Mion-sgrùdadh air AWS Lambda

Modail Dleastanas Co-roinnte a tha iomchaidh do AWS Lambda

Ùine ruith Lambda

Is e am prìomh bhuannachd a tha aig Lambda, le bhith a’ coileanadh gnìomh às do leth, gu bheil an t-seirbheis fhèin a’ riarachadh nan goireasan riatanach. Faodaidh tu a bhith a’ caitheamh ùine agus oidhirp air rianachd siostaim agus fòcas air loidsig gnìomhachais agus còdadh.

Tha seirbheis Lambda air a roinn ann an dà itealan. Is e a 'chiad fhear am plèana smachd. A rèir Wikipedia, is e am plèana smachd am pàirt den lìonra le uallach airson trafaic chomharran agus slighe a ghiùlan. Is e am prìomh phàirt a bhios a’ dèanamh cho-dhùnaidhean cruinneil mu sholarachadh, seirbheiseachadh agus cuairteachadh eallach obrach. A bharrachd air an sin, tha am plèana smachd ag obair mar topology lìonra an t-solaraiche fuasglaidh, le uallach airson stiùireadh agus riaghladh trafaic.

Is e an dàrna plèana am plèana dàta. Tha na gnìomhan aige fhèin, mar an itealan smachd. Bidh am plèana smachd a’ toirt seachad APIan airson gnìomhan a riaghladh (CreateFunction, UpdateFunctionCode) agus a’ cumail smachd air mar a bhios Lambda a’ conaltradh ri seirbheisean AWS eile. Bidh am plèana dàta a’ cumail smachd air Invoke API, a bhios a’ ruith gnìomhan Lambda. Às deidh gnìomh a bhith air a ghairm, bidh am plèana smachd a ’riarachadh no a’ taghadh àrainneachd ùine ruith a tha air ullachadh ro-làimh airson a ’ghnìomh sin, agus an uairsin a’ cur an gnìomh a ’chòd a tha ann.

Tha AWS Lambda a’ toirt taic do ghrunn chànanan prògramaidh, a’ gabhail a-steach Java 8, Python 3.7, Go, NodeJS 8, .NET Core 2, agus feadhainn eile, tro na h-àrainneachdan runtime aca fhèin. Bidh AWS gan ùrachadh gu cunbhalach, a’ cuairteachadh badan tèarainteachd, agus a’ coileanadh gnìomhan cumail suas eile air na h-àrainneachdan sin. Leigidh Lambda leat cànanan eile a chleachdadh cuideachd, fhad ‘s a chuireas tu an ùine ruith iomchaidh an gnìomh thu fhèin. Agus an uairsin feumaidh tu aire a thoirt do chumail suas, a’ toirt a-steach sùil a chumail air a shàbhailteachd.

Ciamar a tha e uile ag obair agus ciamar a choileanas an t-seirbheis na gnìomhan agad?

Bidh gach gnìomh a’ ruith ann an aon no barrachd àrainneachdan sònraichte, a tha ann a-mhàin airson beatha na h-obrach sin agus an uairsin air an sgrios. Cha dèan gach àrainneachd ach aon ghairm aig an aon àm, ach thèid a chleachdadh a-rithist ma tha grunn ghairmean sreathach ann chun an aon ghnìomh. Bidh a h-uile àrainneachd runtime a’ ruith air innealan brìgheil le virtualization bathar-cruaidh - microVMs ris an canar. Tha gach microVM air a shònrachadh do chunntas AWS sònraichte agus faodar a chleachdadh a-rithist le àrainneachdan gus diofar dhleastanasan a choileanadh taobh a-staigh a’ chunntais sin. Tha MicroVMn air am pacadh a-steach do bhlocaichean togail àrd-ùrlar bathar-cruaidh Lambda Worker, a tha fo shealbh agus air obrachadh le AWS. Chan urrainnear an aon ùine ruith a chleachdadh le diofar ghnìomhan, agus chan eil microVMs sònraichte do dhiofar chunntasan AWS.

Mion-sgrùdadh air AWS Lambda

Modail Iomallach AWS Lambda

Tha iomallachd àrainneachdan runtime air a chuir an gnìomh a’ cleachdadh grunn dhòighean. Aig an ìre as àirde de gach àrainneachd tha lethbhric fa leth de na pàirtean a leanas:

  • Còd gnìomh
  • Sreathan Lambda sam bith air an taghadh airson a’ ghnìomh
  • Àrainneachd coileanadh gnìomh
  • Àite cleachdaiche as ìsle stèidhichte air Amazon Linux

Tha na dòighean a leanas air an cleachdadh gus diofar àrainneachdan cur gu bàs a sgaradh:

  • cgroups - cuir casg air ruigsinneachd air CPU, cuimhne, stòradh agus goireasan lìonra airson gach àrainneachd ùine ruith;
  • ainmean-àite - IDan pròiseas buidhneachaidh, IDan neach-cleachdaidh, eadar-aghaidh lìonra agus goireasan eile air an riaghladh leis an kernel Linux. Bidh gach ùine ruith a’ ruith na àite-ainm fhèin;
  • seccomp-bpf - a 'cuingealachadh nan gairmean siostam a dh'fhaodar a chleachdadh san ùine ruith;
  • iptables agus clàran slighe - iomallachd àrainneachdan cur gu bàs bho chèile;
  • chroot - a’ toirt cothrom cuibhrichte don t-siostam faidhle bunaiteach.

Còmhla ri teicneòlasan aonaranachd seilbh AWS, bidh na h-innealan sin a’ dèanamh cinnteach à dealachadh ùine ruith earbsach. Chan urrainn do àrainneachdan iomallach san dòigh seo faighinn gu dàta bho àrainneachdan eile no atharrachadh.

Ged a dh’ fhaodas ioma-amannan ruith den aon chunntas AWS ruith air aon microVM, chan urrainn ann an suidheachadh sam bith microVM a roinn eadar diofar chunntasan AWS. Chan eil AWS Lambda a’ cleachdadh ach dà dhòigh gus microVM a lorg: eisimpleirean EC2 agus Firecracker. Tha aonaranachd aoighean ann an Lambda stèidhichte air cùisean EC2 air a bhith timcheall bho 2015. Tha Firecracker na hypervisor stòr fosgailte ùr air a dhealbhadh gu sònraichte le AWS airson eallach obrach gun fhrithealaiche agus air a thoirt a-steach ann an 2018. Tha am bathar-cruaidh corporra a tha a’ ruith microVMn air a roinn eadar eallach obrach thar diofar chunntasan.

Sàbhail àrainneachdan agus stàitean pròiseas

Ged a tha amannan ruith Lambda gun samhail airson diofar ghnìomhan, faodaidh iad an aon ghnìomh a ghairm a-rithist agus a-rithist, a’ ciallachadh gum faod an ùine ruith a bhith beò airson grunn uairean a thìde mus tèid a sgrios.

Tha siostam faidhle a ghabhas sgrìobhadh aig gach àm ruith Lambda cuideachd ruigsinneach tron ​​​​eòlaire / tmp. Chan fhaighear cothrom air an t-susbaint aige bho amannan ruith eile. A thaobh seasmhachd stàite pròiseas, tha faidhlichean a chaidh a sgrìobhadh gu / tmp ann airson cuairt-beatha iomlan na h-àrainneachd runtime. Leigidh seo le toraidhean grunn ghairmean a chruinneachadh, a tha gu sònraichte feumail airson gnìomhachd daor leithid luchdachadh mhodalan ionnsachaidh innealan.

Cuir fòn gu gluasad dàta

Faodar an Invoke API a chleachdadh ann an dà mhodh: modh tachartais agus modh freagairt iarrtas. Ann am modh tachartais, thèid a’ ghairm a chuir ri ciudha airson a chuir gu bàs nas fhaide air adhart. Ann am modh freagairt iarrtas, thèid an gnìomh a ghairm sa bhad leis an uallach pàighidh a chaidh a thoirt seachad, agus às deidh sin thèid am freagairt a thilleadh. Anns gach suidheachadh, bidh an gnìomh a’ ruith ann an àrainneachd Lambda, ach le diofar shlighean pàighidh pàighidh.

Rè fiosan freagairt iarrtas, bidh an t-uallach pàighidh a ’sruthadh bho API giollachd iarrtas (API Caller), leithid AWS API Gateway no AWS SDK, chun chothromachadh luchdan, agus an uairsin gu seirbheis gairm Lambda (Invoke Service). Bidh an tè mu dheireadh a’ dearbhadh na h-àrainneachd iomchaidh airson a’ ghnìomh a choileanadh agus a’ dol seachad air an uallach pàighidh an sin gus a’ ghairm a chrìochnachadh. Bidh an cothromachadh luchdan a’ faighinn trafaic fo dhìon TLS thairis air an eadar-lìn. Bidh trafaic taobh a-staigh seirbheis Lambda - às deidh an cothromachadh luchdan - a’ dol tro VPC a-staigh ann an sgìre sònraichte AWS.

Mion-sgrùdadh air AWS Lambda

Modail giullachd gairm AWS Lambda: Modh Iarrtas-Freagairt

Faodar fiosan tachartais a dhèanamh sa bhad no an cur ri ciudha. Ann an cuid de chùisean, tha an ciudha air a chuir an gnìomh le bhith a’ cleachdadh Amazon SQS (Amazon Simple Queue Service), a bhios a’ toirt fiosan gu seirbheis coileanaidh gairm Lambda tro phròiseas poller a-staigh. Tha an trafaic tar-chuir air a dhìon le TLS, agus chan eil crioptachadh dàta a bharrachd air a stòradh ann an Amazon SQS.

Cha bhith fiosan tachartais a’ tilleadh freagairtean - tha an Lambda Worker dìreach a’ seachnadh fiosrachadh freagairt sam bith. Bidh fiosan stèidhichte air tachartas bho Amazon S3, Amazon SNS, CloudWatch, agus stòran eile air an giullachd le Lambda ann am modh tachartais. Bithear a’ giullachd fiosan bho shruthan Amazon Kinesis agus DynamoDB, ciudhaichean SQS, Iarrtas Load Balancer, agus gairmean Gateway API ann an dòigh freagairt-iarrtas.

Sgrùdadh

Faodaidh tu sùil a chumail air agus sgrùdadh a dhèanamh air gnìomhan Lambda a’ cleachdadh grunn dhòighean agus sheirbheisean AWS, nam measg na leanas.

Amazon CloudWatch
Cruinnich diofar staitistig leithid an àireamh de dh'iarrtasan, fad iarrtasan, agus an àireamh de dh'iarrtasan a dh'fhàillig.

Amazon CloudTrail
Leigidh seo leat fiosrachadh gnìomhachd cunntais co-cheangailte ris a’ bhun-structar AWS agad a chlàradh, a sgrùdadh gu leantainneach agus a chumail suas. Bidh eachdraidh iomlan agad de ghnìomhan air an coileanadh a’ cleachdadh AWS Management Console, AWS SDK, innealan loidhne-àithne, agus seirbheisean AWS eile.

AWS X-Ray
A’ toirt faicsinneachd iomlan do gach ìre de ghiullachd iarrtasan san tagradh agad stèidhichte air mapa de na pàirtean a-staigh aige. A’ leigeil leat tagraidhean a mhion-sgrùdadh rè leasachadh agus ann an àrainneachdan cinneasachaidh.

AWS Config
Bidh e comasach dhut sùil a chumail air atharrachaidhean ann an rèiteachadh gnìomh Lambda (a’ toirt a-steach cuir às) agus amannan ruith, tagaichean, ainmean làimhseachaidh, meud còd, riarachadh cuimhne, suidheachaidhean ùine a-mach agus suidheachaidhean concurrency, a bharrachd air dreuchd cur an gnìomh Lambda IAM, fo-lìonradh, agus ceangalaichean buidhne tèarainteachd .

co-dhùnadh

Tha AWS Lambda a’ tabhann seata innealan cumhachdach airson a bhith a’ togail thagraidhean tèarainte is scalable. Tha mòran de na cleachdaidhean tèarainteachd is gèillidh ann an AWS Lambda an aon rud ri seirbheisean AWS eile, ged a tha eisgeachdan ann. Bhon Mhàrt 2019, tha Lambda a’ cumail ri SOC 1, SOC 2, SOC 3, PCI DSS, gèilleadh Achd So-ghiùlain is Cunntachalachd Àrachais Slàinte (HIPAA), agus riaghailtean eile. Mar sin, nuair a tha thu a’ smaoineachadh air an ath thagradh agad a chuir an gnìomh, beachdaich air seirbheis AWS Lambda - is dòcha gur e seo an rud as freagarraiche airson do ghnìomh.

Source: www.habr.com

Cuir beachd ann