Dagbasoke Syeed fidio kan ni awọn ọjọ 90

Orisun omi yii a rii ara wa ni awọn ipo idunnu pupọ. Nitori ajakaye-arun naa, o han gbangba pe awọn apejọ igba ooru wa nilo lati gbe lori ayelujara. Ati pe lati le ṣe wọn lori ayelujara daradara, awọn solusan sọfitiwia ti a ti ṣetan ko dara fun wa; a nilo lati kọ tiwa. Ati pe a ni oṣu mẹta lati ṣe eyi.

O han gbangba pe o jẹ oṣu mẹta ti o dun. Ṣugbọn lati ita ko han gbangba: kini pẹpẹ apejọ ori ayelujara? Awọn ẹya wo ni o wa ninu? Nitorinaa, ni ipari ti awọn apejọ igba ooru DevOops, Mo beere lọwọ awọn ti o ni iduro fun iṣẹ ṣiṣe yii:

  • Nikolay Molchanov - imọ director ti JUG Ru Group;
  • Vladimir Krasilshchik jẹ oluṣeto Java pragmatic ti n ṣiṣẹ lori ẹhin (o tun le rii awọn ijabọ rẹ ni awọn apejọ Java wa);
  • Artyom Nikonov jẹ iduro fun gbogbo ṣiṣan fidio wa.

Nipa ọna, ni awọn apejọ Igba Irẹdanu Ewe-igba otutu a yoo lo ẹya ilọsiwaju ti iru ẹrọ kanna - ọpọlọpọ awọn oluka habra yoo tun jẹ awọn olumulo rẹ.

Dagbasoke Syeed fidio kan ni awọn ọjọ 90

Aworan nla

— Kini akojọpọ ẹgbẹ naa?

Nikolay Molchanov: A ni atunnkanka, onise apẹẹrẹ, oluyẹwo, awọn iwaju-iwaju mẹta, ati opin-ipari. Ati pe, dajudaju, alamọja T-sókè!

— Kini ilana naa dabi ni gbogbogbo?

Nikolay: Titi di aarin Oṣu Kẹta, a ko ni ohunkohun ti o ṣetan fun ori ayelujara rara. Ati ni Oṣu Kẹta Ọjọ 15, gbogbo carousel ori ayelujara bẹrẹ si yiyi. A ṣeto awọn ibi ipamọ pupọ, gbero, jiroro lori faaji ipilẹ ati ṣe ohun gbogbo ni oṣu mẹta.

Eyi, dajudaju, lọ nipasẹ awọn ipele Ayebaye ti igbero, faaji, yiyan ẹya, didibo fun awọn ẹya wọnyẹn, eto imulo fun awọn ẹya yẹn, apẹrẹ wọn, idagbasoke, idanwo. Bi abajade, ni Oṣu Karun ọjọ 6, a yi ohun gbogbo jade si iṣelọpọ. TechTrain. Awọn ọjọ 90 wa fun ohun gbogbo.

— Njẹ a ṣakoso lati ṣaṣeyọri ohun ti a pinnu si?

Nikolay: Niwọn igba ti a ti n kopa ninu apejọ DevOops lori ayelujara, o tumọ si pe o ṣiṣẹ. Mo ti ṣe tikalararẹ si ohun akọkọ: Emi yoo mu awọn alabara wa ọpa pẹlu eyiti wọn le ṣe apejọ ori ayelujara kan.

Ipenija ni eyi: fun wa ni ohun elo kan pẹlu eyiti a le ṣe ikede awọn apejọ wa si awọn tikẹti tikẹti.

Gbogbo eto ti pin si awọn ipele pupọ, ati gbogbo awọn ẹya (nipa 30 agbaye) ti pin si awọn ẹka mẹrin:

  • eyiti a yoo ṣe dajudaju (a ko le gbe laisi wọn),
  • eyi ti a yoo ṣe ni keji,
  • eyi ti a ko ni ṣe,
  • ati eyi ti a yoo ko, lailai ṣe.

A ṣe gbogbo awọn ẹya ara ẹrọ lati akọkọ meji isori.

- Mo mọ pe apapọ awọn ọran 600 JIRA ni a ṣẹda. Ni oṣu mẹta, o ṣe awọn iṣẹ microservice 13, ati pe Mo fura pe wọn kọ wọn kii ṣe ni Java nikan. O lo awọn imọ-ẹrọ oriṣiriṣi, o ni awọn iṣupọ Kubernetes meji ni awọn agbegbe wiwa mẹta ati awọn ṣiṣan RTMP 5 ni Amazon.

Jẹ ki ká bayi wo ni kọọkan paati ti awọn eto lọtọ.

Sisanwọle

- Jẹ ki a bẹrẹ pẹlu nigba ti a ti ni aworan fidio tẹlẹ, ati pe o ti gbejade si awọn iṣẹ kan. Artyom, sọ fun wa bawo ni ṣiṣan yii ṣe ṣẹlẹ?

Artyom Nikonov: Eto gbogbogbo wa dabi eyi: aworan lati kamẹra -> yara iṣakoso wa -> olupin RTMP agbegbe -> Amazon -> ẹrọ orin fidio. Awọn alaye diẹ sii kowe nipa o lori Habré ni Oṣu Karun.

Ni gbogbogbo, awọn ọna agbaye meji lo wa lati ṣe eyi: boya lori ohun elo tabi da lori awọn solusan sọfitiwia. A yan ọna sọfitiwia nitori pe o rọrun ni ọran ti awọn agbohunsoke latọna jijin. Ko ṣee ṣe nigbagbogbo lati mu ohun elo wa si agbọrọsọ ni orilẹ-ede miiran, ṣugbọn jiṣẹ sọfitiwia si agbọrọsọ dabi rọrun ati igbẹkẹle diẹ sii.

Lati oju wiwo ohun elo, a ni nọmba kan ti awọn kamẹra (ni awọn ile-iṣere wa ati ni awọn agbohunsoke latọna jijin), nọmba kan ti awọn iṣakoso latọna jijin ninu ile-iṣere, eyiti o ni lati tunṣe nigbakan labẹ tabili lakoko igbohunsafefe naa.

