Mepụta ikpo okwu vidiyo n'ime ụbọchị 90

Mmiri a anyị hụrụ onwe anyị n'ọnọdụ obi ụtọ. N'ihi ọrịa na-efe efe, ọ bịara doo anya na ọgbakọ oge okpomọkụ anyị kwesịrị ibugharị n'ịntanetị. Na iji duzie ha n'ịntanetị nke ọma, ngwọta sọftụwia emebere adịchaghị mma maka anyị, anyị kwesịrị ide nke anyị. Ma anyị nwere ọnwa atọ ime nke a.

O doro anya na ọ bụ ọnwa atọ na-akpali akpali. Ma site n'èzí ọ pụtaghị kpamkpam: gịnị bụ ikpo okwu ogbako n'ịntanetị? Kedu akụkụ ọ nwere? Ya mere, na ikpeazụ nke oge okpomọkụ DevOops ogbako, ajụrụ m ndị na-ahụ maka ọrụ a:

  • Nikolay Molchanov - teknuzu director nke JUG Ru Group;
  • Vladimir Krasilshchik bụ onye mmemme Java pragmatic na-arụ ọrụ na azụ azụ (ị nwekwara ike ịhụ akụkọ ya na ogbako Java anyị);
  • Artyom Nikonov na-ahụ maka mgbasa ozi vidiyo anyị niile.

Site n'ụzọ, na nnọkọ n'oge mgbụsị akwụkwọ-oyi, anyị ga-eji ụdị dị mma nke otu ikpo okwu - ọtụtụ ndị na-agụ habra ka ga-abụ ndị ọrụ ya.

Mepụta ikpo okwu vidiyo n'ime ụbọchị 90

Foto zuru ezu

— Gịnị bụ ihe mejupụtara nke otu?

Nikolay Molchanov: Anyị nwere onye nyocha, onye na-emepụta ihe, onye na-anwale ihe, atọ n'ihu, na azụ azụ. Na, n'ezie, ọkachamara T-shaped!

- Kedu ka usoro ahụ si dị n'ozuzu?

Nikolay: Ruo etiti Maachị, anyị enweghị ihe ọ bụla dị njikere maka ịntanetị ma ọlị. Na Machị 15, carousel niile dị n'ịntanetị malitere ịgbagharị. Anyị na-edozi ọtụtụ ebe nchekwa, na-eme atụmatụ, atụle isi ihe owuwu ma mee ihe niile n'ime ọnwa atọ.

Nke a, n'ezie, gafere kpochapụwo nkebi nke atụmatụ, ije, atụmatụ nhọrọ, ịtụ vootu maka ndị atụmatụ, amụma maka ndị na atụmatụ, ha imewe, mmepe, ule. N'ihi ya, na June 6, anyị wepụrụ ihe niile na mmepụta. TechTrain. Enwere ụbọchị 90 maka ihe niile.

— Ànyị jisiri ike mezuo ihe anyị mere?

Nikolay: Ebe anyị na-esonye ugbu a na ogbako DevOops n'ịntanetị, ọ pụtara na ọ rụrụ ọrụ. Mụ onwe m na-etinye aka na isi ihe: M ga-eweta ndị ahịa ngwá ọrụ nke ha nwere ike iji mee ogbako n'ịntanetị.

Ihe ịma aka bụ nke a: nye anyị ngwa ọrụ anyị ga-eji gbasaa ọgbakọ anyị n'aka ndị na-eji tiketi.

E kewara atụmatụ niile n'ime usoro dị iche iche, yana atụmatụ niile (ihe dịka 30 zuru ụwa ọnụ) kewara na ngalaba anọ:

  • nke anyị ga-emerịrị (anyị enweghị ike ibi ndụ na-enweghị ha),
  • nke anyị ga-eme nke abụọ,
  • nke anyị agaghị eme,
  • na nke anyị agaghị eme, mgbe ọ bụla.

Anyị mere atụmatụ niile site na edemede abụọ mbụ.

- Amaara m na e kere ihe gbasara 600 JIRA. N'ime ọnwa atọ, ị mere 13 microservices, m na-eche na ọ bụghị naanị na Java ka edere ha. I jiri teknụzụ dị iche iche, ị nwere ụyọkọ Kubernetes abụọ na mpaghara nnweta atọ yana iyi 5 RTMP na Amazon.

Ka anyị leba anya ugbu a n'akụkụ nke ọ bụla nke usoro ahụ iche iche.

gụgharia

— Ka anyị malite na mgbe anyị nwere ihe onyonyo onyonyo, a na-ebufe ya na ụfọdụ ọrụ. Artyom, gwa anyị ka nkwanye ugwu a si eme?

Artyom Nikonov: Atụmatụ izugbe anyị dị ka nke a: onyonyo sitere na igwefoto -> ụlọ njikwa anyị -> sava RTMP mpaghara -> Amazon -> ihe ọkpụkpọ vidiyo. Nkọwa ndị ọzọ dere banyere ya na Habré na June.

N'ozuzu, enwere ụzọ abụọ zuru ụwa ọnụ iji mee nke a: na ngwaike ma ọ bụ dabere na ngwọta ngwanrọ. Anyị họọrọ ụzọ ngwanrọ n'ihi na ọ dị mfe n'ihe gbasara ndị na-ekwu okwu n'ime obodo. Ọ bụghị mgbe niile ka ọ ga-ekwe omume iweta ngwaike na ọkà okwu na mba ọzọ, mana ibuga ngwanrọ na ọkà okwu yiri ka ọ dị mfe ma bụrụ nke a pụrụ ịdabere na ya.

