Njira yopanda seva yopititsa patsogolo ntchito yamakanema ogwira ntchito

Njira yopanda seva yopititsa patsogolo ntchito yamakanema ogwira ntchito

Ndimagwira ntchito yogulitsa ntchito, pomwe mfundo yayikulu imatha kufotokozedwa ndi mawu akuti "gulitsani zambiri, chitani mwachangu." Tikachita mwachangu, m'pamenenso timapeza ndalama zambiri. Ndipo, ndi zofunika kuti chirichonse sichigwira ntchito pa ndodo ndi snot, koma ndi mlingo wovomerezeka wa khalidwe. Ndikuuzani za zomwe ndinakumana nazo pamene kunali kofunikira kupanga ntchito yotsatsira mu nthawi yochepa.

Kupatsidwa: root account pa AWS, palibe zoletsa pakusankha tekinoloje stack, backend imodzi, ndi mwezi umodzi wachitukuko.

Ntchito: khazikitsani ntchito yotsatsira pomwe ogwiritsa ntchito amatsitsa makanema kuchokera pa 1 mpaka 4 masekondi mpaka masekondi anayi, kenako amalowetsedwa muakanema oyamba.

chisankho

Kulemba utumiki wanu wanjinga mu nthawi yochepa si nkhani yabwino. Kuphatikiza apo, kuti ntchitoyo ithane ndi katunduyo komanso kuti aliyense alandire kanema yemwe amasilira, pakufunika zomangamanga. Ndipo makamaka osati ndi mtengo wandege. Chifukwa chake, nthawi yomweyo timangoyang'ana mayankho okonzeka opangidwa ndi makonda ochepa.

Yankho lokhazikika pakugwirira ntchito ndi kanema ndi FFmpeg, chida chothandizira papulatifomu chomwe, kudzera mkangano, chimakulolani kudula ndikuwonjezera mawu. Chomwe chatsala ndikulemba chofunda ndikuchimasula m'moyo. Timalemba chitsanzo chomwe chimagwirizanitsa mavidiyo awiri pamodzi, ndipo ... zosangalatsa zimayamba. Laibulale yakhazikitsidwa pa .NET Core 2, iyenera kuthamanga pamakina aliwonse, kotero timatengera chitsanzo cha AWS EC2 ndipo zonse zigwira ntchito.

Mawu obisikaayi, sizingagwire ntchito
.
Ngakhale FFmpeg imathandizira ntchitoyi, kuti mupeze yankho logwira ntchito kwenikweni muyenera kupanga chitsanzo cha EC2 ndikupanga ma network ake, kuphatikiza Load Balancer. Ntchito yosavuta yotumiza kuchokera pachiwonetsero imakhala "yovuta" pang'ono, ndipo zomangamanga zimayamba kufuna ndalama nthawi yomweyo - ola lililonse kuchuluka kwa nthawi yothamanga kumachotsedwa ku akaunti ya kasitomala.

Ntchito yathu simaphatikizirapo njira zothamangira nthawi yayitali, sizifuna nkhokwe yayikulu komanso yonenepa yolumikizana, ndipo imagwirizana bwino ndi zomangamanga zokhazikitsidwa ndi zochitika zokhala ndi mafoni angapo a microservice. Yankho likudziwonetsera lokha - titha kusiya EC2 ndikugwiritsa ntchito pulogalamu yopanda seva, monga Image Resizer yokhazikika pa AWS Lambda.

Mwa njira, ngakhale kuti sakonda zodziwikiratu za opanga AWS kwa .NET, amathandizira .NET Core 2.1 monga nthawi yothamanga, yomwe imapereka mwayi wochuluka wa chitukuko.

Ndipo chitumbuwa pa keke - AWS imapereka ntchito yosiyana yogwira ntchito ndi mafayilo amakanema - AWS Elemental MediaConvert.

Chofunika kwambiri cha ntchitoyi ndi chophweka kwambiri: timatenga ulalo wa S3 ku kanema wotuluka, lembani kudzera pa AWS Console, .NET SDK kapena mophweka JSON zomwe tikufuna kuchita ndi kanema ndikuyitanitsa msonkhano. Imakhazikitsa mizere yokonza zopempha zomwe zikubwera, imakweza zotsatira zake ku S3 yokha ndipo, chofunikira kwambiri, imapanga Chochitika cha CloudWatch pakusintha kulikonse. Izi zimatithandiza kukhazikitsa zoyambitsa lambda kuti timalize kukonza mavidiyo.