Awọn ifihan agbara lati awọn ẹrọ wọnyi tẹ awọn kọnputa wọle pẹlu awọn kaadi gbigba, awọn kaadi igbewọle/jade, ati awọn kaadi ohun. Nibẹ awọn ifihan agbara ti wa ni idapo ati pejọ si awọn ifilelẹ:

Dagbasoke Syeed fidio kan ni awọn ọjọ 90
Apẹẹrẹ ti iṣeto fun awọn agbọrọsọ 4

Dagbasoke Syeed fidio kan ni awọn ọjọ 90
Apẹẹrẹ ti iṣeto fun awọn agbọrọsọ 4

Siwaju sii, a pese igbohunsafefe lemọlemọfún pẹlu iranlọwọ ti awọn kọnputa mẹta: ẹrọ akọkọ kan wa ati awọn meji ti n ṣiṣẹ ni titan. Kọmputa akọkọ gba ijabọ akọkọ, ekeji - isinmi, akọkọ - ijabọ atẹle, keji - isinmi atẹle, ati bẹbẹ lọ. Ati ẹrọ akọkọ dapọ akọkọ pẹlu keji.

Eyi ṣẹda iru onigun mẹta kan, ati pe ti eyikeyi ninu awọn apa wọnyi ba kuna, a le yarayara ati laisi pipadanu didara tẹsiwaju lati fi akoonu ranṣẹ si awọn alabara. A ni iru ipo kan. Ni ọsẹ akọkọ ti awọn apejọ, a ṣe atunṣe ẹrọ kan, tan-an / pipa. Awọn eniyan dabi ẹni pe o ni inudidun pẹlu isọdọtun wa.

Nigbamii ti, awọn ṣiṣan lati awọn kọnputa lọ si olupin agbegbe, eyiti o ni awọn iṣẹ-ṣiṣe meji: ipa ọna awọn ṣiṣan RTMP ati awọn igbasilẹ igbasilẹ. Nitorinaa a ni awọn aaye gbigbasilẹ pupọ. Awọn ṣiṣan fidio lẹhinna ranṣẹ si apakan ti eto wa ti a ṣe lori awọn iṣẹ Amazon SaaS. A nlo MediaLive:,S3,CloudFront.

Nikolay: Kí ló ṣẹlẹ̀ níbẹ̀ kí fídíò náà tó dé ọ̀dọ̀ àwùjọ? O ni lati ge o bakan, otun?

Artyom: A compress fidio ni apakan wa ati firanṣẹ si MediaLive. A ṣe ifilọlẹ transcoders nibẹ. Wọn ṣe iyipada awọn fidio ni akoko gidi sinu ọpọlọpọ awọn ipinnu ki eniyan le wo wọn lori awọn foonu wọn, nipasẹ Intanẹẹti ti ko dara ni orilẹ-ede, ati bẹbẹ lọ. Lẹhinna a ge awọn ṣiṣan wọnyi sinu chunks, Eyi ni bi ilana naa ṣe n ṣiṣẹ HLS. A fi akojọ orin ranṣẹ si iwaju ti o ni awọn itọka si awọn ege wọnyi.

- Njẹ a nlo ipinnu 1080p bi?

Artyom: Iwọn ti fidio wa jẹ kanna bi 1080p - 1920 awọn piksẹli, ati pe giga jẹ kekere diẹ, aworan naa jẹ elongated diẹ sii - awọn idi wa fun eyi.

Ẹrọ orin

- Artyom ṣe apejuwe bi fidio ṣe n wọle sinu awọn ṣiṣan, bawo ni o ṣe pin si awọn akojọ orin oriṣiriṣi fun awọn ipinnu iboju oriṣiriṣi, ge sinu awọn ege ati ki o wọle sinu ẹrọ orin. Kolya, ni bayi sọ fun mi iru oṣere wo ni eyi jẹ, bawo ni o ṣe gba ṣiṣan naa, kilode HLS?

Nikolay: A ni ẹrọ orin kan ti gbogbo awọn oluwo apejọ le wo.

Dagbasoke Syeed fidio kan ni awọn ọjọ 90

Ni pataki, eyi jẹ murasilẹ ni ayika ile-ikawe naa hls.js, lori eyiti ọpọlọpọ awọn ẹrọ orin miiran ti kọ. Ṣugbọn a nilo iṣẹ ṣiṣe kan pato: yiyi pada ati samisi ibi ti eniyan wa, ijabọ wo ni o nwo lọwọlọwọ. A tun nilo awọn ipalemo tiwa, gbogbo iru awọn aami ati ohun gbogbo miiran ti a ṣe sinu pẹlu wa. Nitorinaa, a pinnu lati kọ ile-ikawe tiwa (apapọ lori HLS) ati fi sii lori aaye naa.

Eyi ni iṣẹ ṣiṣe root, nitorinaa o ti ṣe imuse ni akọkọ. Ati lẹhinna ohun gbogbo dagba ni ayika rẹ.

Ni otitọ, nipasẹ aṣẹ, ẹrọ orin gba lati ẹhin akojọ orin kan pẹlu awọn ọna asopọ si awọn chunks ti o ni ibatan pẹlu akoko ati didara, ṣe igbasilẹ awọn ti o ṣe pataki ati ṣafihan wọn si olumulo, ṣiṣe diẹ ninu awọn “idan” ni ọna.

Dagbasoke Syeed fidio kan ni awọn ọjọ 90
Apeere Ago

- Bọtini kan ti kọ ọtun sinu ẹrọ orin lati ṣafihan aago kan ti gbogbo awọn ijabọ…

Nikolay: Bẹẹni, a lẹsẹkẹsẹ yanju iṣoro ti lilọ kiri olumulo. Ni aarin-Kẹrin, a pinnu pe a ko ni gbejade ọkọọkan awọn apejọ wa lori oju opo wẹẹbu lọtọ, ṣugbọn yoo darapọ ohun gbogbo lori ọkan. Nitorinaa awọn olumulo tikẹti Pass ni kikun le yipada larọwọto laarin awọn apejọ oriṣiriṣi: mejeeji awọn igbesafefe ifiwe ati awọn gbigbasilẹ ti awọn ti o kọja.

