Auiliiliga auiliiliga o le AWS Lambda

O le faaliliuga o le tusiga na saunia faapitoa mo tamaiti aoga o le vasega "Au'aunaga ao". E fiafia e atia'e i lea itu? Matamata i le vasega matai na saunia e Egor Zuev (TeamLead i InBit) "Au'aunaga AWS EC2" ma auai i le isi vaega kosi: amata ia Setema 26.

Auiliiliga auiliiliga o le AWS Lambda

E toʻatele tagata o loʻo malaga atu i le AWS Lambda mo le faʻalauteleina, faʻatinoga, faʻasao, ma le mafai ona faʻatautaia le faitau miliona poʻo le faitau miliona o talosaga i le masina. Ina ia faia lenei mea, e te le manaʻomia le puleaina o atinaʻe o loʻo faʻaogaina ai le auaunaga. Ma o le autoscaling e mafai ai ona e tautuaina le faitau afe o talosaga tutusa i le sekone. Ou te manatu e mafai ona taʻua saʻo le AWS Lambda o se tasi o auaunaga sili ona lauiloa AWS.

AWS Lambda

O le AWS Lambda o se 'au'aunaga fa'akomepiuta e leai ni mea e fa'atupuina e fa'ataga ai oe e fa'atautaia le fa'ailoga e aunoa ma le tu'uina atu po'o le fa'atonutonuina o sa'u ma fa'alautele isi auaunaga AWS e fa'aoga ai manatu fa'apitoa. Lambda e otometi lava ona tali atu i mea eseese (e taʻua o faʻalavelave), e pei o talosaga HTTP e ala i le Amazon API Gateway, suiga i faʻamatalaga i pakete Amazon S3 poʻo laulau Amazon DynamoDB; pe mafai fo'i ona e fa'agasolo lau fa'ailoga e ala ile API telefoni e fa'aaoga ai le AWS SDK ma suiga o le setete ile AWS Step Functions.

Lambda fa'atautaia le code i luga o le tele o avanoa fa'akomepiuta atina'e ma e nafa atoatoa mo le fa'afoeina o le fa'avae o lo'o i lalo, e aofia ai le server ma le fa'aogaina o le fa'aogaina o le polokalama, fa'asoaina o punaoa, auto-scaling, code mata'ituina, ma le fa'amauina. O lona uiga, e tatau lava ona e tuʻuina atu lau code ma faʻapipiʻi pe faʻafefea ma le taimi e tatau ai ona faʻatino. I le isi itu, o le 'auʻaunaga o le a tausia lona faʻalauiloaina ma faʻamautinoa le maualuga o le avanoa o lau talosaga.

O afea e sui ai i Lambda?

AWS Lambda ose fa'aoga fa'akomepiuta faigofie e fetaui lelei mo le tele o fa'aoga fa'aoga, pe afai o le gagana ma le taimi fa'agasolo o lau code e lagolagoina e le tautua. Afai e te manaʻo e taulaʻi atu i lau tulafono ma faʻamatalaga pisinisi aʻo e faʻatau atu le tausiga o le server, tuʻuina atu, ma le faʻaleleia i se tau talafeagai, o le AWS Lambda e mautinoa lava le auala e alu ai.

Lambda e lelei mo le fatuina o fesoʻotaʻiga polokalame, ma pe a faʻaogaina faʻatasi ma le API Gateway, e mafai ona e faʻaititia tele tau ma vave alu i maketi. E i ai auala eseese e faʻaaoga ai galuega a Lambda ma filifiliga mo le faʻatulagaina o se fausaga e leai se server - e mafai e tagata uma ona filifili se mea talafeagai e faʻatatau i la latou sini.

Lambda fa'atagaina oe e fa'atino le tele o galuega. O le mea lea, faʻafetai i le CloudWatch lagolago, e mafai ona e fatuina galuega faʻatuai ma faʻautometi faiga taʻitasi. E leai se faʻatapulaʻaina o le natura ma le malosi o le faʻaaogaina o le tautua (faʻaaogaina le mafaufau ma le taimi e faʻatatauina), ma e leai se mea e taofia ai oe mai le galue faʻatulagaina i luga o se microservice atoatoa e faʻavae i luga ole Lambda.

O iinei e mafai ai ona e faia ni gaioiga e faʻatatau i auaunaga e le faʻaauau pea. O se faʻataʻitaʻiga masani o le faʻavasegaina o ata. E oo lava i le tulaga o le tufatufaina atu, o galuega a Lambda e tumau pea le talafeagai.

O lea la, afai e te le manaʻo e faʻatautaia le faʻasoa ma le puleaina o punaoa faakomepiuta, taumafai le AWS Lambda; afai e te le manaʻomia ni faʻatusatusaga mamafa, faʻatauga, taumafai foi le AWS Lambda; afai e tamo'e lau code i lea taimi ma lea taimi, e sa'o, e tatau ona e taumafai AWS Lambda.