Site na echiche ngwaike, anyị nwere ụfọdụ igwefoto (na ụlọ ọrụ anyị na ndị na-ekwu okwu n'ime ime obodo), ọnụ ọgụgụ ụfọdụ nke njikwa anya na studio, nke a na-arụzi mgbe ụfọdụ n'okpuru tebụl n'oge mgbasa ozi.

Mgbama sitere na ngwaọrụ ndị a na-abanye na kọmputa nwere kaadị njide, kaadị ntinye/mpụta, na kaadị ụda. N'ebe ahụ ka a na-agwakọta akara ndị ahụ ma chịkọta ha n'ime nhazi:

Mepụta ikpo okwu vidiyo n'ime ụbọchị 90
Ọmụmaatụ nke okirikiri nhọrọ ukwuu maka 4 ọkà okwu

Mepụta ikpo okwu vidiyo n'ime ụbọchị 90
Ọmụmaatụ nke okirikiri nhọrọ ukwuu maka 4 ọkà okwu

Ọzọkwa, a na-enye mgbasa ozi na-aga n'ihu site n'enyemaka nke kọmputa atọ: enwere otu igwe isi na otu ụzọ na-arụ ọrụ n'aka nke ya. Kọmputa nke mbụ na-anakọta akụkọ mbụ, nke abụọ - nkwụsịtụ, nke mbụ - akụkọ na-esote, nke abụọ - nkwụsịtụ ọzọ, na ihe ndị ọzọ. Na isi igwe na-agwakọta nke mbụ na nke abụọ.

Nke a na-emepụta ụdị triangle, ma ọ bụrụ na nke ọ bụla n'ime oghere ndị a daa, anyị nwere ike ngwa ngwa na-enweghị nkwụsị nke àgwà na-aga n'ihu na-ebuga ndị ahịa ọdịnaya. Anyị nwere ọnọdụ dị otú ahụ. N'ime izu mbụ nke ọgbakọ, anyị doziri otu igwe, gbanye / gbanyụọ. Ọ dị ka ndị mmadụ na-enwe obi ụtọ na nkwụghachi anyị.

Na-esote, iyi sitere na kọmputa na-aga na ihe nkesa mpaghara, nke nwere ọrụ abụọ: ụzọ iyi RTMP na ndekọ ndabere. Ya mere, anyị nwere ọtụtụ ihe ndekọ. A na-ezigazi iyi vidiyo na akụkụ nke sistemụ anyị wuru na ọrụ Amazon SaaS. Anyị na-eji MediaLive, S3, CloudFront.

Nikolay: Gịnị na-eme n’ebe ahụ tupu vidio a erute ndị na-ege ntị? Ị ga-ebipụ ya n'ụzọ ụfọdụ, nri?

Artyom: Anyị na-atụgharị vidiyo n'akụkụ anyị wee ziga ya na MediaLive. Anyị na-amalite transcoders ebe ahụ. Ha na-atụgharị vidiyo ozugbo n'ime mkpebi dị iche iche ka ndị mmadụ wee lelee ya na ekwentị ha, site na ịntanetị na-adịghị mma na mba ahụ, na ihe ndị ọzọ. Mgbe ahụ, a na-egbutu iyi ndị a iberibe, otu a ka protocol si arụ ọrụ HLS. Anyị na-eziga ndetu egwu egwu n'ihu nke nwere ntụnye aka na mkpirisi ndị a.

- Anyị na-eji mkpebi 1080p?

Artyom: Ogologo vidiyo anyị bụ otu ihe ahụ dị ka 1080p - 1920 pikselụ, na ịdị elu dị ntakịrị ntakịrị, foto a na-agbatịkwu - e nwere ihe kpatara nke a.

Onye ọkpụkpọ

- Artyom kọwara ka vidiyo si abanye na iyi, ka esi kesaa ya na listi ọkpụkpọ dị iche iche maka mkpebi ihuenyo dị iche iche, bee n'ime chunks wee banye n'ime ihe ọkpụkpọ. Kolya, gwa m ugbu a ụdị ọkpụkpọ nke a bụ, ka o si eri iyi, gịnị kpatara HLS?

Nikolay: Anyị nwere onye ọkpụkpọ nke ndị niile na-ekiri ogbako nwere ike ikiri.

Mepụta ikpo okwu vidiyo n'ime ụbọchị 90

N'ikpeazụ, nke a bụ ihe mkpuchi gburugburu ụlọ akwụkwọ hl.js, nke e dere ọtụtụ ndị egwuregwu ndị ọzọ. Ma anyị chọrọ nnọọ kpọmkwem ọrụ: rewinding na akara ebe onye bụ, ihe akụkọ ọ na-ekiri ugbu a. Anyị chọkwara nhazi nke anyị, ụdị akara ngosi na ihe ọ bụla ọzọ ejiri anyị rụọ. Ya mere, anyị kpebiri ide ọbá akwụkwọ nke anyị (ihe mkpuchi n'elu HLS) ma tinye ya na saịtị ahụ.

Nke a bụ ọrụ mgbọrọgwụ, yabụ etinyere ya na mbụ. Na mgbe ahụ, ihe niile toro gburugburu ya.

N'ezie, site na ikike, onye ọkpụkpọ na-enweta site na azụ azụ ndepụta ọkpụkpọ nwere njikọ na chunks jikọtara na oge na àgwà, na-ebudata ihe ndị dị mkpa ma gosi onye ọrụ ahụ, na-eme ụfọdụ "anwansi" n'ụzọ.

Mepụta ikpo okwu vidiyo n'ime ụbọchị 90
Ihe atụ usoro iheomume

- A na-ewu bọtịnụ ozugbo n'ime ihe ọkpụkpọ iji gosipụta usoro iheomume nke akụkọ niile ...

Nikolay: Ee, anyị doziri ozugbo nsogbu nke igodo onye ọrụ. N'etiti ọnwa Eprel, anyị kpebiri na anyị agaghị agbasa ọgbakọ anyị ọ bụla na webụsaịtị dị iche, mana anyị ga-ejikọta ihe niile na otu. Ka ndị ọrụ tiketi Pass zuru oke nwee ike gbanwee n'etiti ọgbakọ dị iche iche: ma mgbasa ozi dị ndụ yana ndekọ nke ndị gara aga.