Ati lati jẹ ki o rọrun fun awọn olumulo lati lilö kiri ni ṣiṣan lọwọlọwọ ati yipada laarin awọn orin, a pinnu lati ṣe bọtini “Gbogbo igbohunsafefe” ati awọn kaadi ijabọ petele fun yiyi laarin awọn orin ati awọn ijabọ. Iṣakoso keyboard wa.

— Njẹ awọn iṣoro imọ-ẹrọ eyikeyi wa pẹlu eyi?

Nikolay: Wọ́n ní ọ̀pá àkájọ ìwé lórí èyí tí wọ́n ti sàmì sí ibi tí oríṣiríṣi ìròyìn ti bẹ̀rẹ̀.

- Ni ipari, ṣe o ṣe awọn ami wọnyi lori ọpa yiyi ṣaaju ki YouTube ṣe nkan ti o jọra?

Artyom: Wọn ni ni beta lẹhinna. O dabi pe eyi jẹ ẹya eka ti o lẹwa nitori wọn ti ṣe idanwo ni apakan pẹlu awọn olumulo ni ọdun to kọja. Ati nisisiyi o ti de tita.

Nikolay: Ṣugbọn a ni otitọ fun tita ni iyara. Nitootọ, lẹhin ẹya ti o rọrun yii ni iye nla ti ẹhin, iwaju iwaju, awọn iṣiro ati iṣiro inu ẹrọ orin naa.

Software ti o pese atọkun si eto miiran

— Jẹ ki a ro ero bawo ni akoonu ti a fihan (kaadi ọrọ, awọn agbọrọsọ, oju opo wẹẹbu, iṣeto) ṣe de opin iwaju?

Vladimir Krasilshchik: A ni ọpọlọpọ awọn ọna ṣiṣe IT inu. Eto kan wa ninu eyiti gbogbo awọn ijabọ ati gbogbo awọn agbohunsoke ti wa ni titẹ sii. Ilana kan wa nipa eyiti agbọrọsọ kan gba apakan ninu apejọ kan. Agbọrọsọ fi ohun elo kan silẹ, eto naa gba rẹ, lẹhinna opo gigun kan wa ni ibamu si eyiti a ṣẹda ijabọ naa.

Dagbasoke Syeed fidio kan ni awọn ọjọ 90
Eyi ni bi agbọrọsọ ṣe rii opo gigun ti epo

Eto yii jẹ idagbasoke inu wa.

Nigbamii ti, o nilo lati kọ iṣeto kan lati awọn ijabọ kọọkan. Bi o ṣe mọ, eyi jẹ iṣoro NP-lile, ṣugbọn a yanju bakan. Lati ṣe eyi, a ṣe ifilọlẹ paati miiran ti o ṣe ipilẹṣẹ iṣeto ati gbejade si Iṣẹ Awọsanma ẹni-kẹta Akoonu. Nibẹ, ohun gbogbo dabi tabili ninu eyiti awọn ọjọ ti apejọ wa, ni awọn ọjọ wa awọn akoko akoko, ati ninu awọn iho awọn ijabọ, awọn isinmi tabi awọn iṣẹ igbowo. Nitorinaa akoonu ti a rii wa ni iṣẹ ẹnikẹta. Ati pe iṣẹ-ṣiṣe ni lati firanṣẹ si aaye naa.

O yoo dabi wipe ojula jẹ o kan kan iwe pẹlu a player, ati nibẹ ni ohunkohun idiju nibi. Ayafi kii ṣe. Ẹhin lẹhin oju-iwe yii lọ si Akoonu, gba iṣeto lati ibẹ, ṣe ipilẹṣẹ diẹ ninu awọn nkan ati firanṣẹ si iwaju. Lilo asopọ websocket kan, eyiti gbogbo alabara ti pẹpẹ wa ṣe, a fi imudojuiwọn ranṣẹ si iṣeto lati ẹhin si iwaju.

Ọran gidi: agbọrọsọ yipada awọn iṣẹ ni ọtun lakoko apejọ naa. A nilo lati yi baaji ile-iṣẹ agbanisiṣẹ rẹ pada. Bawo ni eyi ṣe ṣẹlẹ lati ẹhin? Imudojuiwọn kan ranṣẹ si gbogbo awọn alabara nipasẹ websocket, ati lẹhinna frontend funrararẹ ṣe atunṣe aago naa. Gbogbo eyi n ṣẹlẹ lainidi. Ijọpọ ti iṣẹ awọsanma ati ọpọlọpọ awọn paati wa fun wa ni aye lati ṣe agbejade gbogbo akoonu yii ati pese si iwaju.

Nikolay: O ṣe pataki lati ṣalaye nibi pe aaye wa kii ṣe ohun elo SPA Ayebaye. Eyi jẹ mejeeji ti o da lori ipilẹ, oju opo wẹẹbu ti a ṣe ati SPA kan. Google n wo oju opo wẹẹbu yii gangan bi HTML ti a ṣe. Eyi dara fun SEO ati fun jiṣẹ akoonu si olumulo. Ko duro fun 1,5 megabytes ti JavaScript lati fifuye ṣaaju ki o to ri oju-iwe naa, lẹsẹkẹsẹ o rii oju-iwe ti o ti ṣe tẹlẹ, ati pe o lero rẹ ni gbogbo igba ti o ba yipada iroyin naa. Ohun gbogbo n ṣẹlẹ ni idaji iṣẹju-aaya, nitori akoonu ti ṣetan ati firanṣẹ ni aye to tọ.

- Jẹ ki a fa laini labẹ gbogbo awọn ti o wa loke nipa kikojọ awọn imọ-ẹrọ. Tyoma sọ ​​pe a ni awọn ṣiṣan Amazon 5, ati pe a fi fidio ati ohun ranṣẹ sibẹ. A ni awọn iwe afọwọkọ bash nibẹ, a lo wọn lati ṣe ifilọlẹ ati tunto…

Artyom: Eyi ṣẹlẹ nipasẹ API AWS, ọpọlọpọ awọn iṣẹ ẹgbẹ imọ-ẹrọ diẹ sii wa nibẹ. A pin wa ojuse ki emi ki o fi si CloudFront, ati iwaju-opin ati awọn olupilẹṣẹ opin-ipari mu lati ibẹ. A ni nọmba kan ti awọn abuda tiwa lati jẹ ki iṣeto akoonu rọrun, eyiti a ṣe lẹhinna ni 4K, ati bẹbẹ lọ. Niwọn igba ti awọn akoko ipari ti ṣoro pupọ, a ṣe o fẹrẹẹ patapata lori AWS.