Puipuiga

E o'o mai i le taimi nei e leai ni faitioga e uiga i le saogalemu. I le isi itu, talu ai o le tele o faiga faʻalotoifale ma faʻatinoga faʻatinoga o lenei faʻataʻitaʻiga o loʻo natia mai le tagata faʻaogaina le AWS Lambda faʻatautaia le siosiomaga faʻatautaia, o nisi tulafono masani taliaina o le saogalemu o ao e le taua.

E pei o le tele o auaunaga AWS, Lambda o loʻo tuʻuina atu i luga o se faʻavae saogalemu ma le tausisia i le va o le AWS ma le tagata faʻatau. O lenei mataupu faavae e faʻaitiitia ai le avega faʻatino i luga o le kalani, talu ai o le AWS o loʻo faʻatinoina galuega o le tausia, faʻatautaia ma le mataʻituina o vaega o auaunaga - mai le faʻaogaina o le faʻaogaina ma le virtualization layer i le saogalemu faaletino o aseta tetele.

A'o tautala fa'apitoa e uiga i le AWS Lambda, o le AWS e nafa ma le fa'afoeina o atina'e fa'avae, auaunaga fa'avae e feso'ota'i, faiga fa'aoga, ma le fa'avae talosaga. E ui o le tagata o tausia e nafa ma le puipuiga o lana code, teuina o faʻamatalaga faʻalilolilo, pulea le avanoa i ai, faʻapea foʻi ma le Lambda auaunaga ma punaoa (Identity and Access Management, IAM), e aofia ai i totonu o tapulaʻa o galuega faʻaaogaina.

O le ata o loʻo i lalo o loʻo faʻaalia ai le faʻataʻitaʻiga o matafaioi fefaʻasoaaʻi e faʻatatau i le AWS Lambda. O le Tiutetauave a le AWS e lanu moli ma le Tiutetauave a Tagata Fa'atau e lanu moana. E pei ona e vaʻaia, e tele atu le matafaioi a le AWS mo talosaga o loʻo tuʻuina i luga o le auaunaga.

Auiliiliga auiliiliga o le AWS Lambda

Fa'ata'ita'iga Tiutetauave Fa'asoa Fa'atatau ile AWS Lambda

Lambda ta'aloga

O le aoga autu o Lambda o le faia lea o se galuega mo oe, o le auaunaga lava ia e tuʻuina atu punaoa talafeagai. E mafai ona e aloese mai le faʻaumatia o le taimi ma taumafaiga i le faʻatonuga o faiga ma taulaʻi atu i pisinisi faʻatatau ma coding.

Ua vaevaeina le auaunaga Lambda i ni vaalele se lua. Muamua o le vaalele pulea. E tusa ai ma Wikipedia, o le vaʻalele faʻatonutonu o le vaega o fesoʻotaʻiga e nafa ma le felauaiga o faʻailoga faʻailoga ma auala. O le vaega muamua lea e faia ai filifiliga i le lalolagi atoa e uiga i le tuʻuina atu, tautua, ma le tufatufaina o galuega. E le gata i lea, o le va'alele fa'atonutonu o lo'o galue e pei o le topology o feso'otaiga a le kamupani fofo, e nafa ma le ta'avale ma le puleaina o feoaiga.

O le vaalele lona lua o le data plane. E pei o le va'alele fa'atonutonu, ei ai ana lava galuega. O le va'alele fa'atonutonu e tu'uina atu API mo le fa'afoeina o galuega (CreateFunction, UpdateFunctionCode) ma fa'atonutonu le auala e feso'ota'i ai Lambda ma isi auaunaga AWS. O le vaalele faʻamatalaga e pulea le Invoke API, lea e faʻatautaia galuega a Lambda. A maeʻa ona valaʻau se galuega, e tuʻuina atu e le vaʻalele faʻatonutonu pe filifilia se siosiomaga taʻavale o loʻo i ai nei ua saunia muamua mo lena galuega, ona faʻatino lea o le code i totonu.

E lagolagoina e le AWS Lambda le tele o gagana polokalame, e aofia ai Java 8, Python 3.7, Go, NodeJS 8, .NET Core 2, ma isi, e ala ia latou siosiomaga taʻavale taʻitasi. AWS e faʻafouina i latou i taimi uma, tufatufaina atu puipui puipui, ma faia isi gaioiga faʻaleleia i luga o nei siosiomaga. Lambda e faʻatagaina oe e faʻaaoga isi gagana, pe a e faʻatinoina le taimi talafeagai e te oe. Ona tatau lea ona e tausia lelei lona tausiga, e aofia ai le mataʻituina o lona saogalemu.

E fa'afefea uma ma fa'afefea ona fa'atino e le 'au'aunaga au galuega?

