Famakafakana amin'ny antsipiriany momba ny AWS Lambda

Ny fandikana ny lahatsoratra dia nomanina manokana ho an'ny mpianatry ny taranja "Service rahona". Liana amin'ny fampandrosoana amin'io lalana io? Jereo ny kilasy master nataon'i Egor Zuev (TeamLead ao amin'ny InBit) "Service AWS EC2" ary miditra amin'ny vondrona taranja manaraka: manomboka ny 26 septambra.

Famakafakana amin'ny antsipiriany momba ny AWS Lambda

Betsaka kokoa ny olona mifindra monina any amin'ny AWS Lambda noho ny fampitomboana, ny fampisehoana, ny fitsitsiana ary ny fahafahana mitantana fangatahana an-tapitrisany na an-tapitrisa tapitrisany isam-bolana. Mba hanaovana izany dia tsy mila mitantana ny fotodrafitrasa izay iasan'ny serivisy ianao. Ary ny autoscaling dia ahafahanao manolotra fangatahana an'arivony isan-tsegondra. Heveriko fa azo antsoina hoe iray amin'ireo serivisy AWS malaza indrindra ny AWS Lambda.

Zanak'i Lambda

AWS Lambda dia serivisy informatika tsy misy mpizara entin'ny hetsika izay ahafahanao mampandeha kaody tsy manome na mitantana mpizara ary manitatra serivisy AWS hafa mampiasa lojika manokana. Lambda dia mamaly ho azy amin'ny hetsika isan-karazany (antsoina hoe trigger), toy ny fangatahana HTTP amin'ny alàlan'ny Amazon API Gateway, fiovana amin'ny angona ao amin'ny siny Amazon S3 na tabilao Amazon DynamoDB; na azonao atao ny mampandeha ny kaodinao amin'ny alàlan'ny antso API amin'ny fampiasana ny AWS SDK sy ny fiovan'ny fanjakana ao amin'ny AWS Step Functions.

Lambda dia mitantana kaody amin'ny fotodrafitrasa informatika tena azo ampiasaina ary tompon'andraikitra tanteraka amin'ny fitantanana ny sehatra fototra, ao anatin'izany ny fikojakojana ny server sy ny rafitra fandidiana, ny famatsiana loharanon-karena, ny fanamafisam-peo mandeha ho azy, ny fanaraha-maso ny kaody ary ny logging. Izany hoe, mila mampakatra ny kaody ianao ary manitsy ny fomba sy ny fotoana tokony hanatanterahana azy. Ho setrin'izany, ny serivisy dia hikarakara ny fandefasana azy ary hiantoka ny fisian'ny fampiharana anao.

Rahoviana ny hifindra amin'ny Lambda?

AWS Lambda dia sehatra informatika mety tsara izay mety amin'ny tranga fampiasana isan-karazany, raha toa ka tohanan'ny serivisy ny fiteny sy ny fotoana fampandehanan'ny kaodinao. Raha te hifantoka amin'ny kaody sy ny lojikan'ny fandraharahana ianao rehefa mivoaka ny fikojakojana ny mpizara, ny famatsiana ary ny fanamafisam-peo amin'ny vidiny mirary, dia ny AWS Lambda no lalana tokony haleha.

Ny Lambda dia mety amin'ny famoronana interface tsara, ary rehefa ampiasaina miaraka amin'ny API Gateway, dia afaka mampihena be ny vidiny ianao ary miditra haingana kokoa amin'ny tsena. Misy fomba samihafa hampiasana ny fiasa sy ny safidy Lambda amin'ny fandaminana rafitra tsy misy mpizara - ny tsirairay dia afaka misafidy zavatra mifanaraka amin'ny tanjony.

Lambda dia ahafahanao manao asa maro isan-karazany. Noho izany, noho ny fanohanan'ny CloudWatch, afaka mamorona asa nahemotra ianao ary manara-maso ny fizotran'ny tsirairay. Tsy misy famerana ny toetra sy ny hamafin'ny fampiasana ny serivisy (ny fanjifana fahatsiarovana sy ny fotoana no raisina), ary tsy misy manakana anao tsy hiasa amin'ny rafitra microservice feno mifototra amin'ny Lambda.

Eto ianao dia afaka mamorona hetsika miompana amin'ny serivisy izay tsy mandeha tsy tapaka. Ohatra iray mahazatra dia ny fanamafisam-peo. Na dia amin'ny trangan'ny rafitra zaraina aza dia mijanona ho manan-danja ny fiasa Lambda.

Noho izany, raha tsy te-hiatrika amin'ny fizarana sy fitantanana loharanon-karena informatika ianao, andramo ny AWS Lambda; raha tsy mila kajikajy mavesatra be loharanon-karena ianao, andramo koa ny AWS Lambda; raha mandeha tsindraindray ny kaodinao dia marina izany, tokony hanandrana AWS Lambda ianao.

fiarovana

Hatreto dia tsy misy fitarainana momba ny fiarovana. Amin'ny lafiny iray, satria maro amin'ireo dingana anatiny sy endri-javatra fampiharana an'ity modely ity no miafina amin'ny mpampiasa ny tontolo iainan'ny AWS Lambda, dia lasa tsy misy dikany ny fitsipika sasany momba ny fiarovana rahona.

Tahaka ny ankamaroan'ny serivisy AWS, ny Lambda dia omena amin'ny fototra fiarovana sy fanarahan-dalàna eo amin'ny AWS sy ny mpanjifa. Ity fitsipika ity dia mampihena ny enta-mavesatry ny asa ho an'ny mpanjifa, satria ny AWS dia mandray ny andraikitry ny fikojakojana, ny fitantanana ary ny fanaraha-maso ireo singa serivisy - manomboka amin'ny rafitra fiasan'ny mpampiantrano sy ny sosona virtoaly mankany amin'ny fiarovana ara-batana ny fananana fotodrafitrasa.

Miresaka manokana momba ny AWS Lambda, AWS dia tompon'andraikitra amin'ny fitantanana ny fotodrafitrasa fototra, ny serivisy fototra mifandraika, ny rafitra fiasana ary ny sehatra fampiharana. Raha ny mpanjifa no tompon'andraikitra amin'ny fiarovana ny kaody, mitahiry angona tsiambaratelo, mifehy ny fidirana amin'izany, ary koa amin'ny serivisy sy loharanon'ny Lambda (Identity and Access Management, IAM), ao anatin'izany ny fetran'ny asa ampiasaina.

Ny kisary etsy ambany dia mampiseho ny maodely andraikitra iombonana izay mihatra amin'ny AWS Lambda. Ny AWS Responsibility dia orange ary ny Customer Responsibility dia manga. Araka ny hitanao dia mandray andraikitra bebe kokoa amin'ny fampiharana napetraka amin'ny serivisy ny AWS.

Famakafakana amin'ny antsipiriany momba ny AWS Lambda

Modely momba ny andraikitra iombonana azo ampiharina amin'ny AWS Lambda

Lambda runtime

Ny tombony lehibe indrindra amin'ny Lambda dia ny fanatanterahana asa iray amin'ny anaranao, ny serivisy mihitsy no manome ny loharano ilaina. Azonao atao ny misoroka ny fandaniam-potoana sy ny ezaka amin'ny fitantanana ny rafitra ary mifantoka amin'ny lojikan'ny orinasa sy ny kaody.

Ny serivisy Lambda dia mizara ho fiaramanidina roa. Ny voalohany dia ny fiaramanidina fanaraha-maso. Araka ny Wikipedia, ny fiaramanidina fanaraha-maso dia ampahany amin'ny tambajotra tompon'andraikitra amin'ny fitaterana ny fifamoivoizana famantarana sy ny lalana. Izy io no singa voalohany mandray fanapahan-kevitra manerantany momba ny famatsiana, ny serivisy ary ny fizarana enta-mavesatra. Fanampin'izany, ny fiaramanidina fanaraha-maso dia miasa toy ny topologie tambajotran'ny mpamatsy vahaolana, tompon'andraikitra amin'ny fandalovana sy ny fitantanana ny fifamoivoizana.

Ny fiaramanidina faharoa dia ny fiaramanidina data. Izy io, tahaka ny fiaramanidina fanaraha-maso, dia manana ny asany manokana. Ny fiaramanidina fanaraha-maso dia manome API amin'ny fitantanana ny asa (CreateFunction, UpdateFunctionCode) ary mifehy ny fomba ifandraisan'i Lambda amin'ny serivisy AWS hafa. Ny fiaramanidina data dia mifehy ny Invoke API, izay mitantana ny fiasa Lambda. Aorian'ny fiantsoana asa iray, ny fiaramanidina fanaraha-maso dia manolotra na mifidy tontolo iainana efa misy izay efa voaomana ho an'io asa io, ary avy eo dia manatanteraka ny code ao anatiny.

AWS Lambda dia manohana fiteny fandaharana isan-karazany, anisan'izany ny Java 8, Python 3.7, Go, NodeJS 8, .NET Core 2, ary ny hafa, amin'ny alàlan'ny tontolo iainan'izy ireo tsirairay avy. AWS dia manavao azy ireo tsy tapaka, mizara paty fiarovana ary manao hetsika fikojakojana hafa amin'ireo tontolo ireo. Ny Lambda dia mamela anao hampiasa fiteny hafa koa, raha toa ianao ka manatanteraka ny fampandehanana mety. Ary avy eo dia tsy maintsy mikarakara ny fikojakojana azy ianao, anisan'izany ny fanaraha-maso ny fiarovana azy.

Ahoana no fiasan'izy rehetra ary ahoana no hanatanterahan'ny serivisy ny asanao?

Ny fiasa tsirairay dia mandeha amin'ny tontolo iray na maromaro voatokana, izay tsy misy afa-tsy mandritra ny fiainan'io asa io ary rava avy eo. Ny tontolo iainana tsirairay dia manao antso iray ihany amin'ny fotoana iray, saingy ampiasaina indray izy io raha misy antso an-tariby maromaro amin'ny fiasa mitovy. Ny tontolon'ny runtime rehetra dia mandeha amin'ny milina virtoaly miaraka amin'ny virtoaly hardware - antsoina hoe microVMs. Ny microVM tsirairay dia voatendry amin'ny kaonty AWS manokana ary azo ampiasaina indray amin'ny tontolo iainana mba hanatanterahana asa samihafa ao anatin'io kaonty io. Ny MicroVMs dia amboarina ao anaty blocs amin'ny sehatry ny hardware Lambda Worker, izay an'ny AWS sy an'ny orinasa. Ny fotoana fampandehanana mitovy dia tsy azo ampiasaina amin'ny fiasa samihafa, ary tsy misy microVM tokana ho an'ny kaonty AWS samihafa.

Famakafakana amin'ny antsipiriany momba ny AWS Lambda

Modely mitokana AWS Lambda

Ny fitokanana ny tontolon'ny runtime dia ampiharina amin'ny fampiasana mekanika maromaro. Ao amin'ny ambaratonga ambony amin'ny tontolo iainana tsirairay dia misy dika mitovy amin'ireto singa manaraka ireto:

  • Kaody fiasa
  • Izay sosona Lambda nofantenana ho an'ny asa
  • Tontolo famonoana asa
  • Ny habaka mpampiasa kely indrindra mifototra amin'ny Amazon Linux

Ireto mekanisma manaraka ireto dia ampiasaina mba hanokafana ny tontolo famonoana samihafa:

  • cgroups - mametra ny fidirana amin'ny CPU, fitadidiana, fitahirizana ary loharanon-tambajotra ho an'ny tontolo iainan'ny fotoana rehetra;
  • namespaces - ID fizotry ny vondrona, ID mpampiasa, fifandraisana amin'ny tambajotra ary loharano hafa tantanin'ny kernel Linux. Ny fotoana fampandehanana tsirairay dia mandeha amin'ny toerana misy azy manokana;
  • seccom-bpf - mametra ny antson'ny rafitra azo ampiasaina amin'ny fotoana fandehanana;
  • iptables sy routing tables - fitokanana ny tontolo famonoana;
  • chroot - manome fidirana voafetra amin'ny rafitra rakitra fototra.

Miaraka amin'ny teknolojia mitoka-monina an'ny AWS, ireo mekanika ireo dia miantoka ny fisarahana azo antoka. Ny tontolo mitoka-monina toy izany dia tsy afaka miditra na manova angona avy amin'ny tontolo hafa.

Na dia afaka mandeha amin'ny microVM tokana aza ny fotoana fampandehanana maro amin'ny kaonty AWS iray, dia tsy misy microVM azo zaraina amin'ny kaonty AWS samihafa. Ny AWS Lambda dia tsy mampiasa afa-tsy mekanika roa hanavahana ny microVM: tranga EC2 sy Firecracker. Ny fitokanan'ny vahiny ao Lambda mifototra amin'ny tranga EC2 dia efa nisy hatramin'ny taona 2015. Firecracker dia hypervisor open source vaovao noforonin'ny AWS ho an'ny enta-mavesatra tsy misy mpizara ary nampidirina tamin'ny taona 2018. Ny fitaovana ara-batana mihazakazaka microVMs dia zaraina eo anelanelan'ny enta-mavesatra amin'ny kaonty samihafa.

Mitahiry ny tontolo iainana sy ny toetry ny dingana

Na dia tsy manam-paharoa amin'ny fiasa samihafa aza ny fampandehanan'ny Lambda, dia afaka miantso ny fiasa mitovy imbetsaka izy ireo, midika izany fa afaka miaina mandritra ny ora maromaro ny fotoam-pivoriana alohan'ny handravana azy.

Ny Lambda runtime tsirairay dia manana rafitra fichier azo soratana azo alaina amin'ny alàlan'ny lahatahiry /tmp. Tsy azo idirana amin'ny fotoam-pivoriana hafa ny votoatiny. Raha ny momba ny faharetan'ny fanjakana dia misy ny rakitra voasoratra amin'ny /tmp mandritra ny tsingerin'ny fiainana manontolo amin'ny tontolo iainana. Izany dia ahafahana manangona ny valin'ny antso maro, izay tena ilaina amin'ny asa lafo vidy toy ny fametahana maodely fianarana milina.

Antsoy ny famindrana angona

Ny Invoke API dia azo ampiasaina amin'ny fomba roa: fomba hetsika sy fomba famaliana fangatahana. Amin'ny fomba hetsika, ampidirina amin'ny filaharana ny antso ho amin'ny fanatanterahana aoriana. Ao amin'ny fomba fangatahana-valiny, ny asa dia antsoina avy hatrany miaraka amin'ny enta-mavesatra nomena, ary avy eo dia miverina ny valiny. Amin'ireo tranga roa ireo, ny fiasa dia mandeha amin'ny tontolo Lambda, saingy miaraka amin'ny làlan-kaleha samihafa.

Mandritra ny fiantsoana valim-panontaniana dia mikoriana avy amin'ny API fanodinana fangatahana (API Caller) ny entana, toy ny AWS API Gateway na AWS SDK, mankany amin'ny mpandrindra entana, ary avy eo mankany amin'ny serivisy antso Lambda (Invoke Service). Ity farany dia mamaritra ny tontolo mety amin'ny fanatanterahana ny asa ary mandalo ny enta-mavesatra eo mba hamitana ny antso. Mahazo fifamoivoizana arovana TLS amin'ny Internet ny mpandrindra entana. Ny fifamoivoizana ao anatin'ny serivisy Lambda—aorian'ny mpandrindra entana—dia mandalo VPC anatiny ao amin'ny faritra AWS manokana.

Famakafakana amin'ny antsipiriany momba ny AWS Lambda

Modely fanodinana antso AWS Lambda: Fomba fangatahana-famaliana

Ny fiantsoana hetsika dia azo atao avy hatrany na ampidirina amin'ny filaharana. Amin'ny tranga sasany, ny filaharana dia ampiharina amin'ny alàlan'ny Amazon SQS (Amazon Simple Queue Service), izay mandefa antso amin'ny serivisy famenoana antso Lambda amin'ny alàlan'ny fizotry ny fanadihadiana anatiny. Ny fifamoivoizana alefa dia arovan'ny TLS, ary tsy misy fanafenana fanampiny ny angona voatahiry ao amin'ny Amazon SQS.

Tsy mamaly valiny ny antson'ny hetsika—ny Lambda Worker dia tsy miraharaha izay fampahalalana valiny. Ny antso mifototra amin'ny hetsika avy amin'ny Amazon S3, Amazon SNS, CloudWatch, ary loharano hafa dia karakarain'ny Lambda amin'ny fomba hetsika. Ny antso avy amin'ny renirano Amazon Kinesis sy DynamoDB, filaharana SQS, Application Load Balancer, ary API Gateway dia karakaraina amin'ny fomba famaliana fangatahana.

fanaraha-maso

Azonao atao ny manara-maso sy manara-maso ny fiasan'ny Lambda amin'ny fampiasana mekanika sy serivisy AWS isan-karazany, ao anatin'izany ireto manaraka ireto.

amazoncloudwatch
Manangona antontan'isa isan-karazany toy ny isan'ny fangatahana, ny faharetan'ny fangatahana ary ny isan'ny fangatahana tsy nahomby.

Amazon CloudTrail
Mamela anao hisoratra anarana, hanara-maso tsy tapaka ary hitazona ny mombamomba ny hetsika kaonty mifandraika amin'ny fotodrafitrasa AWS anao. Hanana tantara feno momba ny hetsika atao amin'ny fampiasana ny AWS Management Console, AWS SDK, fitaovana andalana baiko ary serivisy AWS hafa ianao.

AWS X-Ray
Manome fahitana feno amin'ny dingana rehetra amin'ny fanodinana fangatahana ao amin'ny fampiharanao mifototra amin'ny sarintanin'ny singa anatiny. Mamela anao hamakafaka ny fampiharana mandritra ny fampandrosoana sy amin'ny tontolo famokarana.

AWS Config
Azonao atao ny manara-maso ny fiovana amin'ny firafitry ny fiasan'ny Lambda (anisan'izany ny famafana) sy ny fotoana fandehanana, ny marika, ny anaran'ny mpitantana, ny haben'ny kaody, ny fanomezan-tsindrimandry, ny firafitry ny fe-potoana ary ny fiovaovan'ny concurrency, ary koa ny andraikitry ny famonoana IAM Lambda, ny subnetting ary ny fatorana vondrona fiarovana. .

famaranana

AWS Lambda dia manolotra fitaovana mahery vaika amin'ny fananganana fampiharana azo antoka sy azo esorina. Maro amin'ireo fomba fiarovana sy fanarahan-dalàna ao amin'ny AWS Lambda no mitovy amin'ny serivisy AWS hafa, na dia misy aza ny maningana. Hatramin'ny martsa 2019, ny Lambda dia mifanaraka amin'ny SOC 1, SOC 2, SOC 3, PCI DSS, fanarahan-dalàna momba ny fiantohana ara-pahasalamana sy ny fandraisana andraikitra (HIPAA), ary ny fitsipika hafa. Noho izany, rehefa mieritreritra ny hampihatra ny fampiharana manaraka ianao dia diniho ny serivisy AWS Lambda - mety ho mety indrindra amin'ny asanao izany.

Source: www.habr.com

Add a comment