- Lẹhinna gbogbo eyi lọ sinu ẹrọ orin nipa lilo eto ẹhin. A ni TypeScript, React, Next.JS ninu ẹrọ orin wa. Ati lori backend a ni orisirisi awọn iṣẹ ni C #, Java, Orisun omi Boot ati Node.js. Eyi ni gbogbo ransogun nipa lilo Kubernetes nipa lilo awọn amayederun Yandex.Cloud.

Mo tun fẹ lati ṣe akiyesi pe nigbati mo nilo lati ni oye pẹlu pẹpẹ, o wa ni irọrun: gbogbo awọn ibi ipamọ wa lori GitLab, ohun gbogbo ni orukọ daradara, awọn idanwo ti kọ, iwe wa. Iyẹn ni, paapaa ni ipo pajawiri, wọn ṣe abojuto iru awọn nkan bẹẹ.

Awọn ihamọ Iṣowo ati Awọn atupale

- A ṣe ifọkansi awọn olumulo 10 da lori awọn ibeere iṣowo. O to akoko lati sọrọ nipa awọn ihamọ iṣowo ti a ni. A ni lati rii daju iṣẹ ṣiṣe giga, rii daju ibamu pẹlu ofin lori titọju data ti ara ẹni. Ati kini ohun miiran?

Nikolay: Ni ibẹrẹ, a bẹrẹ lati awọn ibeere fidio. Ohun pataki julọ ni pinpin ibi ipamọ fidio ni ayika agbaye fun ifijiṣẹ yarayara si alabara. Awọn miiran pẹlu ipinnu 1080p, bakanna bi pada sẹhin, eyiti ọpọlọpọ awọn miiran ko ṣe ni ipo ifiwe. Nigbamii a ṣafikun agbara lati mu iyara 2x ṣiṣẹ, pẹlu iranlọwọ rẹ o le “mu” pẹlu ifiwe ati tẹsiwaju lati wo apejọ naa ni akoko gidi. Ati ni ọna, iṣẹ ṣiṣe isamisi aago han. Pẹlupẹlu, a ni lati jẹ ifarada-aṣiṣe ati ki o koju ẹru ti awọn asopọ 10. Lati oju wiwo ẹhin, eyi jẹ isunmọ awọn asopọ 000 ti o pọ nipasẹ awọn ibeere 10 fun isọdọtun oju-iwe kọọkan. Ati pe eyi ti jẹ 000 RPS / iṣẹju-aaya. Oyimbo kan bit ti.

— Njẹ awọn ibeere miiran wa fun “ifihan foju” pẹlu awọn iduro ori ayelujara ti awọn alabaṣepọ?

Nikolay: Bẹẹni, eyi ni lati ṣee ṣe ni iyara ati ni gbogbo agbaye. A ni awọn ile-iṣẹ alabaṣepọ 10 fun apejọ kọọkan, ati pe gbogbo wọn ni lati pari ni ọsẹ kan tabi meji. Sibẹsibẹ, akoonu wọn yatọ diẹ ni ọna kika. Ṣugbọn ẹrọ awoṣe kan ni a ṣe ti o ṣajọpọ awọn oju-iwe wọnyi lori fifo, laisi ikopa idagbasoke siwaju sii.

- Awọn ibeere tun wa fun awọn atupale ti awọn iwo akoko gidi ati awọn iṣiro. Mo mọ pe a lo Prometheus fun eyi, ṣugbọn sọ fun wa ni alaye diẹ sii: awọn ibeere wo ni a pade fun awọn itupalẹ, ati bawo ni a ṣe ṣe imuse yii?

Nikolay: Ni ibẹrẹ, a ni awọn ibeere titaja fun gbigba fun idanwo A/B ati gbigba alaye lati ni oye bi o ṣe le fi akoonu to dara julọ ranṣẹ si alabara ni ọjọ iwaju. Awọn ibeere tun wa fun diẹ ninu awọn atupale lori awọn iṣẹ alabaṣepọ ati awọn atupale ti o rii (abẹwo counter). Gbogbo alaye ni a gba ni akoko gidi.

A le pese alaye yii ni ọna kika paapaa si awọn agbohunsoke: melo ni eniyan n wo ọ ni aaye kan ni akoko kan. Ni akoko kanna, lati ni ibamu pẹlu Federal Law 152, akọọlẹ ti ara ẹni ati data ti ara ẹni ko ni tọpinpin ni eyikeyi ọna.

Syeed ti ni awọn irinṣẹ titaja ati awọn metiriki wa fun wiwọn iṣẹ ṣiṣe olumulo ni akoko gidi (ẹniti o wo iru keji ti ijabọ naa) lati kọ awọn aworan wiwa si awọn ijabọ naa. Da lori data yii, a ṣe iwadii ti yoo jẹ ki awọn apejọ ti n bọ dara julọ.

Jegudujera

— Ṣe a ni egboogi-jegudujera siseto?

Nikolay: Nitori aaye akoko wiwọ lati oju-ọna iṣowo, iṣẹ naa ko ṣeto ni ibẹrẹ lati dènà awọn asopọ ti ko wulo lẹsẹkẹsẹ. Ti awọn olumulo meji ba wọle labẹ akọọlẹ kanna, wọn le wo akoonu naa. Ṣugbọn a mọ iye awọn iwo igbakana ti o wa lati akọọlẹ kan. Ati awọn ti a gbesele orisirisi paapa irira violators.

Irina: Si kirẹditi rẹ, ọkan ninu awọn olumulo ti a gbesele loye idi ti eyi fi ṣẹlẹ. O wa, o tọrọ gafara o si ṣe ileri lati ra tikẹti kan.

- Fun gbogbo eyi lati ṣẹlẹ, o gbọdọ wa kakiri gbogbo awọn olumulo lati iwọle si ijade, nigbagbogbo mọ ohun ti wọn nṣe. Bawo ni eto yii ṣe n ṣiṣẹ?