O galuega ta'itasi e fa'atino i totonu o le tasi po'o le sili atu o si'osi'omaga fa'apitoa, lea e na'o le ola o lena galuega ma fa'aumatia. O si'osi'omaga ta'itasi e faia na'o le tasi le vala'au i le taimi, ae toe fa'aaogaina pe a tele telefoni fa'asologa i le galuega lava e tasi. O si'osi'omaga taimi ta'avale uma e fa'atautaia i masini fa'apolopolo fa'atasi ai ma mea fa'apitoa - e ta'ua o microVMs. O microVM taʻitasi e tuʻuina atu i se faʻamatalaga AWS patino ma e mafai ona toe faʻaaogaina e siosiomaga e faʻatino ai galuega eseese i totonu o lena tala. MicroVMs o loʻo faʻapipiʻiina i poloka faufale o le Lambda Worker hardware platform, lea e umia ma faʻatautaia e le AWS. Ole taimi tutusa e le mafai ona faʻaogaina e galuega eseese, e le faʻapitoa foi microVM i faʻamatalaga AWS eseese.

Auiliiliga auiliiliga o le AWS Lambda

AWS Lambda Isolation Model

O le fa'aesea o si'osi'omaga ta'avale e fa'atinoina e fa'aoga ai le tele o faiga. I le pito i luga o si'osi'omaga ta'itasi e iai kopi eseese o vaega nei:

  • Code galuega
  • Soo se Lambda layers ua filifilia mo le galuega
  • Siosiomaga fa'atinoga o galuega
  • Laiti avanoa fa'aoga fa'avae ile Amazon Linux

O faiga nei e fa'aogaina e fa'aesea ai si'osi'omaga fa'atinoina eseese:

  • cgroups - fa'atapula'a le avanoa i le PPU, manatua, teuina ma feso'ota'iga punaoa mo siosiomaga ta'avale ta'itasi;
  • namespaces - fa'avasegaina fa'agasologa ID, ID fa'aoga, feso'ota'iga feso'otaiga ma isi punaoa e pulea e le fatu Linux. Taimi ta'amilo ta'itasi e tamo'e i lona lava igoa;
  • seccom-bpf - faʻatapulaʻaina le telefoni feaveaʻi e mafai ona faʻaaogaina i le taimi faʻataʻavalevale;
  • iptables ma laulau ta'avale - tu'uesea o si'osi'omaga fa'atino mai le tasi ma le isi;
  • chroot - e maua ai avanoa fa'atapula'a i le faiga faila faila.

Fa'atasi ma le AWS fa'apitoa fa'atekinolosi fa'aesea, o nei faiga e fa'amautinoa ai le fa'atuatuaina o le vaeluaga o le taimi. Si'osi'omaga tu'ufua fa'apenei e le mafai ona maua pe suia fa'amaumauga mai isi si'osi'omaga.

E ui lava o le tele o taimi taʻavale o le faʻamatalaga AWS e tasi e mafai ona taʻavale i luga o se microVM e tasi, i lalo ole tulaga e mafai ona faʻasoa microVM i le va o faʻamatalaga AWS eseese. AWS Lambda fa'aaoga na'o le lua auala e fa'aesea ai microVMs: EC2 fa'ata'ita'iga ma Firecracker. O le fa'aesea o tagata asiasi i Lambda e fa'avae i luga o fa'ata'ita'iga EC2 ua iai talu mai le 2015. O le Firecracker o se faʻasalalauga fou fou e faʻapipiʻiina e le AWS mo galuega e leai se server ma faʻalauiloaina i le 2018. O meafaigaluega faʻaletino o loʻo faʻaogaina microVM e faʻasoa i le va o galuega i luga o tala eseese.

Fa'asaoina si'osi'omaga ma fa'agaioiga setete

E ui lava e tulaga ese taimi ta'avale a Lambda i galuega eseese, e mafai ona latou ta'ua le galuega lava e tasi i taimi uma, o lona uiga o le ta'aloga e mafai ona ola mo ni nai itula a'o le'i fa'aumatia.

E iai fo'i taimi ta'avale a Lambda ta'i faila faila e mafai ona fa'aogaina ile /tmp directory. O mea o lo'o i totonu e le mafai ona maua mai isi ta'aloga. E tusa ai ma le faʻaauau pea o le setete, o faila e tusia i /tmp o loʻo iai mo le taamilosaga atoa o le siʻosiʻomaga taimi. O lenei mea e mafai ai ona faʻaputuina faʻaiʻuga o le tele o telefoni, lea e sili ona aoga mo gaioiga taugata e pei o le utaina o faʻataʻitaʻiga aʻoaʻoga masini.

Valaau fesiitaiga o faamatalaga

