Ọna ti ko ni olupin fun idagbasoke iyara ti iṣẹ fidio ti n ṣiṣẹ

Ọna ti ko ni olupin fun idagbasoke iyara ti iṣẹ fidio ti n ṣiṣẹ

Mo ṣiṣẹ ni ita gbangba, nibiti ipilẹ akọkọ le ṣe apejuwe nipasẹ gbolohun naa “ta pupọ, ṣe yarayara.” Awọn yiyara a se o, awọn diẹ a yoo jo'gun. Ati, o jẹ wuni pe ohun gbogbo ṣiṣẹ ko lori crutches ati snot, ṣugbọn pẹlu ohun itewogba ipele ti didara. Emi yoo sọ fun ọ nipa iriri mi nigbati o jẹ dandan lati ṣe idagbasoke iṣẹ ipolowo ni igba diẹ.

Fun: iroyin root lori AWS, ko si awọn ihamọ lori yiyan akopọ imọ-ẹrọ, ẹhin ọkan, ati oṣu kan fun idagbasoke.

Iṣẹ kan: ṣe iṣẹ ipolowo nibiti awọn olumulo gbejade lati ọkan si mẹrin awọn fidio ti o pẹ lati ọkan si mẹrin iṣẹju-aaya, eyiti o wa ni ifibọ sinu jara fidio atilẹba.

Ipinnu

Kikọ iṣẹ keke tirẹ ni iru akoko kukuru bẹ kii ṣe imọran to dara. Ni afikun, ni ibere fun iṣẹ naa lati koju ẹru naa ati fun gbogbo eniyan lati gba fidio ti o ṣojukokoro, awọn amayederun yoo nilo. Ati ni pataki kii ṣe pẹlu aami idiyele lati inu ọkọ ofurufu naa. Nitorinaa, a dojukọ lẹsẹkẹsẹ lori awọn solusan ti a ti ṣetan pẹlu isọdi kekere.

Ojutu boṣewa fun ṣiṣẹ pẹlu fidio jẹ FFmpeg, ohun elo console-Syeed agbelebu ti, nipasẹ awọn ariyanjiyan, ngbanilaaye lati ge ati overdub ohun. Gbogbo ohun ti o kù lati ṣe ni kikọ iwe-iṣọ kan ki o si tu silẹ sinu igbesi aye. A kọ kan Afọwọkọ ti o stitches meji awọn fidio jọ, ati... awọn fun bẹrẹ. Ile-ikawe naa da lori .NET Core 2, o yẹ ki o ṣiṣẹ lori eyikeyi ẹrọ foju, nitorinaa a mu apẹẹrẹ AWS EC2 kan ati pe ohun gbogbo yoo ṣiṣẹ

Ọrọ farasinrara, kii yoo ṣiṣẹ
.
Botilẹjẹpe FFmpeg ṣe iṣẹ-ṣiṣe naa simplifies, fun ojutu ti n ṣiṣẹ gaan o nilo lati ṣẹda apẹẹrẹ EC2 kan ati ṣe apẹrẹ awọn amayederun nẹtiwọọki fun rẹ, pẹlu iwọntunwọnsi fifuye. Iṣẹ ti o rọrun ti gbigbe lati ibere di “diẹ” diẹ sii idiju, ati pe awọn amayederun bẹrẹ lati beere owo lẹsẹkẹsẹ - ni gbogbo wakati iye akoko asiko ti yọkuro lati akọọlẹ alabara.

Iṣẹ wa ko kan awọn ilana ṣiṣe Gigun, ko nilo aaye data ibatan ti o tobi ati ọra, ati pe o baamu ni pipe si faaji ti o da lori iṣẹlẹ pẹlu pq awọn ipe microservice. Ojutu naa daba funrarẹ - a le fi EC2 silẹ ki o ṣe ohun elo ti ko ni olupin otitọ, bii Aṣatunṣe Aworan boṣewa ti o da lori AWS Lambda.

Nipa ọna, laibikita ikorira ti o han gbangba ti awọn Difelopa AWS fun .NET, wọn ṣe atilẹyin .NET Core 2.1 gẹgẹbi akoko asiko, eyiti o pese ni kikun awọn anfani idagbasoke.

Ati ṣẹẹri lori akara oyinbo naa - AWS pese iṣẹ lọtọ fun ṣiṣẹ pẹlu awọn faili fidio - AWS Elemental MediaConvert.

Koko-ọrọ ti iṣẹ jẹ rọrun ti iyalẹnu: a mu ọna asopọ S3 kan si fidio ti njade, kọ nipasẹ AWS Console, .NET SDK tabi nirọrun JSON ohun ti a fẹ lati ṣe pẹlu fidio ati pe iṣẹ naa. O funrarẹ n ṣe awọn ila fun ṣiṣe awọn ibeere ti nwọle, gbejade abajade si S3 funrararẹ ati, ni pataki julọ, ṣe ipilẹṣẹ Iṣẹlẹ CloudWatch fun iyipada ipo kọọkan. Eyi n gba wa laaye lati ṣe awọn okunfa lambda lati pari sisẹ fidio.