Irina: Emi yoo fẹ lati sọrọ nipa awọn atupale ati awọn iṣiro, eyiti a ṣe itupalẹ lẹhinna fun aṣeyọri ti ijabọ naa tabi le lẹhinna pese si awọn alabaṣiṣẹpọ. Gbogbo awọn alabara ni asopọ nipasẹ asopọ oju opo wẹẹbu si iṣupọ ẹhin kan pato. O duro nibẹ Hazelcast. Onibara kọọkan ni akoko kọọkan firanṣẹ ohun ti o n ṣe ati orin wo ti o nwo. Lẹhinna alaye yii jẹ akojọpọ nipa lilo awọn iṣẹ Hazelcast iyara ati firanṣẹ pada si gbogbo eniyan ti o wo awọn orin wọnyi. A rii ni igun bi ọpọlọpọ eniyan wa pẹlu wa bayi.

Dagbasoke Syeed fidio kan ni awọn ọjọ 90

Alaye kanna ti wa ni ipamọ Mongo o si lọ si adagun data wa, lati eyiti a ni aye lati kọ ayaworan ti o nifẹ diẹ sii. Ibeere naa waye: melo ni awọn olumulo alailẹgbẹ wo ijabọ yii? A lọ si Awọn ifiweranṣẹ, awọn pings wa ti gbogbo eniyan ti o wa nipasẹ id ti ijabọ yii. A kojọpọ, ṣajọpọ awọn alailẹgbẹ, ati ni bayi a le loye.

Nikolay: Ṣugbọn ni akoko kanna, a tun gba data akoko gidi lati Prometheus. O ti ṣeto lodi si gbogbo awọn iṣẹ Kubernetes, lodi si Kubernetes funrararẹ. O gba ohun gbogbo ni pipe, ati pẹlu Grafana a le kọ eyikeyi awọn aworan ni akoko gidi.

Irina: Ni apa kan, a ṣe igbasilẹ eyi fun sisẹ OLAP siwaju. Ati fun OLTP, ohun elo naa ṣe igbasilẹ gbogbo nkan si Prometheus, Grafana ati awọn aworan paapaa pejọ!

- Eleyi jẹ awọn ọran nigbati awọn aworan converge.

Yiyipo Ayipada

- Sọ fun wa bawo ni awọn ayipada ti o ni agbara ṣe ṣe jade: ti ijabọ naa ba ti fagile ni iṣẹju mẹfa ṣaaju ibẹrẹ, kini pq awọn iṣe? Iru opo gigun ti epo wo ni o ṣiṣẹ?

Irina: Opo opo gigun ti epo jẹ ipo pupọ. Orisirisi awọn ti o ṣeeṣe. Ohun akọkọ ni pe eto iran iṣeto ṣiṣẹ ati yi iṣeto naa pada. Iṣeto ti a ṣe atunṣe ti gbejade si Akoonu. Lẹhin eyi ti ẹhin naa loye pe awọn ayipada wa fun apejọ yii ni Akoonu, gba ati tun ṣe. Ohun gbogbo ni a gba ati firanṣẹ nipasẹ websocket.

O ṣeeṣe keji, nigbati ohun gbogbo ba ṣẹlẹ ni iyara fifọ: olootu pẹlu ọwọ yi alaye naa pada ni Akoonu (ọna asopọ si Telegram, igbejade agbọrọsọ, bbl) ati ọgbọn kanna ṣiṣẹ bi igba akọkọ.

Nikolay: Ohun gbogbo n ṣẹlẹ laisi onitura oju-iwe naa. Gbogbo awọn ayipada waye Egba laisiyonu fun alabara. Kanna n lọ fun yi pada awọn iroyin. Nigbati akoko ba de, ijabọ ati wiwo yipada.

Irina: Pẹlupẹlu, awọn gige akoko wa fun ibẹrẹ awọn ijabọ ni akoko aago. Ni ibere pepe ko si nkankan. Ati pe ti o ba npa asin rẹ lori ṣiṣan pupa, lẹhinna ni aaye kan, o ṣeun si oludari igbohunsafefe, awọn gige yoo han. Oludari naa ṣeto ibẹrẹ ti o tọ ti igbohunsafefe naa, ẹhin ẹhin gbe iyipada yii, ṣe iṣiro ibẹrẹ ati awọn akoko ipari ti gbogbo awọn ifarahan orin ni ibamu pẹlu iṣeto apejọ, firanṣẹ si awọn onibara wa, ati pe ẹrọ orin fa awọn gige. Bayi olumulo le ni rọọrun lilö kiri si ibẹrẹ ati opin ijabọ naa. O jẹ ibeere iṣowo ti o muna, rọrun pupọ ati iwulo. Iwọ ko padanu akoko wiwa akoko ibẹrẹ gangan fun ijabọ naa. Ati pe nigba ti a ba ṣe awotẹlẹ, yoo jẹ iyalẹnu gaan.

Ifiranṣẹ

— Emi yoo fẹ lati beere nipa imuṣiṣẹ. Kolya ati ẹgbẹ naa lo akoko pupọ ni ibẹrẹ lati ṣeto gbogbo awọn amayederun ninu eyiti ohun gbogbo n ṣalaye fun wa. Sọ fun mi, kini gbogbo rẹ ṣe?

Nikolay: Lati oju-ọna imọ-ẹrọ, a ni ibere ni ibẹrẹ fun ọja lati jẹ áljẹbrà bi o ti ṣee ṣe lati ọdọ eyikeyi olutaja. Wa si AWS lati ṣe awọn iwe afọwọkọ Terraform pataki lati AWS, tabi pataki lati Yandex, tabi lati Azure, ati bẹbẹ lọ. ko dada gaan. A ni lati gbe ibikan ni aaye kan.

Fun ọsẹ mẹta akọkọ a n wa ọna nigbagbogbo lati ṣe eyi dara julọ. Bi abajade, a wa si ipari pe Kubernetes ninu ọran yii jẹ ohun gbogbo wa, nitori pe o gba wa laaye lati ṣẹda awọn iṣẹ-iwọn-iwọn-laifọwọyi, yiyi-laifọwọyi, ati gba gbogbo awọn iṣẹ kuro ninu apoti. Nipa ti ara, gbogbo awọn iṣẹ ni lati ni ikẹkọ lati ṣiṣẹ pẹlu Kubernetes, Docker, ati pe ẹgbẹ naa ni lati kọ ẹkọ paapaa.