Na iji mee ka ọ dịrị ndị ọrụ mfe ịnyagharị iyi dị ugbu a ma gbanwee n'etiti egwu, anyị kpebiri ime bọtịnụ " mgbasa ozi zuru ezu" na kaadị akụkọ kwụ ọtọ maka ịgbanwee n'etiti egwu na akụkọ. Enwere njikwa ahụigodo.

- Enwere nsogbu teknụzụ ọ bụla na nke a?

Nikolay: Ha nwere ogwe akwụkwọ mpịakọta e ji akara ebe mmalite nke akụkọ dị iche iche na ya.

- N'ikpeazụ, ị mebere akara ndị a na akwụkwọ mpịakọta tupu YouTube emee ihe yiri ya?

Artyom: Ha nwere ya na beta mgbe ahụ. Ọ dị ka nke a bụ njirimara dị mgbagwoju anya n'ihi na ha na ndị ọrụ ejirila ya nwalee ya n'ime afọ gara aga. Ma ugbu a, ọ ruru ire ere.

Nikolay: Mana anyị nwetara ya ire ngwa ngwa. N'ezie, n'azụ atụmatụ a dị mfe enwere nnukwu ego azụ azụ, frontend, mgbako na mgbakọ na mwepụ n'ime ihe ọkpụkpọ.

Ihu njedebe

- Ka anyị chọpụta ka ọdịnaya a anyị na-egosi (kaadị okwu, ndị na-ekwu okwu, webụsaịtị, nhazi oge) si aga n'ihu?

Vladimir Krasilshchik: Anyị nwere ọtụtụ sistemụ IT dị n'ime. Enwere usoro nke etinyere akụkọ niile na ndị na-ekwu okwu niile. Enwere usoro nke onye na-ekwu okwu na-ekere òkè na ogbako. Onye na-ekwu okwu na-enyefe ngwa ngwa, usoro ahụ na-ejide ya, mgbe ahụ, e nwere ụfọdụ pipeline dị ka e si emepụta akụkọ ahụ.

Mepụta ikpo okwu vidiyo n'ime ụbọchị 90
Otu a ka ọkà okwu si ahụ pipeline

Usoro a bụ mmepe nke ime anyị.

Na-esote, ịkwesịrị ịmepụta usoro nhazi site na mkpesa nke ọ bụla. Dị ka ị maara, nke a bụ nsogbu NP siri ike, mana anyị na-edozi ya n'ụzọ ụfọdụ. Iji mee nke a, anyị na-ewepụta akụrụngwa ọzọ na-ewepụta usoro ma bulite ya na ọrụ igwe ojii nke ndị ọzọ nwere afọ ojuju. N'ebe ahụ, ihe niile dị ka tebụl nke e nwere ụbọchị nke ogbako, n'ime ụbọchị enwere ohere oge, na oghere nwere akụkọ, nkwụsịtụ ma ọ bụ ọrụ nkwado. Yabụ ọdịnaya anyị na-ahụ dị na ọrụ ndị ọzọ. Na ọrụ bụ ibuga ya na saịtị ahụ.

Ọ ga-adị ka saịtị ahụ bụ naanị ibe nwere onye ọkpụkpọ, ọ nweghịkwa ihe mgbagwoju anya ebe a. Ewezuga na ọ bụghị. Azụ azụ n'azụ ibe a na-aga na Contentful, na-enweta nhazi oge site n'ebe ahụ, na-emepụta ụfọdụ ihe ma ziga ya na ihu ihu. Iji njikọ webụsaịtị, nke onye ahịa ọ bụla nke ikpo okwu anyị na-eme, anyị na-eziga ya mmelite na nhazi oge site na azụ azụ ruo n'ihu.

Ezigbo ikpe: ọkà okwu gbanwere ọrụ ozugbo n'oge ogbako. Anyị kwesịrị ịgbanwe baajị ụlọ ọrụ onye were ya n'ọrụ. Kedu ka nke a si eme site na azụ azụ? A na-ezigara ndị ahịa niile mmelite site na websocket, mgbe ahụ frontend n'onwe ya na-emegharị usoro iheomume. Ihe a niile na-eme n'enweghị nsogbu. Nchikota nke ọrụ igwe ojii na ọtụtụ akụkụ anyị na-enye anyị ohere ịmepụta ọdịnaya a niile ma nye ya n'ihu.

Nikolay: Ọ dị mkpa ịkọwa ebe a na saịtị anyị abụghị ngwa SPA kpochapụrụ. Nke a bụ ma webụsaịtị emebere okirikiri, yana SPA. Google n'ezie na-ahụ saịtị a ka e sụgharịa HTML. Nke a dị mma maka SEO na maka ịnyefe ọdịnaya nye onye ọrụ. Ọ naghị echere 1,5 megabytes nke JavaScript ka ọ buru ibu tupu ọ hụ ibe ahụ, ọ na-ahụ ozugbo ibe a sụgharịrị ya, ị na-enwekwa mmetụta mgbe ọ bụla ị gbanwere akụkọ ahụ. Ihe niile na-eme na ọkara nke abụọ, ebe ọ bụ na ọdịnaya adịlarị njikere ma tinye ya n'ebe kwesịrị ekwesị.

- Ka anyị see ahịrị n'okpuru ihe niile dị n'elu site na ịdepụta teknụzụ. Tyoma kwuru na anyị nwere iyi iyi Amazon 5, anyị na-ebuga vidiyo na ụda ebe ahụ. Anyị nwere scripts bash ebe ahụ, anyị na-eji ha wepụta na hazie ...

Artyom: Nke a na-eme site na AWS API, enwere ọtụtụ ọrụ akụkụ teknụzụ ndị ọzọ ebe ahụ. Anyị kewara ibu ọrụ anyị ka m wee nyefee ya Igwe ojii, na ndị na-emepụta ihe n'ihu na azụ azụ na-ewere ya n'ebe ahụ. Anyị nwere ọnụ ọgụgụ nke njikọ nke anyị iji mee ka nhazi ọdịnaya dị mfe, nke anyị na-eme na 4K, wdg. Ebe ọ bụ na oge a kara aka siri ike, anyị mere ya kpamkpam na AWS.

