Nyocha zuru ezu nke AWS Lambda

A haziri nsụgharị nke isiokwu ahụ kpọmkwem maka ụmụ akwụkwọ nke usoro ahụ "ọrụ igwe ojii". Ị nwere mmasị na mmepe na ntụziaka a? Lelee klas nna ukwu nke Egor Zuev (TeamLead na InBit) "AWS EC2 ọrụ" wee sonye n'otu nkuzi na-esote: ga-amalite na Septemba 26.

Nyocha zuru ezu nke AWS Lambda

Ọtụtụ ndị mmadụ na-akwaga na AWS Lambda maka scalability, arụmọrụ, nchekwa ego, yana ikike ijikwa ọtụtụ nde ma ọ bụ ọbụna puku ijeri arịrịọ kwa ọnwa. Iji mee nke a, ịkwesighi ijikwa akụrụngwa nke ọrụ ahụ na-arụ. Na autoscaling na-enye gị ohere ijere ọtụtụ puku arịrịọ n'otu oge kwa nkeji. Echere m na AWS Lambda nwere ike ịkpọ ya otu n'ime ọrụ AWS kachasị ewu ewu.

Lambda AWS

AWS Lambda bụ ọrụ mgbakọ na-enweghị ihe nkesa nke na-enye gị ohere ịme koodu na-enweghị inye ma ọ bụ jikwaa sava ma gbasaa ọrụ AWS ndị ọzọ site na iji mgbagha omenala. Lambda na-aza ozugbo na ihe omume dị iche iche (a na-akpọ ndị na-akpata), dị ka arịrịọ HTTP site na Amazon API Gateway, mgbanwe na data na Amazon S3 bọket ma ọ bụ Amazon DynamoDB tebụl; ma ọ bụ ị nwere ike ịgba ọsọ koodu gị site na oku API site na iji AWS SDK na mgbanwe steeti na AWS Nzọụkwụ Ọrụ.

Lambda na-arụ koodu na akụrụngwa kọmpụta dị ukwuu ma bụrụkwa ọrụ zuru oke maka ijikwa usoro ihe n'okpuru, gụnyere ihe nkesa na nrụzi sistemụ arụmọrụ, inye ihe enyemaka, nleba anya akpaaka, nlekota koodu, na ịde osisi. Ya bụ, naanị ị ga-ebugo koodu gị wee hazie otu na mgbe ekwesịrị igbu ya. N'aka nke ya, ọrụ ahụ ga-elekọta mmalite ya ma hụ na enwere ngwa gị dị elu.

Kedu mgbe ị ga-atụgharị na Lambda?

AWS Lambda bụ ikpo okwu ịgbakọ dabara adaba nke dabara maka ụdị ojiji dị iche iche, ọ bụrụhaala na ọrụ ahụ na-akwado asụsụ na oge ojiri gaa nke koodu gị. Ọ bụrụ n’ịchọrọ ilekwasị anya na koodu gị na mgbagha azụmaahịa gị mgbe ị na-ebupụ ihe nkesa na-arụ ọrụ, inye ihe, na ịgbanye ọnụ ahịa ezi uche dị na ya, AWS Lambda bụ n'ezie ụzọ ị ga-esi gaa.

Lambda dị mma maka ịmepụta oghere mmemme, yana mgbe ejiri ya na ọnụ ụzọ API, ị nwere ike belata ọnụ ahịa nke ukwuu wee nweta ahịa ngwa ngwa. Enwere ụzọ dị iche iche iji ọrụ Lambda na nhọrọ maka ịhazi ihe owuwu enweghị ihe nkesa - onye ọ bụla nwere ike họrọ ihe dabara adaba dabere na ebumnuche ha.