A ni awọn iṣupọ meji. Idanwo ati gbóògì. Wọn jẹ aami kanna ni awọn ofin ti hardware ati eto. A ṣe awọn amayederun bi koodu. Gbogbo awọn iṣẹ ti wa ni yiyi laifọwọyi si awọn agbegbe mẹta lati awọn ẹka ẹya, awọn ẹka titunto si, awọn ẹka idanwo, ati GitLab nipa lilo opo gigun ti epo laifọwọyi. Eyi ni a ṣepọ pọ si GitLab, ti o pọ julọ pẹlu Elastic, Prometheus.

A gba aye lati yarayara (fun ẹhin laarin iṣẹju mẹwa 10, fun iwaju iwaju laarin awọn iṣẹju 5) yipo awọn ayipada si eyikeyi agbegbe pẹlu gbogbo awọn idanwo, awọn akojọpọ, awọn idanwo iṣẹ ṣiṣe, awọn idanwo isọpọ lori agbegbe, ati tun ṣe idanwo pẹlu awọn idanwo fifuye lori agbegbe idanwo kan to nkan kanna ti a fẹ lati gba ni iṣelọpọ.

Nipa awọn idanwo

— O fẹrẹ ṣe idanwo ohun gbogbo, o nira lati gbagbọ bi o ṣe kọ ohun gbogbo. Ṣe o le sọ fun wa nipa awọn idanwo ẹhin: melo ni ohun gbogbo ti bo, awọn idanwo wo?

Irina: Awọn iru idanwo meji ni a ti kọ. Awọn akọkọ jẹ awọn idanwo paati. Awọn idanwo ipele gbigbe ti gbogbo ohun elo orisun omi ati ipilẹ ni Awọn apoti idanwo. Eyi jẹ idanwo ti awọn oju iṣẹlẹ iṣowo ipele ti o ga julọ. Emi ko ṣe idanwo awọn iṣẹ. A nikan ṣe idanwo diẹ ninu awọn ohun nla. Fún àpẹrẹ, ní tààràtà nínú ìdánwò náà, ìlànà wíwọlé sí aṣàmúlò ni a fara wé, ìbéèrè oníṣe fún tikẹti sí ibi tí ó ti lè lọ, àti ìbéèrè fún iraye si wo ṣiṣan naa. Awọn oju iṣẹlẹ olumulo ti o han gedegbe.

Ni isunmọ ohun kanna ni a ṣe imuse ni ohun ti a pe ni awọn idanwo isọpọ, eyiti o ṣiṣẹ gangan lori ayika. Ni otitọ, nigbati imuṣiṣẹ atẹle ni iṣelọpọ ti yiyi, awọn oju iṣẹlẹ ipilẹ gidi tun nṣiṣẹ ni iṣelọpọ. Wiwọle kanna, awọn tikẹti ti n beere, n beere iraye si CloudFront, ṣayẹwo pe ṣiṣan naa sopọ gaan pẹlu awọn igbanilaaye mi, ṣayẹwo wiwo oludari naa.

Ni akoko Mo ni nipa awọn idanwo paati 70 ati nipa awọn idanwo isọpọ 40 lori ọkọ. Ideri jẹ isunmọ pupọ si 95%. Eyi jẹ fun awọn paati, kere si fun awọn isọpọ, nìkan ko nilo pupọ. Ṣiyesi pe iṣẹ akanṣe pẹlu gbogbo iru iran koodu, eyi jẹ afihan ti o dara pupọ. Ko si ọna miiran lati ṣe ohun ti a ṣe ni oṣu mẹta. Nitoripe ti a ba ṣe idanwo pẹlu ọwọ, fifun awọn ẹya si oludanwo wa, ati pe yoo wa awọn idun ati da wọn pada si wa fun awọn atunṣe, lẹhinna irin-ajo iyipo yii lati ṣatunṣe koodu naa yoo pẹ pupọ, ati pe a ko ni pade awọn akoko ipari eyikeyi.

Nikolay: Ni aṣa, lati ṣe ipadasẹhin lori gbogbo pẹpẹ nigbati o ba yipada iṣẹ kan, o nilo lati joko ati ki o dun nibi gbogbo fun ọjọ meji.

Irina: Nitorinaa, o jẹ aṣeyọri nla pe nigbati Mo ṣe iṣiro ẹya kan, Mo sọ pe Mo nilo awọn ọjọ 4 fun awọn aaye ti o rọrun meji ati oju opo wẹẹbu 1, Kolya gba laaye. O ti mọ tẹlẹ si otitọ pe awọn ọjọ 4 wọnyi pẹlu awọn iru idanwo 2, ati lẹhinna, o ṣee ṣe, yoo ṣiṣẹ.

Nikolay: Mo tun ni awọn idanwo 140 ti a kọ: paati + iṣẹ-ṣiṣe, eyiti o ṣe ohun kanna. Gbogbo awọn oju iṣẹlẹ kanna ni idanwo ni iṣelọpọ, ni idanwo, ati ni iṣelọpọ. A tun ṣafikun awọn idanwo UI ipilẹ iṣẹ ṣiṣe laipẹ. Ni ọna yii a bo iṣẹ ṣiṣe ipilẹ julọ ti o le ṣubu.

Irina: Dajudaju, o tọ lati sọrọ nipa awọn idanwo fifuye. O jẹ dandan lati ṣe idanwo pẹpẹ ti o wa labẹ ẹru ti o sunmọ ti gidi lati ni oye bi ohun gbogbo ṣe jẹ, kini o ṣẹlẹ pẹlu Ehoro, kini o ṣẹlẹ pẹlu awọn JVM, iye iranti ni a nilo.

- Emi ko mọ daju boya a n ṣe idanwo ohunkohun ni ẹgbẹ ṣiṣan, ṣugbọn Mo ranti pe awọn iṣoro wa pẹlu awọn transcoders nigba ti a ṣe awọn ipade. Njẹ a ti ṣe idanwo awọn ṣiṣan?

Artyom: Idanwo leralera. Ṣiṣeto awọn ipade. Ninu ilana ti siseto awọn ipade, awọn tikẹti JIRA 2300 wa. Awọn wọnyi ni o kan jeneriki ohun ti eniyan ṣe lati ṣe meetups. A mu awọn apakan ti pẹpẹ naa sori oju-iwe ọtọtọ fun awọn ipade, eyiti Kirill Tolkachev ti ṣe (sọrọkv).