Njira yopanda seva yopititsa patsogolo ntchito yamakanema ogwira ntchito
Izi ndi momwe zomangamanga zomaliza zimawonekera:

Kumbuyo konseko kumakhala mu lambdas ziwiri. Wina ndi wa mavidiyo osinthasintha, popeza ntchito yotereyi siingakhoze kuchitidwa ndi chiphaso chimodzi.

Tiyika kutsogolo ngati pulogalamu ya SPA yolembedwa mu JS ndikupangidwa kudzera pa pug mumtsuko wapagulu wa S3. Kuti titsitse mavidiyowo, sitifuna khodi ya seva - timangofunika kutsegula REST mapeto omwe S3 imatipatsa. Chinthu chokhacho musaiwale kukonza ndondomeko ndi CORS.

Zowopsa

  • AWS MediaConvert, pazifukwa zosadziwika, imangogwira mawu pachidutswa chilichonse cha kanema padera, koma timafunikira nyimbo yansangala kuchokera pachiwonetsero chonse.
  • Makanema oyimirira ayenera kukonzedwa mosiyana. AWS sakonda mipiringidzo yakuda ndipo imayika zodzigudubuza pa 90 Β°.

Easy skating rink

Ngakhale kukongola konse kwa Stateless, muyenera kuyang'anira zomwe zikuyenera kuchitika ndi kanema: guluu kapena kuwonjezera zomvera pazotsatizana zomalizidwa. Mwamwayi, MediaConvert imathandizira kudutsa metadata kudzera mu Ntchito zake, ndipo nthawi zonse titha kugwiritsa ntchito mbendera yosavuta ya "isMasterSoundJob", kusanthula metadata iyi nthawi iliyonse.

Serverless imalola bwino kugwira ntchito ndi NoOps - njira yomwe imatengera kusafunikira kwa gulu losiyana lomwe limayang'anira ntchitoyo. Chifukwa chake, inali nkhani yaying'ono - timatumiza yankho pa AWS popanda kutengapo gawo kwa oyang'anira dongosolo, omwe nthawi zonse amakhala ndi chochita.
Ndipo kuti tifulumizitse zonsezi, timayendetsa script momwe tingathere pa AWS CloudFormation, yomwe imakupatsani mwayi wotumiza ndi batani limodzi kuchokera ku VS. Zotsatira zake, fayilo ya mizere 200 yamakhodi imakulolani kuti mutulutse yankho lokonzekera, ngakhale kuti mawu a CloudFormation angakhale odabwitsa ngati simunawazolowere.

Chiwerengero

Serverless si mankhwala. Koma zidzapangitsa moyo kukhala wosavuta kwambiri m'mikhalidwe yokhala ndi malire atatu: "zinthu zochepa - kwakanthawi kochepa - ndalama zochepa."

Mawonekedwe a Mapulogalamu Oyenera Kwa Opanda Seva

  • popanda ndondomeko za Long-Running. API Gateway hard limit ndi 29 masekondi, lambda hard limit ndi mphindi 5;
  • zofotokozedwa ndi Zomangamanga Zoyendetsedwa ndi Zochitika;
  • imaphwanyidwa m'magulu osakanikirana monga SOA;
  • sichifuna ntchito yambiri ndi chikhalidwe chanu;
  • yolembedwa mu .NET Core. Kuti mugwire ntchito ndi NET Framework, mudzafunikabe osachepera Docker ndi nthawi yoyenera.

Ubwino wa njira ya Serverless

  • amachepetsa ndalama zowonongeka;
  • amachepetsa mtengo woperekera yankho;
  • scalability basi;
  • chitukuko m'mphepete mwa kupita patsogolo kwaukadaulo.

Zoipa, ndi chitsanzo chapadera

  • Kusaka ndi kudula mitengo - kuthetsedwa pang'ono kudzera mu AWS X-Ray ndi AWS CloudWatch;
  • zovuta zowonongeka;
  • Cold Start pamene palibe katundu;
  • Mawonekedwe a AWS osagwirizana ndi vuto lapadziko lonse lapansi :)

Source: www.habr.com

Kuwonjezera ndemanga