E mafai ona fa'aoga le Invoke API i ni auala se lua: faiga fa'alavelave ma le faiga ole talosaga-tali. I le tulaga fa'alavelave, e fa'aopoopo le vala'au i se laina mo le fa'atinoina mulimuli ane. I le faiga talosaga-tali, e valaʻau loa le galuega ma le uta tuʻuina atu, a maeʻa ona toe faʻafoʻi mai le tali. I tulaga uma e lua, o le galuega e tamoʻe i totonu o le Lambda siʻosiʻomaga, ae faʻatasi ai ma auala eseese o uta.

I le taimi o talosaga-tali valaau, o le uta e tafe mai se API faʻatonuina talosaga (API Caller), e pei o le AWS API Gateway poʻo le AWS SDK, i le paleni o uta, ona sosoo ai lea ma le Lambda call service (Invoke Service). O le mea mulimuli e fuafua le siosiomaga talafeagai mo le faʻatinoina o le galuega ma pasi le uta iina e faʻamaeʻa ai le valaau. O le load balancer e maua le TLS-puipuia felauaiga i luga ole Initaneti. Fefa'ataua'iga i totonu o le Lambda 'au'aunaga-pe a mae'a le paleni o uta-e ui atu i totonu o le VPC i totonu i totonu o se itulagi AWS patino.

Auiliiliga auiliiliga o le AWS Lambda

AWS Lambda Fa'ata'ita'iga Fa'asologa o Valaau: Talosaga-Tali Faiga

E mafai ona fai vave valaau pe fa'aopoopo i se laina. I nisi tulaga, o le faʻasologa o loʻo faʻatinoina e faʻaaoga ai le Amazon SQS (Amazon Simple Queue Service), lea e pasi atu ai telefoni i le Lambda call fulfillment service e ala i se faiga palota i totonu. O fefaʻatauaʻiga faʻasalalau e puipuia e le TLS, ma e leai se faʻamatalaga faaopoopo o faʻamaumauga o loʻo teuina i le Amazon SQS.

E le toe fa'afo'i tali mai vala'au fa'alavelave—e le amana'ia e le Lambda Worker so'o se fa'amatalaga tali. O vala'au fa'avae mai le Amazon S3, Amazon SNS, CloudWatch, ma isi fa'apogai o lo'o fa'agasolo e Lambda i le fa'asologa o mea. Valaau mai le Amazon Kinesis ma le DynamoDB streams, SQS queues, Application Load Balancer, ma API Gateway telefoni e fa'agasolo i se faiga talosaga-tali.

Mataitu

E mafai ona e mata'ituina ma su'eina galuega a Lambda e fa'aaoga ai le tele o masini ma auaunaga AWS, e aofia ai mea nei.

amazoncloudwatch
Aoina mai fuainumera eseese e pei o le numera o talosaga, le umi o talosaga, ma le numera o talosaga na le manuia.

Amazon CloudTrail
Fa'ataga oe e fa'amauina, mata'itu pea, ma tausia fa'amatalaga o gaioiga fa'amatalaga e feso'ota'i ma au atina'e AWS. O le ae maua se tala fa'asolopito atoa o gaioiga fa'atino e fa'aaoga ai le AWS Management Console, AWS SDK, meafaigaluega laina laina, ma isi auaunaga AWS.

AWS X-Ray
Tuuina atu le va'aiga atoatoa i la'asaga uma o le fa'agaioiina o talosaga i lau talosaga e fa'atatau i se fa'afanua o ona vaega i totonu. Fa'atagaina oe e su'esu'e tusi talosaga i le taimi o le atina'e ma le gaosiga o siosiomaga.

AWS Config
O le a mafai ona e siaki suiga i le Lambda galuega faʻatulagaina (e aofia ai le tapeina) ma taʻaloga, pine, igoa o le tagata e faʻaaogaina, numera numera, vaevaega manatua, taimi faʻagata ma faʻatulagaina faʻatasi, faʻapea foʻi ma le Lambda IAM execution role, subnetting, ma le puipuiga o vaega faʻapipiʻi. .

iʻuga

AWS Lambda e ofoina atu se seti mamana o meafaigaluega mo le fausiaina o faʻaoga saogalemu ma faʻalauteleina. Ole tele ole puipuiga ma le tausisia o faiga ile AWS Lambda e tutusa ma isi auaunaga AWS, e ui lava e iai tuusaunoaga. E oʻo mai ia Mati 2019, Lambda o loʻo tausisia le SOC 1, SOC 2, SOC 3, PCI DSS, Health Insurance Portability and Accountability Act (HIPAA) tausisia, ma isi tulafono faatonutonu. O lea la, a e mafaufau i le faʻatinoina o lau isi talosaga, mafaufau i le AWS Lambda auaunaga - atonu e sili ona fetaui mo lau galuega.

puna: www.habr.com

Faaopoopo i ai se faamatalaga