Lati so ooto, ko si isoro nla. Ni ọrọ gangan awọn igba meji ti a mu awọn idun caching lori CloudFront, a yanju ni iyara pupọ - a tun ṣe atunto awọn eto imulo. Awọn idun pupọ diẹ sii wa ninu awọn eniyan, ninu awọn eto ṣiṣanwọle lori aaye naa.

Lakoko awọn apejọpọ, Mo ni lati kọ ọpọlọpọ awọn alataja diẹ sii lati le bo awọn ohun elo ati iṣẹ diẹ sii. Ní àwọn ibì kan, mo ní láti ṣe àwọn kẹ̀kẹ́ ara mi kìkì nítorí àwọn òṣùwọ̀n díwọ̀n. Aye ti ohun elo AV (fidio-fidio) ko rosy pupọ - o ni iru “API” ti ohun elo ti o ko le ni ipa. Ati pe o jina si otitọ pe iwọ yoo ni anfani lati gba alaye ti o nilo. Awọn olutaja ohun elo jẹ o lọra gaan, ati pe ko ṣee ṣe lati gba ohun ti o fẹ lati ọdọ wọn. Ni lapapọ nibẹ ni o wa siwaju sii ju 100 ege hardware, won ko ba ko fun pada ohun ti o nilo, ati awọn ti o kọ ajeji ati laiṣe atajasita, o ṣeun re eyi ti o le ni o kere bakan yokokoro eto.

Awọn ohun elo

— Mo ranti bii ṣaaju ibẹrẹ awọn apejọ a ti ra awọn ohun elo afikun ni apakan.

Artyom: A ra awọn kọnputa, kọǹpútà alágbèéká, ati awọn akopọ batiri. Ni akoko a le gbe laisi ina fun iṣẹju 40. Ni Oṣu Karun, awọn iji lile nla wa ni St. Ni akoko kanna, awọn olupese pupọ wa si wa pẹlu awọn ọna asopọ opiti lati awọn aaye oriṣiriṣi. Eleyi jẹ gan 40 iṣẹju ti ile downtime, nigba eyi ti a yoo ni awọn imọlẹ lori, ohun, awọn kamẹra, ati be be lo.

— A ni iru itan pẹlu Intanẹẹti. Nínú ọ́fíìsì tí àwọn ilé iṣẹ́ wa sí, a fa àwọ̀n ńlá kan sáàárín àwọn ilẹ̀ náà.

Artyom: A ni 20 Gbit ti okun laarin awọn ilẹ ipakà. Siwaju sii pẹlu awọn ilẹ ipakà, ibikan ni awọn opiti, ibikan ni ko si Optics, sugbon si tun nibẹ ni o wa díẹ awọn ikanni ju gigabit eyi - a ṣiṣe awọn fidio lori wọn laarin awọn orin ti awọn alapejọ. Ni gbogbogbo, o rọrun pupọ lati ṣiṣẹ lori awọn amayederun tirẹ; o le ṣọwọn ṣe eyi ni awọn apejọ aisinipo lori awọn aaye.

- Ṣaaju ki Mo ṣiṣẹ ni Ẹgbẹ JUG Ru, Mo rii bii awọn yara ohun elo ni awọn apejọ aisinipo ṣe ṣeto ni alẹ kan, nibiti atẹle nla wa pẹlu gbogbo awọn metiriki ti o kọ ni Grafana. Bayi yara ile-iṣẹ tun wa ninu eyiti ẹgbẹ idagbasoke joko, eyiti lakoko apejọ n ṣatunṣe diẹ ninu awọn idun ati idagbasoke awọn ẹya. Ni akoko kanna, eto ibojuwo kan wa ti o han loju iboju nla kan. Artyom, Kolya ati awọn eniyan miiran joko ati rii daju pe gbogbo rẹ ko ṣubu ati ṣiṣẹ ni ẹwa.

Curiosities ati isoro

- O sọrọ daradara nipa otitọ pe a ni ṣiṣanwọle pẹlu Amazon, ẹrọ orin kan wa pẹlu oju opo wẹẹbu, ohun gbogbo ni a kọ ni awọn ede siseto oriṣiriṣi, ifarada ẹbi ati awọn ibeere iṣowo miiran ti pese, pẹlu akọọlẹ ti ara ẹni ti o ṣe atilẹyin fun awọn ile-iṣẹ ofin ati kọọkan, ati awọn ti a le ṣepọ pẹlu ẹnikan lilo OAuth 2.0, nibẹ ni egboogi-jegudujera, olumulo ìdènà. A le yipo awọn ayipada ni agbara nitori a ṣe daradara, ati pe gbogbo rẹ ni idanwo.

Mo nifẹ lati mọ kini awọn aiṣedeede ti o jẹ ninu bibẹrẹ nkan. Njẹ awọn ipo ajeji eyikeyi wa nigbati o n ṣe idagbasoke ẹhin, iwaju iwaju, ohun irikuri ti jade ati pe o ko loye kini lati ṣe pẹlu rẹ?

Irina: O dabi fun mi pe eyi ti ṣẹlẹ nikan ni oṣu mẹta sẹhin. Lojojumo. Bi o ti le ri, gbogbo irun mi ni a ti fa jade.

Dagbasoke Syeed fidio kan ni awọn ọjọ 90
Vladimir Krasilshchik lẹhin osu 3, nigbati iru ere kan ba jade ati pe ko si ẹnikan ti o loye kini lati ṣe pẹlu rẹ

Ni gbogbo ọjọ iru nkan bayi wa, nigbati iru akoko kan wa nigbati o mu u ti o ya irun ori rẹ, tabi mọ pe ko si ẹlomiran, ati pe iwọ nikan ni o le ṣe. Iṣẹlẹ nla akọkọ wa ni TechTrain. Ni Oṣu kẹfa ọjọ 6 ni 2 owurọ a ko tii yipo agbegbe iṣelọpọ, Kolya n yi jade. Ati pe akọọlẹ ti ara ẹni ko ṣiṣẹ bi olupin aṣẹ ni lilo OAuth2.0. A yipada si olupese OAuth2.0 lati so pẹpẹ pọ mọ. Mo ti ṣiṣẹ fun boya awọn wakati 18 taara, Mo wo kọnputa naa ko rii ohunkohun, Emi ko loye idi ti ko ṣiṣẹ, ati Kolya wo koodu mi latọna jijin, wa kokoro kan ni iṣeto orisun omi. , ri o, ati awọn LC sise, ati ni gbóògì ju.