- Mgbe ahụ ihe a niile na-abanye n'ime onye ọkpụkpọ na-eji usoro azụ azụ. Anyị nwere TypeScript, React, Next.JS na ọkpụkpọ anyị. Na azụ azụ anyị nwere ọtụtụ ọrụ na C #, Java, Spring Boot na Node.js. A na-ebugharị ihe niile site na iji Kubernetes site na iji akụrụngwa Yandex.Cloud.

Achọrọ m ịmara na mgbe m kwesịrị ịmara na ikpo okwu, ọ bịara dị mfe: ebe nchekwa niile dị na GitLab, a na-akpọ ihe niile aha nke ọma, edere ule, enwere akwụkwọ. Ya bụ, ọbụna na ọnọdụ mberede, ha na-elekọta ihe ndị dị otú ahụ.

Mgbochi azụmahịa na nyocha

- Anyị lekwasịrị anya ndị ọrụ 10 dabere na azụmaahịa chọrọ. Oge erugo ikwu maka mmachi azụmaahịa anyị nwere. Anyị aghaghị ijide n'aka na ibu ọrụ dị elu, hụ na a kwadoro iwu na nchekwa data nkeonwe. Ma gịnị ọzọ?

Nikolay: Na mbụ, anyị malitere site na vidiyo chọrọ. Ihe kachasị mkpa na-ekesa nchekwa vidiyo na gburugburu ụwa maka nnyefe ngwa ngwa nye onye ahịa. Ndị ọzọ na-agụnye mkpebi 1080p, yana azụghachi azụ, nke ọtụtụ ndị ọzọ anaghị emejuputa na ọnọdụ ndụ. Mgbe e mesịrị, anyị gbakwunyere ikike iji mee ka ọsọ 2x dị, site n'enyemaka ya, ị nwere ike "jide" na ndụ ma nọgide na-ekiri ogbako ahụ ozugbo. Na n'ụzọ, ọrụ akara usoro iheomume pụtara. Na mgbakwunye, anyị kwesịrị ịdị na-anabata mmejọ ma nagide ibu nke njikọ 10. Site n'echiche azụ azụ, nke a dị ihe dị ka njikọ 000 amụbawanye site na arịrịọ 10 maka ume ọhụrụ ibe ọ bụla. Ma nke a adịlarị 000 RPS / sk. Dị nnọọ ntakịrị.

— Enwere ihe ọ bụla ọzọ chọrọ maka “ihe ngosi mebere” nwere ndị mmekọ ịntanetị?

Nikolay: Ee, ekwesịrị ime nke a ngwa ngwa na n'ụwa niile. Anyị nwere ụlọ ọrụ mmekọ 10 maka ogbako ọ bụla, a ga-emecha ha niile n'ime otu izu ma ọ bụ abụọ. Agbanyeghị, ọdịnaya ha dị iche na usoro. Ma e mere ụfọdụ engine template nke na-achịkọta ibe ndị a na ofufe, na-enweghị ihe ọ bụla mmepe mmepe.

- E nwekwara ihe ndị a chọrọ maka nyocha nke ezigbo oge nlele na ọnụ ọgụgụ. Amaara m na anyị na-eji Prometheus maka nke a, mana gwa anyị n'ụzọ zuru ezu: kedu ihe anyị chọrọ maka nyocha, oleekwa otú e si eme ya?

Nikolay: Na mbụ, anyị nwere ahịa chọrọ maka ịnakọta maka ule A/B na ịnakọta ozi iji ghọta ka esi enye onye ahịa ọdịnaya kacha mma n'ọdịnihu. Enwekwara ihe achọrọ maka ụfọdụ nyocha na mmemme ndị mmekọ yana nyocha nke ị na-ahụ (leta counter). A na-anakọta ozi niile ozugbo.

Anyị nwere ike ịnye ozi a n'ụdị agbakọtara ọbụna nye ndị na-ekwu okwu: mmadụ ole nọ na-ekiri gị n'otu oge. N'otu oge ahụ, iji rube isi na Iwu Federal 152, anaghị enyocha akaụntụ nkeonwe gị na data nkeonwe gị n'ụzọ ọ bụla.

Ikpo okwu enweelarị ngwa ahịa yana metrik anyị maka ịlele ọrụ onye ọrụ ozugbo (onye lere ihe nke abụọ nke akụkọ ahụ) iji wuo eserese nke ndị bịara na akụkọ ahụ. Dabere na data a, a na-eme nyocha nke ga-eme ka ọgbakọ ndị ọzọ dị mma.

Aghụghọ

- Anyị nwere usoro mgbochi aghụghọ?

Nikolay: N'ihi ogologo oge siri ike site na echiche azụmahịa, edobereghị ọrụ ahụ ka ọ gbochie njikọ ndị na-adịghị mkpa ozugbo. Ọ bụrụ na ndị ọrụ abụọ abanyela n'okpuru otu akaụntụ, ha nwere ike ịlele ọdịnaya. Mana anyị maara ole echiche n'otu oge sitere n'otu akaụntụ. Ma anyị machibidoro ọtụtụ ndị na-emebi iwu obi ọjọọ.

Vladimir: Maka otuto ya, otu n'ime ndị ọrụ amachibidoro ghọtara ihe kpatara nke a ji mee. Ọ bịara rịọ mgbaghara ma kwe nkwa ịzụta tiketi.

- Maka ihe ndị a niile ga-eme, ị ga-enyocharịrị ndị ọrụ niile site na ntinye gaa na ọpụpụ, mara ihe ha na-eme mgbe niile. Kedu ka usoro a si arụ ọrụ?