Lambda na-enye gị ohere ịrụ ọtụtụ ọrụ. Yabụ, ekele maka nkwado CloudWatch, ị nwere ike mepụta ọrụ ewegharịrị wee megharịa usoro n'otu n'otu. Enweghị ihe mgbochi na ọdịdị na ịdị ike nke iji ọrụ ahụ (a na-eburu n'uche oriri ebe nchekwa na oge), ọ dịghịkwa ihe na-egbochi gị ịrụ ọrụ nke ọma na microservice zuru oke dabere na Lambda.

N'ebe a, ị nwere ike ịmepụta omume dabere na ọrụ na-adịghị aga n'ihu. Ihe atụ a na-ahụkarị bụ ịcha ihe oyiyi. Ọbụlagodi n'ihe gbasara sistemụ kesara, ọrụ Lambda ka dị mkpa.

Yabụ, ọ bụrụ na ịchọghị ịma gbasara ikenye na ijikwa akụrụngwa kọmpụta, gbalịa AWS Lambda; ọ bụrụ na ịchọghị ịgbakọ oke, akụrụngwa na-akpa ike, gbalịakwa AWS Lambda; Ọ bụrụ na koodu gị na-agba ọsọ kwa oge, nke ahụ ziri ezi, ị ga-anwale AWS Lambda.

Nche

Ka ọ dị ugbu a enweghị mkpesa gbasara nchekwa. N'aka nke ọzọ, ebe ọ bụ na ọtụtụ n'ime usoro n'ime ime na njirimara mmejuputa atumatu nke ihe nlereanya a zoro ezo n'aka onye ọrụ nke AWS Lambda na-achịkwa oge ojiri oge, ụfọdụ iwu ndị a nabatara nke nchekwa igwe ojii adịghị mkpa.

Dịka ọtụtụ ọrụ AWS, a na-enye Lambda na nchekwa nkekọrịta yana nrubeisi n'etiti AWS na onye ahịa. Ụkpụrụ a na-ebelata ibu ọrụ na onye ahịa, ebe ọ bụ na AWS na-arụ ọrụ nke ịnọgide na-enwe, na-elekọta na nlekota ọrụ components - site na sistemụ arụmọrụ na-arụ ọrụ na virtualization oyi akwa na nchekwa anụ ahụ nke akụrụngwa akụrụngwa.

N'ikwu okwu banyere AWS Lambda, AWS na-ahụ maka ijikwa akụrụngwa dị n'okpuru, ọrụ ndị metụtara, sistemụ arụmọrụ, na ikpo okwu ngwa. Ọ bụ ezie na onye ahịa ahụ na-ahụ maka nchekwa nke koodu ya, na-echekwa data nzuzo, na-achịkwa ịnweta ya, yana ọrụ Lambda na akụrụngwa (Identity and Access Management, IAM), gụnyere n'ime oke nke ọrụ eji.

Eserese dị n'okpuru na-egosi ụdị ọrụ nkekọrịtara ka ọ na-emetụta AWS Lambda. Ọrụ AWS bụ oroma na ọrụ ndị ahịa bụ acha anụnụ anụnụ. Dịka ị na-ahụ, AWS na-ewekwu ibu ọrụ maka ngwa etinyere na ọrụ ahụ.

Nyocha zuru ezu nke AWS Lambda

Ihe Nlereanya Akekọrịtara Ọdabara na AWS Lambda

Lambda runtime

Isi uru nke Lambda bụ na site n'ịrụ ọrụ n'aha gị, ọrụ ahụ n'onwe ya na-ekenye ihe ndị dị mkpa. Ị nwere ike izere igbu oge na mgbalị na nchịkwa usoro ma lekwasị anya na mgbagha azụmahịa na nzuzo.

E kewara ọrụ Lambda ụzọ ụgbọ elu abụọ. Nke mbụ bụ ụgbọ elu njikwa. Dị ka Wikipedia si kwuo, ụgbọ elu njikwa bụ akụkụ nke netwọk na-ahụ maka ibufe okporo ụzọ mgbaàmà na ụzọ. Ọ bụ akụkụ bụ isi nke na-eme mkpebi zuru ụwa ọnụ gbasara inye, ije ozi, na ikesa ibu ọrụ. Na mgbakwunye, ụgbọ elu njikwa ahụ na-arụ ọrụ dị ka topology netwọkụ na-eweta ihe ngwọta, na-ahụ maka ịkwọgharị na ijikwa okporo ụzọ.

Ụgbọ elu nke abụọ bụ ụgbọ elu data. Ya, dị ka ụgbọ elu njikwa, nwere ọrụ nke ya. Ụgbọ elu ahụ na-achịkwa na-enye API maka ijikwa ọrụ (CreateFunction, UpdateFunctionCode) ma na-achịkwa ka Lambda na-ekwurịta okwu na ọrụ AWS ndị ọzọ. Ụgbọ elu data na-ejikwa Invoke API, nke na-arụ ọrụ Lambda. Mgbe akpọchara ọrụ, ụgbọ elu njikwa na-ekenye ma ọ bụ họrọ ebe a na-agba ọsọ dị adị nke akwadoro maka ọrụ ahụ, wee mebie koodu n'ime ya.

AWS Lambda na-akwado asụsụ mmemme dị iche iche, gụnyere Java 8, Python 3.7, Go, NodeJS 8, .NET Core 2, na ndị ọzọ, site na gburugburu oge ịgba ọsọ ha. AWS na-emelite ha mgbe niile, na-ekesa patches nche, ma na-arụ ọrụ mmezi ndị ọzọ na gburugburu ndị a. Lambda na-enye gị ohere iji asụsụ ndị ọzọ, ma ọ bụrụhaala na ị mejuputa oge kwesịrị ekwesị n'onwe gị. Ma mgbe ahụ ị ga-elekọta nlekọta ya, gụnyere nlekota nchekwa ya.

Kedu ka ihe niile si arụ ọrụ yana kedu ka ọrụ ahụ ga-esi arụ ọrụ gị?

Ọrụ ọ bụla na-arụ n'otu ebe ma ọ bụ karịa raara onwe ya nye, nke dị naanị maka ndụ nke ọrụ ahụ wee bibie ya. Gburugburu ebe ọ bụla na-eme naanị otu oku n'otu oge, mana a na-eji ya ọzọ ma ọ bụrụ na enwere ọtụtụ oku n'usoro n'otu ọrụ ahụ. Gburugburu ebe a na-agba ọsọ na-agba na igwe mebere nke nwere ngwaike ngwaike - nke a na-akpọ microVM. A na-ekenye microVM ọ bụla na akaụntụ AWS akọwapụtara yana enwere ike iji ya na gburugburu iji rụọ ọrụ dị iche iche n'ime akaụntụ ahụ. A na-achịkọta MicroVM n'ime ngọngọ ụlọ nke ikpo okwu ngwaike Lambda Worker, nke AWS nwere ma na-arụkwa ya. Enweghị ike iji otu oge ịgba ọsọ site na ọrụ dị iche iche, ma ọ bụ microVM pụrụ iche na akaụntụ AWS dị iche iche.

Nyocha zuru ezu nke AWS Lambda

AWS Lambda Ibe Ibe

A na-eji usoro dị iche iche eme ihe ikewapụ gburugburu oge ọ na-agba ọsọ. N'ọkwa kachasị elu nke gburugburu ebe obibi ọ bụla enwere nnomi dị iche iche nke ihe ndị a:

  • Koodu ọrụ
  • Lambda ọ bụla ahọpụtara maka ọrụ ahụ
  • gburugburu arụrụ ọrụ
  • Obere ohere onye ọrụ dabere na Amazon Linux

A na-eji usoro ndị a iji kewapụ gburugburu ogbugbu dị iche iche:

  • otu - ịgbachi ohere ịnweta CPU, ebe nchekwa, nchekwa na akụrụngwa netwọkụ maka oge ọ bụla ọ na-agba ọsọ;
  • oghere aha - NJ nhazi nhazi, NJ onye ọrụ, oghere netwọkụ na akụrụngwa ndị ọzọ nke Linux kernel na-ejikwa. Oge ọ bụla na-agba ọsọ n'ime oghere aha ya;
  • seccomp-bpf - na-amachibido oku sistemu enwere ike iji na oge ojiri gaa;
  • iptables na tebụl ntụgharị - ikewapụ gburugburu ogbugbu site na ibe ha;
  • chroot - na-enye ohere dị nta na sistemụ faịlụ dị n'okpuru.

Ejikọtara ya na teknụzụ kewapụ onwe onye nwe AWS, usoro ndị a na-eme ka nkewa oge ịgba ọsọ nwere ntụkwasị obi. Gburugburu ndị dịpụrụ adịpụ n'ụzọ a enweghị ike ịnweta ma ọ bụ gbanwee data sitere na gburugburu ndị ọzọ.

Ọ bụ ezie na ọtụtụ oge ọsọ nke otu akaụntụ AWS nwere ike ịgba ọsọ na otu microVM, n'ọnọdụ ọ bụla enweghị ike ịkekọrịta microVM n'etiti akaụntụ AWS dị iche iche. AWS Lambda na-eji naanị usoro abụọ kewapụ microVMs: EC2 na Firecracker. Kewapụ ndị ọbịa na Lambda dabere na ọnọdụ EC2 adịla kemgbe 2015. Firecracker bụ hypervisor mepere emepe ọhụrụ nke AWS mere maka ọrụ enweghị ọrụ yana ewebata ya na 2018. A na-ekekọrịta ngwaike anụ ahụ na-agba microVM n'etiti ibu ọrụ n'ofe akaụntụ dị iche iche.

Ịchekwa gburugburu na usoro usoro

Ọ bụ ezie na oge ịgba ọsọ Lambda pụrụ iche na ọrụ dị iche iche, ha nwere ike ịkpọ otu ọrụ ugboro ugboro, nke pụtara na oge ịgba ọsọ nwere ike ịdị ndụ ruo ọtụtụ awa tupu ebibie ya.

Oge ọsọ Lambda ọ bụla nwekwara sistemụ faịlụ edere nke a na-enweta site na ndekọ / tmp. Enweghị ike ịnweta ọdịnaya ya site na oge ọsọ ọsọ ndị ọzọ. N'ihe gbasara nkwụsi ike steeti usoro, faịlụ ndị edere na /tmp dị maka usoro ndụ niile nke gburugburu oge ịgba ọsọ. Nke a na-enye ohere ka a kwakọba nsonaazụ nke ọtụtụ oku, nke bara uru karịsịa maka ọrụ dị oke ọnụ dị ka ịkwanye ụdị mmụta igwe.

Nyefee data oku

Enwere ike iji API ịkpọku n'ụdị abụọ: ụdị mmemme na ụdị nzaghachi arịrịọ. N'ụdị mmemme, a na-agbakwunye oku a na kwụ n'ahịrị maka igbu oge. Na ọnọdụ nzaghachi arịrịọ, a na-akpọ ọrụ ahụ ozugbo na ụgwọ a na-enye, mgbe nke ahụ gasịrị, a ga-eweghachi nzaghachi. N'okwu abụọ a, ọrụ a na-arụ na gburugburu Lambda, mana ọ nwere ụzọ dị iche iche nke ịkwụ ụgwọ.

N'oge oku nzaghachi arịrịọ, ibu a na-akwụ ụgwọ na-esi na API nhazi arịrịọ (API Caller), dị ka AWS API Gateway ma ọ bụ AWS SDK, gaa na ihe nkwụnye ibu, wee gaa na ọrụ oku Lambda (Ọrụ oku). Nke ikpeazụ na-ekpebi ebe kwesịrị ekwesị maka ịrụ ọrụ ahụ ma nyefee ụgwọ ọrụ ebe ahụ iji mechaa oku ahụ. Onye na-edozi ibu na-enweta okporo ụzọ echedoro TLS n'ime ịntanetị. Okporo ụzọ n'ime ọrụ Lambda-mgbe onye na-edozi ibu na-agafe-na-agafe na VPC dị n'ime na mpaghara AWS.

Nyocha zuru ezu nke AWS Lambda

Ụdị nhazi oku AWS Lambda: Ụdị nzaghachi arịrịọ

Enwere ike ịkpọ oku mmemme ozugbo ma ọ bụ tinye na kwụ n'ahịrị. N'ọnọdụ ụfọdụ, a na-emejuputa kwụ n'ahịrị site na iji Amazon SQS (Amazon Simple Queue Service), nke na-agafe oku na ọrụ mmezu oku Lambda site na usoro nyocha nke ime. TLS na-echekwa okporo ụzọ a na-ebufe, ọ nweghịkwa nzuzo ọzọ nke data echekwara na Amazon SQS.

Oku mmemme anaghị eweghachi nzaghachi-Onye ọrụ Lambda na-eleghara ozi nzaghachi ọ bụla anya. A na-ahazi oku sitere na mmemme sitere na Amazon S3, Amazon SNS, CloudWatch, na isi mmalite ndị ọzọ site na Lambda na ọnọdụ mmemme. A na-ahazi oku sitere na iyi Amazon Kinesis na DynamoDB, kwụ n'ahịrị SQS, Ngwa Load Balancer, na oku ọnụ ụzọ API n'ụdị nzaghachi arịrịọ.

Nlekota oru

Ị nwere ike nyochaa na nyochaa ọrụ Lambda site na iji usoro na ọrụ dị iche iche nke AWS, gụnyere ndị a.

Amazon CloudWatch
Na-anakọta ọnụ ọgụgụ dị iche iche dị ka ọnụọgụ arịrịọ, ogologo oge nke arịrịọ, yana ọnụọgụ arịrịọ ndị dara.

Amazon CloudTrail
Na-enye gị ohere ịbanye, nyochaa na-aga n'ihu, ma jikwaa ozi ọrụ akaụntụ jikọtara na akụrụngwa AWS gị. Ị ga-enwe akụkọ ihe mere eme zuru oke nke omume emere site na iji AWS Management Console, AWS SDK, ngwaọrụ ahịrị iwu, na ọrụ AWS ndị ọzọ.

AWS X-ray
Na-enye visibiliti zuru oke n'ime usoro nhazi arịrịọ niile na ngwa gị dabere na maapụ ihe mejupụtara ya. Na-enye gị ohere inyocha ngwa n'oge mmepe na gburugburu mmepụta.

Nhazi AWS
Ị ga-enwe ike soro mgbanwe na nhazi ọrụ Lambda (gụnyere nhichapụ) na oge ịgba ọsọ, mkpado, aha njikwa, nha koodu, oke ebe nchekwa, ntọala oge nkwụsị na ntọala concurrency, yana ọrụ Lambda IAM na-arụ ọrụ, subnetting na nchebe otu njikọ. .

nkwubi

AWS Lambda na-enye ngwa ọrụ siri ike maka iwulite ngwa echedoro na enweghị ike. Ọtụtụ n'ime ọrụ nchekwa na nnabata na AWS Lambda bụ otu ihe ahụ na ọrụ AWS ndị ọzọ, n'agbanyeghị na enwere ndị ọzọ. Dị ka nke Maachị 2019, Lambda kwekọrọ na SOC 1, SOC 2, SOC 3, PCI DSS, Health Insurance Portability and Accountability Act (HIPAA) na ụkpụrụ ndị ọzọ. Yabụ, mgbe ị na-eche maka itinye ngwa na-esote gị, tụlee ọrụ AWS Lambda - ọ nwere ike bụrụ ihe kacha mma maka ọrụ gị.

isi: www.habr.com

Tinye a comment