Nikolay: Ati wakati kan ki o to TechTrain awọn Tu mu ibi.

Ọpọlọpọ awọn irawọ ti wa ni ibamu si ibi. A ni orire pupọ nitori a ni ẹgbẹ nla kan, ati pe gbogbo eniyan ni atilẹyin nipasẹ imọran ti ṣiṣe lori ayelujara. Gbogbo oṣu mẹta wọnyi ni a ṣe nipasẹ otitọ pe a “ṣe YouTube.” Emi ko gba ara mi laaye lati ya irun mi kuro, ṣugbọn sọ fun gbogbo eniyan pe ohun gbogbo yoo ṣiṣẹ, nitori ni otitọ, ohun gbogbo ti ṣe iṣiro ni igba pipẹ.

Nipa išẹ

— Ṣe o le sọ fun mi melo ni eniyan wa lori aaye lori orin kan? Njẹ awọn ọran iṣẹ eyikeyi wa bi?

Nikolay: Ko si awọn iṣoro iṣẹ, bi a ti sọ tẹlẹ. Nọmba ti o pọ julọ ti eniyan ti o lọ si ijabọ kan jẹ eniyan 1300, eyi wa lori Heisenbug.

— Njẹ awọn iṣoro eyikeyi wa pẹlu wiwo agbegbe? Ati pe o ṣee ṣe lati ni apejuwe imọ-ẹrọ pẹlu awọn aworan atọka ti bii gbogbo rẹ ṣe n ṣiṣẹ?

Nikolay: A yoo ṣe nkan kan nipa eyi nigbamii.

O le paapaa ṣatunṣe awọn ṣiṣan ni agbegbe. Ni kete ti awọn apejọ bẹrẹ, o rọrun paapaa, nitori awọn ṣiṣan iṣelọpọ ti han pe a le wo ni gbogbo igba.

Irina: Bi mo ṣe yeye rẹ, awọn olupilẹṣẹ iwaju-ipari ṣiṣẹ ni agbegbe pẹlu awọn ẹlẹgàn, ati lẹhinna, niwon akoko lati yi lọ si awọn devs ni iwaju tun jẹ kukuru (iṣẹju 5), ko si awọn iṣoro pẹlu ṣayẹwo ohun ti n lọ pẹlu awọn iwe-ẹri.

- Ohun gbogbo ni idanwo ati yokokoro, paapaa ni agbegbe. Eyi tumọ si pe a yoo kọ nkan kan pẹlu gbogbo awọn ẹya imọ-ẹrọ, fihan ọ, sọ ohun gbogbo fun ọ pẹlu awọn aworan atọka, bii o ṣe jẹ.

Irina: O le gba ati tun ṣe.

- Ni oṣu mẹta.

Abajade

- Ohun gbogbo ti a ṣapejuwe papọ dun dara, ni akiyesi pe ẹgbẹ kekere kan ṣe ni oṣu mẹta.

Nikolay: Ẹgbẹ nla kan kii yoo ṣe eyi. Ṣugbọn ẹgbẹ kekere ti eniyan ti o ni ibaraẹnisọrọ ni pẹkipẹki ati daradara pẹlu ara wọn ati pe o le wa si adehun kan le. Won ko ba ko ni eyikeyi itakora, awọn faaji ti a se ni ọjọ meji, ti a ti pari ati ki o ko kosi yi pada. Irọrun ti o muna pupọ wa ti awọn ibeere iṣowo ti nwọle ni awọn ofin ti ikojọpọ awọn ibeere ẹya ati awọn ayipada.

— Kini o wa ninu atokọ awọn iṣẹ-ṣiṣe siwaju sii nigbati awọn apejọ igba ooru ti waye tẹlẹ?

Nikolay: Fun apẹẹrẹ, kirediti. Awọn ila ti nrakò lori fidio, awọn agbejade ni awọn aaye diẹ ninu fidio da lori akoonu ti o han. Fun apẹẹrẹ, agbọrọsọ fẹ lati beere ibeere kan si awọn olugbọ, ati pe idibo kan han loju iboju, eyiti o pada si ẹhin ti o da lori awọn esi idibo si agbọrọsọ funrararẹ. Diẹ ninu iru iṣẹ ṣiṣe awujọ ni irisi awọn ayanfẹ, awọn ọkan, awọn idiyele ti ijabọ lakoko igbejade funrararẹ, ki o le fọwọsi esi ni akoko ti o tọ laisi idamu nigbamii nipasẹ awọn fọọmu esi. Ni ibẹrẹ bii eyi.

Ati pe o tun ṣafikun si gbogbo pẹpẹ, ayafi fun ṣiṣanwọle ati apejọ, tun ipo apejọ ifiweranṣẹ. Iwọnyi jẹ awọn akojọ orin (pẹlu eyiti awọn olumulo ṣakojọ), o ṣee ṣe akoonu lati awọn apejọ miiran ti o kọja, ti irẹpọ, aami, wiwọle si olumulo, ati tun wa fun wiwo lori oju opo wẹẹbu wa (ifiwe.jugru.org).

- Awọn eniyan, o ṣeun pupọ fun awọn idahun rẹ!

Ti laarin awọn oluka naa ba wa awọn ti o lọ si awọn apejọ igba ooru wa, jọwọ pin awọn iwunilori rẹ ti ẹrọ orin ati igbohunsafefe. Kini o rọrun, kini o binu, kini iwọ yoo fẹ lati rii ni ọjọ iwaju?

Ti o ba nifẹ si pẹpẹ ti o fẹ lati rii “ninu ogun”, a tun lo lẹẹkansi lori wa Igba Irẹdanu Ewe-igba otutu apero. Nibẹ ni o wa kan gbogbo ibiti o ti wọn, ki o wa ni fere esan ọkan ti o ni ọtun fun o.

orisun: www.habr.com

Fi ọrọìwòye kun