Vladimir: Ọ ga-amasị m ikwu banyere nchịkọta na ọnụ ọgụgụ, nke anyị na-enyocha mgbe ahụ maka ọganihu nke akụkọ ahụ ma ọ bụ nwee ike inye ndị mmekọ. Ejikọtara ndị ahịa niile site na njikọ webụsaịtị na otu ụyọkọ azụ azụ. Ọ na-eguzo n'ebe ahụ hazelcast. Onye ahịa ọ bụla n'oge ọ bụla na-eziga ihe ọ na-eme na egwu ọ na-ekiri. Mgbe ahụ, a na-achịkọta ozi a site na iji ọrụ Hazelcast ngwa ngwa wee zighachi ya onye ọ bụla na-ekiri egwu ndị a. Anyị na-ahụ n'akụkụ mmadụ ole nọ na anyị ugbu a.

Mepụta ikpo okwu vidiyo n'ime ụbọchị 90

A na-echekwa otu ozi ahụ Mongo ma na-aga na ọdọ mmiri data anyị, site na nke anyị nwere ohere ịmepụta eserese na-adọrọ mmasị karị. Ajụjụ na-ebilite: ole ndị ọrụ pụrụ iche lere akụkọ a? Anyị na-aga postgres, enwere pings nke ndị niile bịara site na id nke akụkọ a. Anyị chịkọtara, chịkọta ndị pụrụ iche, ma ugbu a anyị nwere ike ịghọta.

Nikolay: Mana n'otu oge ahụ, anyị na-enwetakwa data ozugbo n'aka Prometheus. Edobere ya megide ọrụ Kubernetes niile, megide Kubernetes n'onwe ya. Ọ na-anakọta ihe niile, yana Grafana anyị nwere ike wuo eserese ọ bụla ozugbo.

Vladimir: N'otu aka, anyị na-ebudata nke a maka nhazi OLAP ọzọ. Maka OLTP, ngwa ahụ na-ebudata ihe niile na Prometheus, Grafana na eserese ahụ ọbụlagodi!

- Nke a bụ ikpe mgbe eserese na-agbakọta.

Mgbanwe dị egwu

- Gwa anyị ka esi agbanwe mgbanwe dị ike: ọ bụrụ na a kagbuola akụkọ ahụ nkeji 6 tupu mmalite, gịnị bụ usoro omume? Kedu pipeline na-arụ ọrụ?

Vladimir: Pipeline bụ nnọọ ọnọdụ. Enwere ọtụtụ ohere. Nke mbụ bụ na usoro mmepụta usoro ihe omume na-arụ ọrụ ma gbanwee usoro ihe omume. A na-ebugote usoro nhazi ahụ na Ọdịnaya. Mgbe nke ahụ gasịrị, azụ azụ ghọtara na enwere mgbanwe maka ogbako a na Contentful, were ya ma wughachi ya. A na-anakọta ma zipụ ihe niile site na websocket.

Ihe omume nke abụọ, mgbe ihe niile na-eme na nkwụsị olu: onye nchịkọta akụkọ na-eji aka gbanwee ozi dị na Contentful (njikọ na Telegram, ngosi okwu, wdg) na otu mgbagha na-arụ ọrụ dị ka oge mbụ.

Nikolay: Ihe niile na-eme na-enweghị ume ọhụrụ na ibe. Mgbanwe niile na-eme n'enweghị nsogbu maka onye ahịa. Otu na-aga maka ịgbanwee akụkọ. Mgbe oge ruru, akụkọ na interface gbanwere.

Vladimir: Ọzọkwa, enwere mbelata oge maka mmalite akụkọ na usoro iheomume. Na mmalite ọ dịghị ihe ọ bụla. Ma ọ bụrụ na ị na-atụgharị òké gị n'elu eriri uhie, mgbe ahụ, n'oge ụfọdụ, ekele onye nduzi mgbasa ozi, cutoffs ga-apụta. Onye nduzi na-esetịpụ mmalite nke mgbasa ozi ziri ezi, onye na-azụ ahịa na-ebuli mgbanwe a, na-agbakọ mmalite na njedebe oge nke ihe ngosi egwu niile dị ka usoro ogbako si dị, na-ezigara ndị ahịa anyị, onye ọkpụkpọ ahụ na-esetịpụ nkwụsị. Ugbu a onye ọrụ nwere ike ịnyagharịa ngwa ngwa na mmalite na njedebe nke akụkọ ahụ. Ọ bụ azụmahịa siri ike chọrọ, dị mma ma baa uru. Ị naghị egbu oge ịchọta oge mmalite maka akụkọ ahụ. Ma mgbe anyị mere nhụchalụ, ọ ga-abụ ihe magburu onwe ya.

Nkwanye

— Ọ ga-amasị m ịjụ maka ibunye ọrụ. Kolya na ndị otu ahụ nọrọ oge dị ukwuu na mmalite iji guzobe akụrụngwa niile nke ihe niile na-ekpughere anyị. Gwa m, kedu ihe e ji mee ya?

Nikolay: Site n'echiche teknụzụ, anyị na mbụ nwere ihe achọrọ maka ngwaahịa ahụ ka ọ bụrụ ihe nkịtị dị ka o kwere mee site na onye na-ere ahịa ọ bụla. Bịa na AWS iji mee script Terraform kpọmkwem site na AWS, ma ọ bụ kpọmkwem site na Yandex, ma ọ bụ site na Azure, wdg. adabaghị n'ezie. Anyị aghaghị ịkwaga ebe ụfọdụ n'oge ụfọdụ.

N'ime izu atọ mbụ anyị na-achọkarị ụzọ anyị ga-esi mee nke a nke ọma. N'ihi ya, anyị bịara ná nkwubi okwu na Kubernetes na nke a bụ ihe niile anyị, n'ihi na ọ na-enye anyị ohere ịmepụta na-akpaghị aka-scaling ọrụ, akpaaka-rollout, na-enweta ihe fọrọ nke nta niile ọrụ si igbe. Dị ka o kwesịrị ịdị, a ga-azụrịrị ọrụ niile ka ha na Kubernetes na-arụkọ ọrụ, Docker, ndị otu ahụ kwesịkwara ịmụta.