Ọna ti ko ni olupin fun idagbasoke iyara ti iṣẹ fidio ti n ṣiṣẹ
Eyi ni ohun ti faaji ikẹhin dabi:

Gbogbo backend wa ni ile ni meji lambdas. Omiiran jẹ fun yiyi awọn fidio inaro, nitori iru iṣẹ bẹẹ ko le ṣee ṣe ni ọna kan.

A yoo gbe iwaju ni irisi ohun elo SPA ti a kọ sinu JS ati ti a ṣajọ nipasẹ pug ni garawa S3 ti gbogbo eniyan. Lati ṣe igbasilẹ awọn fidio funrararẹ, a ko nilo koodu olupin eyikeyi - a kan nilo lati ṣii awọn aaye ipari REST ti S3 pese wa. Ohun kan nikan ni maṣe gbagbe lati tunto awọn eto imulo ati CORS.

Awọn apata inu omi

  • AWS MediaConvert, fun idi kan ti a ko mọ, kan ohun nikan si ajẹkù fidio kọọkan lọtọ, ṣugbọn a nilo orin idunnu lati gbogbo iboju iboju.
  • Awọn fidio inaro nilo lati ni ilọsiwaju lọtọ. AWS ko fẹran awọn ifi dudu ati fi awọn rollers si 90°.

Rọrun iṣere lori yinyin

Pelu gbogbo ẹwa ti Orilẹ-ede, o nilo lati tọju abala ohun ti o nilo lati ṣe pẹlu fidio naa: lẹ pọ tabi ṣafikun ohun si ọna fidio ti o pari. Ni Oriire, MediaConvert ṣe atilẹyin gbigbe metadata nipasẹ Awọn iṣẹ rẹ, ati pe a le lo asia ti o rọrun nigbagbogbo ti fọọmu “isMasterSoundJob”, ti n ṣe atunwo metadata yii ni eyikeyi ipele.

Aini olupin ni pipe ngbanilaaye ṣiṣẹ pẹlu NoOps - ọna ti o dawọle aibikita ti ẹgbẹ lọtọ ti o ni iduro fun awọn amayederun iṣẹ akanṣe. Nitorinaa, o jẹ ọrọ kekere kan - a gbe ojutu naa sori AWS laisi ikopa ti awọn alabojuto eto, ti o ni nkankan nigbagbogbo lati ṣe.
Ati lati ṣe iyara gbogbo eyi, a ṣe adaṣe iwe afọwọkọ imuṣiṣẹ bi o ti ṣee ṣe lori AWS CloudFormation, eyiti o fun ọ laaye lati ran pẹlu bọtini kan taara lati VS. Bi abajade, faili ti awọn laini koodu 200 gba ọ laaye lati yi ojutu ti o ti ṣetan silẹ, botilẹjẹpe sintasi CloudFormation le jẹ iyalẹnu ti o ko ba faramọ rẹ.

Lapapọ

Aini olupin kii ṣe panacea. Ṣugbọn yoo jẹ ki igbesi aye rọrun pupọ ni awọn ipo pẹlu awọn opin mẹta: “awọn ohun elo to lopin — igba kukuru — owo kekere.”

Awọn abuda ti Awọn ohun elo Dara fun Serverless

  • lai gun-Nṣiṣẹ lakọkọ. API Gateway lile iye to ni 29 aaya, lambda lile iye to 5 iṣẹju;
  • ṣàpèjúwe nipasẹ Iṣẹlẹ-Driven faaji;
  • fi opin si isalẹ sinu loosely pelu irinše bi SOA;
  • ko nilo iṣẹ pupọ pẹlu ipo rẹ;
  • ti a kọ sinu .NET Core. Lati ṣiṣẹ pẹlu Ilana NET, iwọ yoo tun nilo o kere ju Docker pẹlu akoko asiko ti o yẹ.

Awọn anfani ti ọna Serverless

  • dinku awọn idiyele amayederun;
  • dinku idiyele ti jiṣẹ ojutu;
  • scalability laifọwọyi;
  • idagbasoke ni eti gige ti ilọsiwaju imọ-ẹrọ.

Awọn alailanfani, pẹlu apẹẹrẹ kan pato

  • Ṣiṣayẹwo pinpin ati gedu - ipinnu ni apakan nipasẹ AWS X-Ray ati AWS CloudWatch;
  • airọrun n ṣatunṣe aṣiṣe;
  • Ibẹrẹ tutu nigbati ko si fifuye;
  • AWS ni wiwo ọta olumulo jẹ iṣoro gbogbo agbaye :)

orisun: www.habr.com

Fi ọrọìwòye kun