Anyị nwere ụyọkọ abụọ. Nyochaa na mmepụta. Ha bụ nnọọ otu n'ihe gbasara ngwaike na ntọala. Anyị na-emejuputa akụrụngwa dị ka koodu. A na-atụgharị ọrụ niile na-akpaghị aka gaa na gburugburu atọ site na ngalaba njirimara, alaka ụlọ ọrụ, ngalaba nnwale, na GitLab site na iji pipeline akpaka. Nke a bụ nke agbakwunyere na GitLab, jikọtara ya na Elastic, Prometheus.

Anyị na-enweta ohere ngwa ngwa (maka azụ azụ n'ime nkeji 10, maka ihu n'ihu n'ime nkeji 5) wepụta mgbanwe na gburugburu ebe ọ bụla na ule niile, ntinye, nyocha ọrụ na-arụ ọrụ, ule ntinye na gburugburu ebe obibi, ma nwalee na ule ibu na. gburugburu ule dị ka otu ihe ahụ anyị chọrọ inweta na mmepụta.

Banyere ule

— Ị na-anwale ihe fọrọ nke nta ka ọ bụrụ ihe niile, ọ na-esiri ike ikwere otú i si dee ihe niile. Ị nwere ike ịgwa anyị banyere ule azụ azụ: ole ihe niile kpuchiri, kedu ule?

Vladimir: Edela ụdị ule abụọ. Nke mbụ bụ ule akụrụngwa. Nlele ule ọkwa nke ngwa mmiri niile wee dabere na Ngwa ngwa ule. Nke a bụ nnwale nke ọnọdụ azụmaahịa kachasị elu. Anaghị m nwalee ọrụ. Anyị na-anwale naanị ụfọdụ nnukwu ihe. Dịka ọmụmaatụ, ozugbo n'ule ahụ, a na-eṅomi usoro ịbanye na onye ọrụ, arịrịọ onye ọrụ maka tiketi ebe ọ nwere ike ịga, na arịrịọ maka ịnweta ikiri iyi. Ọnọdụ onye ọrụ doro anya nke ukwuu.

Ihe dị ka otu ihe ahụ na-emejuputa atumatu na ihe a na-akpọ ule ntinye, nke na-agba ọsọ na gburugburu ebe obibi. N'ezie, mgbe ewepụtara ntinye ọzọ na mmepụta, ezigbo ihe ndapụta na-arụkwa ọrụ na mmepụta. Otu nbanye, na-arịọ tiketi, na-arịọ ka ịnweta CloudFront, ịlele na iyi na-ejikọta na ikike m n'ezie, na-elele interface onye nduzi.

N'oge a enwere m ihe dị ka ule akụrụngwa 70 na ihe dị ka ule ntinye 40 n'ime ụgbọ mmiri. Mkpuchi dị nnọọ nso 95%. Nke a bụ maka akụrụngwa akụrụngwa, obere maka njikọta, ọ nweghị ihe achọrọ. N'iburu n'uche na ọrụ ahụ gụnyere ụdị koodu ọ bụla, nke a bụ ihe ngosi dị mma. O nweghị ụzọ ọzọ anyị ga-esi mee ihe anyị mere n’ime ọnwa atọ. N'ihi na ọ bụrụ na anyị na-anwale aka, na-enye atụmatụ anyị tester, na ọ ga-ahụ chinchi na-eweghachi ha anyị maka fix, mgbe ahụ a na-eme njem iji debug koodu ga-adị nnọọ ogologo, na anyị agaghị ezute ọ bụla imecha.

Nikolay: N'otu oge, iji mee nlọghachi azụ n'elu ikpo okwu dum mgbe ị na-agbanwe ụfọdụ ọrụ, ịkwesịrị ịnọdụ ala ma kpochaa ebe niile maka ụbọchị abụọ.

Vladimir: Ya mere, ọ bụ nnukwu ihe ịga nke ọma na mgbe m na-eme atụmatụ atụmatụ, m na-ekwu na achọrọ m ụbọchị 4 maka mkpịsị abụọ dị mfe na 1 websocket, Kolya na-enye ya ohere. Ọ maralarị eziokwu ahụ na ụbọchị 4 ndị a gụnyere ụdị ule 2, ma mgbe ahụ, ọ ga-abụ na ọ ga-arụ ọrụ.

Nikolay: Enwekwara m ule 140 edere: akụrụngwa + arụ ọrụ, nke na-eme otu ihe ahụ. A na-anwale otu ọnọdụ niile na mmepụta, na ule na mmepụta. Anyị gbakwunyekwara ule UI na-arụ ọrụ na nso nso a. N'ụzọ dị otú a, anyị na-ekpuchi ọrụ kachasị mkpa nke nwere ike ịdaba.

Vladimir: N'ezie, ọ bara uru ikwu maka ule ibu. Ọ dị mkpa iji nwalee ikpo okwu n'okpuru ibu dị nso n'ezie iji ghọta otú ihe niile si dị, ihe na-eme na Rabbit, ihe na-eme na JVM, ole ebe nchekwa dị mkpa n'ezie.

- Amaghị m ma anyị na-anwale ihe ọ bụla n'akụkụ iyi, mana m na-echeta na enwere nsogbu na transcoders mgbe anyị mere nzukọ. Anyị nwalela iyi?

Artyom: A nwalere ugboro ugboro. Ịhazi nzukọ. N'ime usoro nhazi nzukọ, enwere ihe ruru 2300 tiketi JIRA. Ihe ndị a bụ naanị ihe ndị mmadụ na-eme ka ha nwee ike ime ihe. Anyị na-ewere akụkụ nke ikpo okwu gaa na ibe dị iche iche maka nzukọ, nke Kirill Tolkachev (na-achị) na-elekọta.okwukv).

N'ikwu eziokwu, e nweghị nnukwu nsogbu. N'ụzọ nkịtị ugboro ole na ole, anyị jidere caching chin na CloudFront, anyị doziri ya ngwa ngwa - anyị na-ahazigharị atumatu. Enwere ọtụtụ ahụhụ karịa n'ime ndị mmadụ, na sistemụ nkwanye na saịtị ahụ.

N'oge ogbako, a ga m ede ọtụtụ ndị na-ebupụ mbupụ ka m wee kpuchie ngwa na ọrụ ndị ọzọ. N'ebe ụfọdụ, aghaghị m ịrụ ịnyịnya ígwè nke m nanị n'ihi metric. Ụwa nke ngwaike AV (audio-video) adịchaghị mma - ị nwere ụdị ngwa “API” nke ị na-enweghị ike imetụta. Ma ọ dị anya site na eziokwu na ị ga-enwe ike ịnweta ozi ị chọrọ. Ndị na-ere ngwaike na-adị ngwa ngwa, na ọ fọrọ nke nta ka ọ gaghị ekwe omume ịnweta ihe ị chọrọ n'aka ha. Na mkpokọta enwere ihe karịrị 100 ngwaike, ha anaghị enyeghachi ihe ịchọrọ, ị na-edekwa ndị na-ebupụ ihe dị iche iche na ndị na-ebupụ, ekele maka nke ị nwere ike mebie sistemụ ahụ ma ọ dịkarịa ala.

Ngwa

- A na m echeta otu tupu mmalite nke ogbako, anyị zụtara akụrụngwa ndị ọzọ.

Artyom: Anyị zụtara kọmputa, laptọọpụ, na ngwugwu batrị. N'oge anyị nwere ike ịdị ndụ na-enweghị ọkụ eletrik maka nkeji iri anọ. Na June e nwere oké égbè eluigwe na St. N'otu oge ahụ, ọtụtụ ndị na-enye ọrụ na-abịakwute anyị na njikọ anya site na isi ihe dị iche iche. Nke a bụ n'ezie 40 nkeji nke ụlọ downtime, n'oge nke anyị ga-enwe ọkụ, ụda, ese foto, wdg na-arụ ọrụ.

— Anyị nwere akụkọ yiri nke ahụ na ịntanetị. N’ọfis ebe ebe a na-edebe ihe nkiri anyị dị, anyị dọkpụrụ ụgbụ kpụ ọkụ n’ọnụ n’etiti ala ụlọ ahụ.

Artyom: Anyị nwere 20 Gbit nke eriri n'etiti ala. Ọzọkwa n'akụkụ ala, ebe enwere optics, ebe ọ nweghị optics, mana ka enwere ọwa ole na ole karịa gigabit - anyị na-agba vidiyo na ha n'etiti egwu ogbako. N'ozuzu, ọ dị mma ịrụ ọrụ na akụrụngwa nke gị; ị nweghị ike ịme nke a na nnọkọ na-anọghị n'ịntanetị na saịtị.

- Tupu m arụ ọrụ na JUG Ru Group, ahụrụ m ka esi ahazi ụlọ ngwaike na ọgbakọ ndị na-anọghị n'ịntanetị n'otu abalị, ebe enwere nnukwu ihe nleba anya nwere metrik niile ị na-ewu na Grafana. Ugbu a, e nwekwara ụlọ ọrụ ụlọ ọrụ nke ndị otu mmepe na-anọdụ ala, nke n'oge ogbako na-edozi ụfọdụ ahụhụ ma na-emepụta atụmatụ. N'otu oge ahụ, e nwere usoro nlekota oru nke na-egosipụta na nnukwu ihuenyo. Artyom, Kolya na ụmụ okorobịa ndị ọzọ na-anọdụ ala ma jide n'aka na ihe niile adịghị ada ma na-arụ ọrụ nke ọma.

Curiosities na nsogbu

- Ị kwuru nke ọma banyere eziokwu ahụ bụ na anyị na Amazon na-enuba, enwere onye na-egwu egwuregwu na weebụ, edere ihe niile n'asụsụ mmemme dị iche iche, a na-enyefe ntachi obi na ihe ndị ọzọ azụmahịa chọrọ, gụnyere akaụntụ nkeonwe nke na-akwado maka ụlọ ọrụ iwu kwadoro na ndị mmadụ n'otu n'otu, na anyị nwere ike ijikọ na onye na-eji OAuth 2.0, enwere mgbochi aghụghọ, igbochi onye ọrụ. Anyị nwere ike iwepụta mgbanwe n'ike n'ihi na anyị mere ya nke ọma, a nwalekwara ya niile.

Ọ masịrị m ịmara ihe adịghị mma dị na ịmalite ihe. Enwere ọnọdụ dị iche iche mgbe ị na-etolite azụ azụ, frontend, ihe na-adịghị mma tụgharịrị ma ị ghọtaghị ihe ị ga-eme ya?

Vladimir: Ọ dị m ka nke a mere naanị ọnwa atọ gara aga. Kwa ụbọchị. Dị ka ị na-ahụ, a kpụrụla ntutu m niile.

Mepụta ikpo okwu vidiyo n'ime ụbọchị 90
Vladimir Krasilshchik mgbe ọnwa 3 gachara, mgbe ụfọdụ ụdị egwuregwu tụgharịrị na ọ dịghị onye ghọtara ihe a ga-eme ya

Kwa ụbọchị enwere ihe dị ka nke a, mgbe enwere oge dị otú ahụ mgbe ị na-ewepụ ya na-adọka ntutu isi gị, ma ọ bụ ghọta na ọ dịghị onye ọzọ, na naanị gị nwere ike ime ya. Nnukwu mmemme mbụ anyị bụ TechTrain. Na June 6 na elekere 2 nke ụtụtụ, anyị ewepụtabeghị ebe mmepụta ihe, Kolya na-atụgharị ya. Na akaụntụ nkeonwe anaghị arụ ọrụ dị ka ihe nkesa ikike na-eji OAuth2.0. Anyị tụgharịrị ka ọ bụrụ onye na-eweta OAuth2.0 iji jikọọ ikpo okwu na ya. Anọ m na-arụ ọrụ ma eleghị anya awa 18 kwụ ọtọ, elere m kọmputa ahụ ma ahụghị m ihe ọ bụla, aghọtaghị m ihe kpatara na ọ naghị arụ ọrụ, Kolya lere koodu m anya anya, chọọ ahụhụ na nhazi oge opupu ihe ubi. , chọtara ya, na LC rụrụ ọrụ, na na mmepụta kwa .

Nikolay: Na otu awa tupu TechTrain ntọhapụ mere.

Ọtụtụ kpakpando kwụkọrọ ebe a. Anyị nwere chi ọma nke ukwuu n'ihi na anyị nwere nnukwu otu egwuregwu, echiche nke ime ya n'ịntanetị sitere n'ike mmụọ nsọ onye ọ bụla. Ọnwa atọ a niile bụ eziokwu na anyị “mere YouTube.” Anaghị m ekwe ka m na-adọwa ntutu m, ma gwa onye ọ bụla na ihe niile ga-arụ ọrụ, n'ihi na n'eziokwu, a gbakọrọ ihe niile ogologo oge gara aga.

Banyere arụmọrụ

— Ị nwere ike ịgwa m mmadụ ole nọ na saịtị ahụ n'otu egwu? Enwere nsogbu arụmọrụ ọ bụla?

Nikolay: Enweghị nsogbu arụmọrụ, dịka anyị kwurula. Ọnụ ọgụgụ kachasị nke ndị gara otu akụkọ bụ mmadụ 1300, nke a dị na Heisenbug.

— Enwere nsogbu ọ bụla na nlele mpaghara? Ma ọ ga-ekwe omume ịnwe nkọwa teknụzụ na eserese nke ka ọ na-arụ ọrụ?

Nikolay: Anyị ga-eme akụkọ gbasara nke a ma emechaa.

Ị nwere ike ihichapụ iyi na mpaghara. Ozugbo ogbako ahụ malitere, ọ bịara dị mfe karị, n'ihi na iyi mmepụta ihe pụtara na anyị nwere ike na-ekiri mgbe niile.

Vladimir: Dị ka m ghọtara ya, ndị na-emepụta ihe na-arụ ọrụ n'ihu na-arụ ọrụ na mpaghara na ịkwa emo, na mgbe ahụ, ebe ọ bụ na oge a na-atụgharị na devs n'ihu dịkwa mkpụmkpụ (nkeji 5), ọ dịghị nsogbu na ịlele ihe na-eme na asambodo.

- A na-anwale ma debugged ihe niile, ọbụlagodi na mpaghara. Nke a pụtara na anyị ga-ede akụkọ nwere njirimara teknụzụ niile, gosi gị, gwa gị ihe niile nwere eserese, otu ọ dị.

Vladimir: Ị nwere ike were ya ma kwugharịa ya.

- N'ime ọnwa 3.

Nsonaazụ

- Ihe niile akọwara ọnụ na-ada ụda dị mma, na-atụle na ọ bụ obere ìgwè mere ya n'ime ọnwa atọ.

Nikolay: Otu nnukwu otu agaghị eme nke a. Ma otu obere ìgwè ndị na-akpachi anya na nke ọma na ibe ha nwere ike na-enwe nkwekọrịta. Ha enweghị ihe ọ bụla na-emegiderịta onwe ha, e mepụtara ihe owuwu ahụ n'ime ụbọchị abụọ, emechaala ma ọ dịghị agbanwe agbanwe. Enwere nkwado siri ike nke chọrọ azụmaahịa na-abata n'ihe gbasara ikpokọta arịrịọ na mgbanwe atụmatụ.

— Kedu ihe dị na ndepụta gị nke ọrụ ndị ọzọ mgbe nzukọ ọkọchị emeelarị?

Nikolay: Dịka ọmụmaatụ, kredit. Ahịrị na-akpụ akpụ na vidiyo, mmapụta n'ebe ụfọdụ na vidiyo dabere na ọdịnaya a na-egosi. Dịka ọmụmaatụ, ọkà okwu chọrọ ịjụ ndị na-ege ntị ajụjụ, na votu na-apụta na ihuenyo, nke na-alaghachi azụ na-adabere na nsonaazụ ntuli aka nye onye ọkà okwu n'onwe ya. Ụfọdụ ụdị ọrụ mmekọrịta dị n'ụdị mmasị, obi, ọkwa nke akụkọ ahụ n'oge ngosi n'onwe ya, ka ị nwee ike mejupụta nzaghachi n'oge kwesịrị ekwesị na-enweghị ndọpụ uche mgbe e mesịrị site na nzaghachi nzaghachi. Na mbụ dị ka nke a.

Na na-agbakwụnye na dum ikpo okwu, ma e wezụga maka nkwanye na ogbako, nakwa a post-conference ala. Ndị a bụ ndepụta ọkpụkpọ (gụnyere ndị ọrụ chịkọtara), ikekwe ọdịnaya sitere na ọgbakọ ndị ọzọ gara aga, agbakwunyere, akara, nke onye ọrụ nwere ike ịnweta, yana dịkwa maka ilele na webụsaịtị anyị (ndụ.jugru.org).

— Ụmụ okorobịa, daalụ nke ukwuu maka azịza gị!

Ọ bụrụ na n'etiti ndị na-agụ akwụkwọ enwere ndị gara nzukọ n'oge okpomọkụ anyị, biko kesaa echiche gị banyere onye ọkpụkpọ na mgbasa ozi. Kedu ihe dabara adaba, gịnị kpasuru gị iwe, gịnị ka ị ga-achọ ịhụ n'ọdịnihu?

Ọ bụrụ na ị nwere mmasị na ikpo okwu ma chọọ ịhụ ya "na agha", anyị na-eji ya ọzọ na anyị ogbako mgbụsị akwụkwọ-oyi. Enwere ụdị ha niile, yabụ na ọ fọrọ nke nta ka ọ bụrụ otu nke dabara gị mma.

isi: www.habr.com

Tinye a comment