Ƙirƙirar dandalin bidiyo a cikin kwanaki 90

Wannan bazara mun sami kanmu cikin yanayi mai daɗi sosai. Sakamakon annobar cutar, ya bayyana a fili cewa taron mu na bazara yana buƙatar motsawa akan layi. Kuma don gudanar da su akan layi yadda ya kamata, shirye-shiryen software ba su dace da mu ba, muna buƙatar rubuta namu. Kuma muna da watanni uku da yin haka.

A bayyane yake cewa watanni uku ne masu kayatarwa. Amma daga waje ba a bayyane yake ba: menene dandalin taron kan layi? Wadanne sassa ya kunsa? Don haka, a ƙarshen taron DevOops na bazara, na tambayi waɗanda ke da alhakin wannan aikin:

  • Nikolay Molchanov - darektan fasaha na JUG Ru Group;
  • Vladimir Krasilshchik ƙwararren mai tsara shirye-shiryen Java ne wanda ke aiki a baya (zaka iya ganin rahotanninsa a taron mu na Java);
  • Artyom Nikonov ne ke da alhakin duk yawo da bidiyo na mu.

Af, a lokacin kaka-hunturu taron za mu yi amfani da ingantacciyar sigar dandamali iri ɗaya - don haka yawancin masu karanta Habra za su kasance masu amfani da shi.

Ƙirƙirar dandalin bidiyo a cikin kwanaki 90

Babban hoto

- Menene ginshiƙin ƙungiyar?

Nikolai Molchanov: Muna da manazarta, mai tsarawa, mai gwadawa, masu gaba-gaba uku, da kuma ƙarshen baya. Kuma, ba shakka, ƙwararren T-dimbin yawa!

- Yaya tsarin ya kasance gaba ɗaya?

Nikolay: Har zuwa tsakiyar Maris, ba mu da wani abin da aka shirya don kan layi kwata-kwata. Kuma a ranar 15 ga Maris, duka carousel ɗin kan layi ya fara yin juzu'i. Mun kafa ɗakunan ajiya da yawa, mun tsara, tattauna tsarin gine-ginen gine-gine kuma mun yi komai a cikin watanni uku.

Wannan, ba shakka, ya shiga cikin matakai na yau da kullun na tsarawa, gine-gine, zaɓin fasalin, zaɓin waɗannan fasalulluka, manufofin waɗannan fasalulluka, ƙirar su, haɓakawa, gwaji. A sakamakon haka, a ranar 6 ga Yuni, mun fitar da komai don samarwa. TechTrain. Akwai kwanaki 90 ga komai.

- Shin mun sami damar cim ma abin da muka yi alkawari?

Nikolay: Tunda yanzu muna shiga cikin taron DevOops akan layi, yana nufin yayi aiki. Ni da kaina na ƙaddamar da babban abu: Zan kawo abokan ciniki kayan aiki da za su iya yin taron kan layi.

Kalubalen shi ne: ba mu kayan aiki da za mu iya watsa taron mu ga masu tikitin tikiti.

An raba dukkan tsare-tsare zuwa matakai da yawa, kuma duk fasalulluka (kimanin 30 na duniya) an kasu kashi 4:

  • wanda ba shakka za mu yi (ba za mu iya rayuwa ba tare da su ba),
  • wanda za mu yi na biyu,
  • wanda ba za mu taba yi ba,
  • kuma wanda ba za mu taba yi ba.

Mun yi duk fasalulluka daga rukuni biyu na farko.

- Na san cewa jimlar al'amurran JIRA 600 an ƙirƙira su. A cikin watanni uku, kun yi microservices 13, kuma ina zargin cewa an rubuta su ba kawai a cikin Java ba. Kun yi amfani da fasahohi daban-daban, kuna da gungu na Kubernetes guda biyu a cikin yankuna guda uku da rafukan RTMP 5 a cikin Amazon.

Bari yanzu mu kalli kowane bangare na tsarin daban.

Yawo

— Bari mu fara da lokacin da muke da hoton bidiyo, kuma ana watsa shi zuwa wasu ayyuka. Artyom, gaya mana yadda wannan yawo yake faruwa?

Artyom Nikonov: Babban tsarin mu yayi kama da haka: hoto daga kamara -> dakin sarrafa mu -> uwar garken RTMP na gida -> Amazon -> mai kunna bidiyo. Karin bayani ya rubuta game da shi a Habré a watan Yuni.

Gabaɗaya, akwai hanyoyi guda biyu na duniya don yin wannan: ko dai akan kayan masarufi ko bisa hanyoyin warware software. Mun zaɓi hanyar software saboda yana da sauƙi a cikin yanayin lasifikan nesa. Ba koyaushe yana yiwuwa a kawo kayan aiki ga mai magana a wata ƙasa ba, amma isar da software ga mai magana da alama yana da sauƙi kuma mafi aminci.

Daga ra'ayi na kayan aiki, muna da wasu nau'o'in kyamarori (a cikin ɗakunanmu da kuma a cikin masu magana mai nisa), wasu adadin na'urorin sarrafawa a cikin ɗakin studio, wanda wasu lokuta dole ne a gyara su daidai a ƙarƙashin tebur yayin watsa shirye-shirye.

Sigina daga waɗannan na'urori suna shigar da kwamfutoci tare da katunan kamawa, katunan shigarwa/fitarwa, da katunan sauti. A can aka gauraya sigina kuma an haɗa su cikin shimfidu:

Ƙirƙirar dandalin bidiyo a cikin kwanaki 90
Misalin shimfidar wuri don masu magana 4

Ƙirƙirar dandalin bidiyo a cikin kwanaki 90
Misalin shimfidar wuri don masu magana 4

Bugu da ari, ana samar da ci gaba da watsa shirye-shirye tare da taimakon kwamfutoci guda uku: akwai na'ura mai mahimmanci guda ɗaya da biyu masu aiki bi da bi. Kwamfuta ta farko tana tattara rahoton farko, na biyu - hutu, na farko - rahoto na gaba, na biyu - hutu na gaba, da sauransu. Kuma babban injin yana hada na farko da na biyu.

Wannan yana haifar da nau'in triangle, kuma idan ɗayan waɗannan nodes ya kasa, za mu iya sauri kuma ba tare da asarar inganci ba na ci gaba da sadar da abun ciki ga abokan ciniki. Muna da irin wannan yanayin. A cikin makon farko na taro, mun gyara na'ura ɗaya, mun kunna/kashe. Mutane da alama suna farin ciki da juriyarmu.

Bayan haka, rafukan daga kwamfutoci suna zuwa uwar garken gida, wanda ke da ayyuka guda biyu: hanyar rafukan RTMP da rikodin bayanan ajiya. Don haka muna da wuraren rikodi da yawa. Ana aika rafukan bidiyo zuwa sashin tsarin mu da aka gina akan ayyukan Amazon SaaS. Muna amfani MediaLive, S3, CloudFront.

Nikolay: Menene ya faru a wurin kafin bidiyon ya isa ga masu sauraro? Dole ne ku yanke shi ko ta yaya, daidai?

Artyom: Muna danne bidiyon a bangarenmu kuma mu aika zuwa MediaLive. Muna kaddamar da transcoders a can. Suna canza bidiyo a ainihin lokacin zuwa kudurori da yawa ta yadda mutane za su iya kallon su ta wayoyinsu, ta hanyar Intanet mara kyau a kasar, da sauransu. Sa'an nan kuma a yanke waɗannan rafukan dunkulewa, wannan shine yadda ka'idar ke aiki HLS. Muna aika lissafin waƙa zuwa gaban gaba wanda ya ƙunshi nuni ga waɗannan gungu.

- Shin muna amfani da ƙudurin 1080p?

Artyom: Nisa na bidiyonmu daidai yake da 1080p - 1920 pixels, kuma tsayin ya ɗan ƙasa kaɗan, hoton ya fi elongated - akwai dalilai na wannan.

Mai kunnawa

- Artyom ya bayyana yadda bidiyon ke shiga cikin rafi, yadda aka rarraba shi cikin jerin waƙoƙi daban-daban don ƙudurin allo daban-daban, a yanka a cikin ƙugiya kuma ya shiga cikin mai kunnawa. Kolya, yanzu gaya mani wane irin ɗan wasa ne wannan, yadda yake cinye rafi, me yasa HLS?

Nikolay: Muna da dan wasa wanda duk masu kallon taro za su iya kallo.

Ƙirƙirar dandalin bidiyo a cikin kwanaki 90

Ainihin, wannan abin rufewa ne a kusa da ɗakin karatu hls.js, wanda aka rubuta wasu 'yan wasa da yawa. Amma muna buƙatar takamaiman ayyuka: sakewa da yin alama a wurin da mutumin yake, wane rahoton da yake kallo a halin yanzu. Hakanan muna buƙatar tsarin namu, kowane nau'in tambura da duk wani abu da aka gina tare da mu. Saboda haka, mun yanke shawarar rubuta namu ɗakin karatu (wani abin rufewa a kan HLS) kuma mu saka shi a kan rukunin yanar gizon.

Wannan shine tushen aikin, don haka an aiwatar dashi kusan farko. Sannan komai ya girma a kusa da shi.

A zahiri, ta hanyar ba da izini, mai kunnawa yana karɓar jerin waƙoƙi daga baya tare da hanyoyin haɗin kai zuwa chunks masu alaƙa da lokaci da inganci, zazzage abubuwan da ake buƙata kuma yana nuna su ga mai amfani, yana yin wasu “sihiri” a hanya.

Ƙirƙirar dandalin bidiyo a cikin kwanaki 90
Misalin lokaci

- An gina maɓalli daidai a cikin mai kunnawa don nuna lokacin duk rahotannin ...

Nikolay: Ee, nan da nan mun warware matsalar kewayawa mai amfani. A tsakiyar watan Afrilu, mun yanke shawarar cewa ba za mu watsa kowane taron mu a wani gidan yanar gizon daban ba, amma za mu haɗa komai a kan ɗaya. Ta yadda masu amfani da tikitin Cikakkun Pass za su iya canzawa tsakanin taruka daban-daban: duka watsa shirye-shiryen kai tsaye da rikodin waɗanda suka gabata.

Kuma don sauƙaƙa wa masu amfani don kewaya rafi na yanzu da canzawa tsakanin waƙoƙi, mun yanke shawarar yin maɓallin "Dukkan watsa shirye-shirye" da katunan rahoton kwance don canzawa tsakanin waƙoƙi da rahotanni. Akwai sarrafa madannai.

- Shin akwai wasu matsalolin fasaha tare da wannan?

Nikolay: Suna da sandar gungurawa inda aka sanya alamar farawar rahotanni daban-daban.

- A ƙarshe, kun aiwatar da waɗannan alamomin akan sandar gungurawa kafin YouTube yayi wani abu makamancin haka?

Artyom: Suna da shi a cikin beta a lokacin. Da alama wannan kyakkyawar siffa ce mai sarƙaƙƙiya saboda an ɗan gwada shi tare da masu amfani a cikin shekarar da ta gabata. Kuma yanzu ya kai ga siyarwa.

Nikolay: Amma a zahiri mun sami siyarwa da sauri. Gaskiya, bayan wannan fasalin mai sauƙi akwai adadi mai yawa na baya, gaba, lissafi da lissafi a cikin mai kunnawa.

Gaban gaba

- Bari mu gano yadda wannan abun ciki da muke nunawa (katin magana, masu magana, gidan yanar gizo, jadawalin) ke kaiwa ƙarshen gaba?

Vladimir Krasilshchik: Muna da tsarin IT na ciki da yawa. Akwai tsarin da ake shigar da duk rahotanni da duk masu magana. Akwai tsarin da mai magana ke shiga cikin taro. Mai magana ya gabatar da aikace-aikacen, tsarin ya kama shi, sannan akwai wani bututun da aka samar da rahoton.

Ƙirƙirar dandalin bidiyo a cikin kwanaki 90
Wannan shine yadda mai magana ke kallon bututun

Wannan tsarin shine ci gabanmu na cikin gida.

Na gaba, kuna buƙatar gina jadawali daga rahotannin mutum ɗaya. Kamar yadda kuka sani, wannan matsala ce ta NP-hard, amma muna magance ta ko ta yaya. Don yin wannan, muna ƙaddamar da wani ɓangaren da ke samar da jadawali kuma mu loda shi zuwa Sabis ɗin girgije na ɓangare na uku Mai Ciki. A can, komai yana kama da tebur wanda akwai kwanakin taron, a cikin kwanakin akwai ramukan lokaci, kuma a cikin ramummuka akwai rahotanni, hutu ko ayyukan tallafawa. Don haka abubuwan da muke gani suna cikin sabis na ɓangare na uku. Kuma aikin shine isar da shi zuwa shafin.

Zai zama kamar shafin yanar gizo ne kawai tare da mai kunnawa, kuma babu wani abu mai rikitarwa a nan. Sai dai ba haka bane. Ƙarshen baya bayan wannan shafin yana zuwa Contentful, yana samun jadawalin daga can, yana haifar da wasu abubuwa kuma ya aika zuwa gaba. Yin amfani da haɗin yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon, wanda kowane abokin ciniki na dandalin mu ya yi, muna aika masa da sabuntawa zuwa jadawalin daga baya zuwa gaba.

Gaskiyar lamari: mai magana ya canza ayyuka daidai yayin taron. Muna buƙatar canza alamar kamfani mai aiki. Ta yaya hakan ke faruwa daga baya? Ana aika sabuntawa ga duk abokan ciniki ta hanyar yanar gizo, sa'an nan gaban gaba da kansa ya sake sake tsarin lokaci. Duk wannan yana faruwa ba tare da matsala ba. Haɗuwa da sabis na girgije da da yawa daga cikin abubuwan haɗinmu suna ba mu damar samar da duk wannan abun ciki kuma mu samar da shi a gaba.

Nikolay: Yana da mahimmanci a fayyace a nan cewa rukunin yanar gizon mu ba ƙa'idar SPA ce ta al'ada ba. Wannan duka tushen shimfidawa ne, gidan yanar gizon da aka yi da kuma SPA. Google a zahiri yana ganin wannan rukunin yanar gizon azaman HTML. Wannan yana da kyau ga SEO kuma don isar da abun ciki ga mai amfani. Ba ya jira megabytes 1,5 na JavaScript ya loda kafin ya ga shafin, nan take ya ga shafin da aka riga aka yi, kuma za ka ji shi a duk lokacin da ka canza rahoton. Komai yana faruwa a cikin rabin daƙiƙa, tunda an riga an shirya abun ciki kuma an buga shi a daidai wurin.

- Bari mu zana layi a ƙarƙashin duk abubuwan da ke sama ta jera fasahohin. Tyoma ya ce muna da rafukan Amazon guda 5, kuma muna isar da bidiyo da sauti a can. Muna da rubutun bash a can, muna amfani da su don ƙaddamarwa da daidaitawa ...

Artyom: Wannan yana faruwa ta hanyar AWS API, akwai ƙarin sabis na gefen fasaha da yawa a can. Mun raba nauyin da ke kanmu don in kai CloudFront, kuma masu haɓaka gaba-gaba da baya-baya suna ɗauka daga can. Muna da adadin ɗaurin kanmu don sauƙaƙe shimfidar abun ciki, wanda muke yi a cikin 4K, da sauransu. Tun da lokacin ƙarshe ya kasance mai tsauri, mun yi shi kusan gaba ɗaya akan AWS.

- Sannan duk wannan yana shiga cikin mai kunnawa ta amfani da tsarin baya. Muna da TypeScript, React, Next.JS a cikin ɗan wasan mu. Kuma a bayan baya muna da ayyuka da yawa a cikin C#, Java, Spring Boot da Node.js. Ana amfani da wannan duka ta amfani da Kubernetes ta amfani da kayan aikin Yandex.Cloud.

Har ila yau, ina so in lura cewa lokacin da nake buƙatar sanin dandalin, ya zama mai sauƙi: duk ma'ajin suna kan GitLab, komai yana da kyau suna, an rubuta gwaje-gwaje, akwai takardun. Wato, ko da a cikin yanayin gaggawa, sun kula da irin waɗannan abubuwa.

Matsalolin Kasuwanci da Bincike

- Mun yi niyya ga masu amfani 10 dangane da buƙatun kasuwanci. Lokaci ya yi da za a yi magana game da ƙuntatawar kasuwanci da muke da shi. Dole ne mu tabbatar da babban nauyin aiki, tabbatar da bin doka kan adana bayanan sirri. Me kuma?

Nikolay: Da farko, mun fara daga buƙatun bidiyo. Abu mafi mahimmanci shine rarraba ajiyar bidiyo a duniya don isar da sauri ga abokin ciniki. Sauran sun haɗa da ƙudurin 1080p, da kuma mayar da baya, wanda wasu da yawa ba sa aiwatarwa a cikin yanayin rayuwa. Daga baya mun kara da ikon kunna saurin 2x, tare da taimakonsa za ku iya "kama" tare da rayuwa kuma ku ci gaba da kallon taron a ainihin lokacin. Kuma tare da hanya, aikin alamar lokaci ya bayyana. Ƙari ga haka, dole ne mu kasance masu jure wa kuskure kuma mu jure nauyin haɗin haɗin gwiwa 10. Daga mahangar baya, wannan kusan haɗin kai 000 ne wanda aka ninka ta buƙatun 10 don kowane shafi na sabuntawa. Kuma wannan ya riga ya kasance 000 RPS / s. Kadan daga ciki.

- Shin akwai wasu buƙatu don "nuni na gani" tare da abokan hulɗa na kan layi?

Nikolay: Ee, dole ne a yi wannan cikin sauri da kuma duniya baki ɗaya. Muna da kamfanoni masu haɗin gwiwa har guda 10 don kowane taro, kuma dole ne a kammala su duka a cikin mako ɗaya ko biyu. Koyaya, abubuwan da ke cikin su ya bambanta kaɗan a cikin tsari. Amma an yi wani injin samfuri wanda ke haɗa waɗannan shafuka akan tashi, ba tare da wani ci gaba ba.

- Akwai kuma buƙatun don nazarin ra'ayoyi da ƙididdiga na ainihin lokaci. Na san cewa muna amfani da Prometheus don wannan, amma gaya mana dalla-dalla: menene buƙatun muka cika don nazari, kuma ta yaya ake aiwatar da wannan?

Nikolay: Da farko, muna da buƙatun tallace-tallace don tattarawa don gwajin A/B da tattara bayanai don fahimtar yadda ake isar da mafi kyawun abun ciki ga abokin ciniki a nan gaba. Hakanan akwai buƙatu don wasu nazarce-nazarce kan ayyukan abokan tarayya da kuma nazarin da kuke gani (ziyarar maƙiyi). Ana tattara duk bayanan a ainihin lokacin.

Za mu iya ba da wannan bayanin a cikin tsari mai ƙima har ma ga masu magana: mutane nawa ne suke kallon ku a wani lokaci na lokaci. A lokaci guda, don bin Dokar Tarayya ta 152, ba a bin sawun keɓaɓɓen asusun ku da bayanan sirri ta kowace hanya.

Dandali ya riga yana da kayan aikin tallace-tallace da ma'aunin mu don auna ayyukan mai amfani a ainihin lokacin (wanda ya kalli abin na biyu na rahoton) don gina jadawalin halartar rahotannin. Dangane da wannan bayanan, ana gudanar da bincike wanda zai inganta tarurrukan na gaba.

Zamba

- Shin muna da hanyoyin hana zamba?

Nikolay: Saboda tsantsar lokaci daga ra'ayi na kasuwanci, ba a fara saita aikin don toshe haɗin da ba dole ba. Idan masu amfani biyu sun shiga ƙarƙashin asusu ɗaya, za su iya duba abun ciki. Amma mun san adadin ra'ayoyi na lokaci guda daga asusun ɗaya. Kuma mun haramta wa wasu masu cin zarafi da yawa.

Vladimir: Ga darajarta, ɗaya daga cikin masu amfani da aka dakatar ya fahimci dalilin da yasa hakan ya faru. Ya zo, ya ba da hakuri kuma ya yi alkawarin siyan tikitin.

- Domin duk wannan ya faru, dole ne ku binciki duk masu amfani gaba ɗaya daga shigarwa zuwa fita, koyaushe ku san abin da suke yi. Ta yaya wannan tsarin yake aiki?

Vladimir: Ina so in yi magana game da nazari da ƙididdiga, wanda za mu bincika don nasarar rahoton ko kuma za mu iya ba wa abokan tarayya. Ana haɗa duk abokan ciniki ta hanyar haɗin yanar gizo zuwa takamaiman gungu na baya. Yana nan tsaye hazelcast. Kowane abokin ciniki a kowane lokaci yana aika abin da yake yi da waƙar da yake kallo. Sannan ana tattara wannan bayanin ta amfani da ayyukan Hazelcast mai sauri kuma a mayar da shi ga duk wanda ke kallon waɗannan waƙoƙin. Muna gani a kusurwar mutane nawa ne a yanzu tare da mu.

Ƙirƙirar dandalin bidiyo a cikin kwanaki 90

Ana adana bayanai iri ɗaya a ciki mongo kuma ya tafi tafkin bayanan mu, daga inda muke da damar gina hoto mai ban sha'awa. Tambayar ta taso: masu amfani nawa nawa ne suka kalli wannan rahoton? Mu je zuwa Postgreshi, akwai pings na duk mutanen da suka zo ta id na wannan rahoto. Mun tattara, tara na musamman, kuma yanzu za mu iya fahimta.

Nikolay: Amma a lokaci guda, muna kuma karɓar bayanan lokaci-lokaci daga Prometheus. An saita shi gaba da duk ayyukan Kubernetes, akan Kubernetes kanta. Yana tattara komai gaba ɗaya, kuma tare da Grafana za mu iya gina kowane jadawali a ainihin lokacin.

Vladimir: A gefe guda, muna zazzage wannan don ƙarin sarrafa OLAP. Kuma don OLTP, aikace-aikacen yana zazzage duk abin zuwa Prometheus, Grafana da jadawali har ma sun haɗu!

- Wannan shi ne yanayin lokacin da jadawalai suka haɗu.

Canje-canje masu ƙarfi

- Faɗa mana yadda ake fitar da sauye-sauye masu ƙarfi: idan an soke rahoton mintuna 6 kafin farawa, menene jerin ayyuka? Wane bututu ne ke aiki?

Vladimir: Bututun yana da sharadi sosai. Akwai dama da dama. Na farko shi ne cewa tsarin tsara jadawalin ya yi aiki kuma ya canza jadawalin. An ɗora tsarin da aka gyara zuwa Mai Ciki. Bayan haka mai baya ya fahimci cewa akwai canje-canje ga wannan taron a cikin Contentful, ya ɗauka kuma ya sake gina shi. Ana tattara duk abin da aka aika ta hanyar yanar gizo.

Yiwuwar ta biyu, lokacin da komai ya faru a cikin hanzari: edita da hannu ya canza bayanin a cikin Contentful (haɗin kai zuwa Telegram, gabatarwar mai magana, da sauransu) kuma dabaru iri ɗaya suna aiki kamar na farko.

Nikolay: Komai yana faruwa ba tare da sabunta shafin ba. Duk canje-canje suna faruwa kwata-kwata ga abokin ciniki. Haka yake don sauya rahotanni. Lokacin da lokaci ya zo, rahoton da haɗin kai suna canzawa.

Vladimir: Har ila yau, akwai raguwar lokaci don fara rahotanni a cikin tsarin lokaci. Tun farko dai babu komai. Kuma idan kun yi amfani da linzamin kwamfuta a kan igiyar ja, to, a wani lokaci, godiya ga darektan watsa shirye-shirye, cutoffs zai bayyana. Daraktan ya tsara farkon watsa shirye-shiryen daidai, mai ba da baya ya ɗauki wannan canji, yana ƙididdige lokacin farawa da ƙarshen ƙarshen waƙar gabaɗaya daidai da jadawalin taron, aika zuwa abokan cinikinmu, kuma mai kunnawa ya zana cutoffs. Yanzu mai amfani zai iya kewayawa cikin sauƙi zuwa farkon da ƙarshen rahoton. Babban buƙatun kasuwanci ne, dacewa sosai kuma mai amfani. Ba kwa ɓata lokaci don gano ainihin lokacin farawa don rahoton. Kuma idan muka yi samfoti, zai zama abin ban mamaki sosai.

Aiwatar da aiki

- Ina so in yi tambaya game da turawa. Kolya da tawagar sun yi amfani da lokaci mai yawa a farkon don kafa dukkanin kayan aikin da duk abin da ke faruwa a gare mu. Fada mani, da me aka yi duka?

Nikolay: Daga ra'ayi na fasaha, da farko muna da buƙatu don samfurin ya zama kamar yadda zai yiwu daga kowane mai siyarwa. Ku zo AWS don yin rubutun Terraform musamman daga AWS, ko musamman daga Yandex, ko daga Azure, da sauransu. bai dace da gaske ba. Dole ne mu matsa wani wuri a wani lokaci.

A cikin makonni uku na farko muna ci gaba da neman hanyar yin wannan mafi kyau. A sakamakon haka, mun zo ga ƙarshe cewa Kubernetes a cikin wannan yanayin shine komai namu, saboda yana ba mu damar ƙirƙirar ayyuka masu ƙima ta atomatik, ƙaddamarwa ta atomatik, da samun kusan duk sabis daga cikin akwatin. A zahiri, dole ne a horar da duk sabis don yin aiki tare da Kubernetes, Docker, kuma dole ne ƙungiyar ta koya.

Muna da gungu biyu. Gwaji da samarwa. Sun yi kama da juna ta fuskar hardware da saituna. Muna aiwatar da abubuwan more rayuwa a matsayin lamba. Ana fitar da duk ayyuka ta atomatik zuwa wurare uku daga rassan fasali, manyan rassa, rassan gwaji, da GitLab ta amfani da bututun atomatik. Wannan an haɗa shi da yawa cikin GitLab, an haɗa shi da Elastic, Prometheus.

Muna samun damar da sauri (don bayan baya a cikin mintuna 10, don gaba a cikin mintuna 5) mirgine canje-canje zuwa kowane yanayi tare da duk gwaje-gwaje, haɗin kai, gwaje-gwajen aiki, gwaje-gwajen haɗin kai akan yanayin, da kuma gwaji tare da gwaje-gwajen lodi akan. yanayin gwaji kusan abu ɗaya da muke so mu samu a samarwa.

Game da gwaje-gwaje

- Kuna gwada kusan komai, yana da wuya a gaskanta yadda kuka rubuta komai. Kuna iya gaya mana game da gwaje-gwajen baya: nawa aka rufe komai, menene gwaje-gwaje?

Vladimir: An rubuta nau'ikan gwaje-gwaje iri biyu. Na farko gwaje-gwajen bangaren ne. Gwajin matakin ɗaga duka aikace-aikacen bazara da tushe a ciki Kwantenan gwaji. Wannan gwaji ne na mafi girman yanayin kasuwanci. Ba na gwada ayyuka. Mu kawai muna gwada wasu manyan abubuwa. Misali, daidai a cikin gwajin, ana yin koyi da tsarin shiga ga mai amfani, buƙatun mai amfani na tikitin zuwa inda zai iya zuwa, da buƙatar samun damar kallon rafi. Bayyanannun yanayin mai amfani.

Ana aiwatar da kusan irin wannan abu a cikin abin da ake kira gwaje-gwajen haɗin kai, wanda a zahiri ke gudana akan yanayin. A gaskiya ma, lokacin da aka ƙaddamar da ƙaddamarwa na gaba a cikin samarwa, ainihin ainihin al'amuran suna gudana a cikin samarwa. Shiga guda ɗaya, neman tikiti, neman samun dama ga CloudFront, duba cewa rafin yana haɗi da gaske tare da izini na, duba ƙirar daraktan.

A halin yanzu ina da gwaje-gwaje kusan 70 da gwaje-gwajen haɗin kai kusan 40 a cikin jirgin. Rufewa yana kusa da 95%. Wannan don abubuwan da aka haɗa, ƙasa da na haɗin kai ne, kawai ba a buƙata sosai. Idan aka yi la'akari da cewa aikin ya ƙunshi kowane nau'in tsara lambar, wannan alama ce mai kyau. Babu wata hanya ta yin abin da muka yi a cikin wata uku. Domin idan muka gwada da hannu, muna ba da siffofi ga mai gwajin mu, sai ta sami kurakurai ta dawo mana da su don gyarawa, to wannan zagaye na zagayowar lambar zai yi tsayi sosai, kuma ba za mu cika kowane lokaci ba.

Nikolay: A al'ada, don aiwatar da koma baya a kan dandamali gaba ɗaya lokacin canza wasu ayyuka, kuna buƙatar zama ku yi poke ko'ina na kwana biyu.

Vladimir: Sabili da haka, babban nasara ne cewa lokacin da na kimanta fasalin, na ce ina buƙatar kwanaki 4 don alkalama masu sauƙi guda biyu da 1 websocket, Kolya ya ba shi damar. Ya riga ya saba da gaskiyar cewa waɗannan kwanaki 4 sun haɗa da nau'ikan gwaje-gwaje 2, sa'an nan kuma, mai yiwuwa, zai yi aiki.

Nikolay: Har ila yau, ina da gwaje-gwaje 140 da aka rubuta: bangaren + aiki, wanda ke yin abu iri ɗaya. Ana gwada duk yanayin yanayi iri ɗaya a samarwa, a cikin gwaji, da samarwa. Mun kuma ƙara kwanan nan na ainihin gwajin UI na aiki. Ta wannan hanyar za mu rufe mafi mahimman ayyuka waɗanda zasu iya faɗuwa.

Vladimir: Tabbas, yana da daraja magana game da gwaje-gwajen kaya. Ya zama dole don gwada dandamali a ƙarƙashin nauyin da ke kusa da ainihin don fahimtar yadda duk abin yake, abin da ke faruwa tare da Rabbit, abin da ke faruwa tare da JVMs, nawa ake buƙatar ƙwaƙwalwar ajiya.

- Ban sani ba tabbas ko muna gwada wani abu a gefen rafi, amma na tuna cewa an sami matsaloli tare da transcoders lokacin da muka hadu. Shin mun gwada rafukan?

Artyom: Gwaji akai-akai. Tsara taro. A yayin gudanar da taron, an sami tikitin JIRA kusan 2300. Waɗannan abubuwa ne na gama-gari waɗanda mutane suka yi don yin ganawa. Mun dauki sassan dandalin zuwa wani shafi na daban don saduwa, wanda Kirill Tolkachev (ya gudanar da shi)maganakv).

A gaskiya, babu manyan matsaloli. A zahiri sau biyu mun kama caching kwari akan CloudFront, mun magance shi da sauri - kawai mun sake tsara manufofin. An sami ƙarin kurakurai a cikin mutane, a cikin tsarin yawo akan rukunin yanar gizon.

A yayin taron, dole ne in rubuta ƙarin masu fitar da kayayyaki da yawa don in sami ƙarin kayan aiki da sabis. A wasu wuraren sai da na kera kekuna na don kawai na auna. Duniyar kayan aikin AV (bidiyo-bidiyo) ba ta da kyau sosai - kuna da wasu nau'ikan “API” na kayan aiki waɗanda kawai ba za ku iya yin tasiri ba. Kuma yana da nisa daga gaskiyar cewa za ku iya samun bayanan da kuke buƙata. Masu siyar da kayan aikin suna da sannu a hankali, kuma yana da wuya a sami abin da kuke so daga gare su. A cikin duka akwai nau'ikan kayan aiki sama da 100, ba sa mayar da abin da kuke buƙata, kuma kuna rubuta abubuwan ban mamaki da masu fitar da kaya, godiya ga wanda aƙalla zaku iya gyara tsarin.

Kayan aiki

- Na tuna yadda kafin a fara taro mun sayi ƙarin kayan aiki.

Artyom: Mun sayi kwamfutoci, kwamfutar tafi-da-gidanka, da fakitin baturi. A halin yanzu muna iya rayuwa ba tare da wutar lantarki ba na tsawon mintuna 40. A watan Yuni akwai tsawa mai tsanani a St. Petersburg - don haka muna da irin wannan baƙar fata. A lokaci guda, masu samarwa da yawa suna zuwa mana tare da hanyoyin haɗin kai daga wurare daban-daban. Wannan shi ne ainihin minti 40 na ginin ƙasa, lokacin da za mu sami fitilu, sauti, kyamarori, da dai sauransu suna aiki.

- Muna da irin wannan labari tare da Intanet. A cikin ofishin da dakunan dakunan mu suke, mun jawo taru mai zafi tsakanin benaye.

Artyom: Muna da 20 Gbit na fiber tsakanin benaye. Bugu da ari tare da benaye, wani wuri akwai optics, wani wuri babu optics, amma har yanzu akwai m tashoshi fiye da gigabit - muna gudanar da bidiyo a kansu tsakanin waƙoƙi na taron. Gabaɗaya, yana da matukar dacewa don yin aiki akan abubuwan more rayuwa na ku; da kyar ba za ku iya yin hakan ba a tarukan layi na kan layi.

- Kafin in yi aiki a rukunin JUG Ru, na ga yadda aka kafa ɗakunan kayan aiki a taron tarukan layi na dare, inda akwai babban mai saka idanu tare da duk ma'aunin awo da kuke ginawa a Grafana. Yanzu akwai kuma ɗakin hedkwatar da ƙungiyar ci gaba ke zaune, wanda yayin taron yana gyara wasu kurakurai da haɓaka fasali. A lokaci guda, akwai tsarin kulawa wanda aka nuna akan babban allo. Artyom, Kolya da sauran mutane suna zaune kuma tabbatar da cewa duk bai faɗi ba kuma yana aiki da kyau.

Curiosities da matsaloli

- Kun yi magana da kyau game da gaskiyar cewa muna da yawo tare da Amazon, akwai mai kunnawa tare da gidan yanar gizo, an rubuta duk abin da aka rubuta a cikin harsunan shirye-shirye daban-daban, ana ba da haƙuri ga kuskure da sauran buƙatun kasuwanci, gami da asusun sirri wanda ke tallafawa ga ƙungiyoyin doka da daidaikun mutane, kuma za mu iya haɗawa da wani ta amfani da OAuth 2.0, akwai hana zamba, toshe mai amfani. Za mu iya fitar da canje-canje a hankali saboda mun yi shi da kyau, kuma an gwada shi duka.

Ina sha'awar sanin waɗanne abubuwan ban mamaki suka ƙunsa wajen fara wani abu. Shin akwai wasu yanayi masu ban mamaki lokacin da kuke haɓaka baya, gaba, wani abu mahaukaci ya juya kuma ba ku fahimci abin da za ku yi da shi ba?

Vladimir: Ni a ganina hakan ya faru ne kawai watanni uku da suka gabata. Kowace rana. Kamar yadda kake gani, duk gashina ya ciro.

Ƙirƙirar dandalin bidiyo a cikin kwanaki 90
Vladimir Krasilshchik bayan watanni 3, lokacin da wani irin wasa ya fito kuma babu wanda ya fahimci abin da za a yi da shi

Kowace rana akwai irin wannan abu, lokacin da akwai irin wannan lokacin da za ku cire shi kuma ku yayyage gashin ku, ko ku gane cewa babu wani, kuma ku ne kawai za ku iya yi. Babban taronmu na farko shine TechTrain. Ranar 6 ga Yuni da karfe 2 na safe har yanzu ba mu fitar da yanayin samar da kayayyaki ba, Kolya yana fitar da shi. Kuma asusun sirri bai yi aiki azaman sabar izini ta amfani da OAuth2.0. Mun mayar da shi zuwa mai ba da OAuth2.0 don haɗa dandamali da shi. Na yi aiki na kusan sa'o'i 18 kai tsaye, na kalli kwamfutar ban ga komai ba, ban fahimci dalilin da yasa ba ta aiki ba, kuma Kolya ya kalli lambara da nisa, na nemi kwaro a cikin tsarin bazara. , same shi, kuma LC yayi aiki, kuma a cikin samarwa ma.

Nikolay: Kuma awa daya kafin TechTrain sakin ya faru.

Taurari da yawa sun daidaita a nan. Mun yi sa'a sosai saboda muna da babbar ƙungiya, kuma kowa ya sami wahayi ta hanyar ra'ayin yin ta akan layi. Duk waɗannan watanni ukun an kore mu da cewa mun “yi YouTube.” Ban yarda da kaina in yaga gashin kaina ba, amma na gaya wa kowa cewa komai zai yi aiki, domin a gaskiya, an riga an ƙididdige komai tun da daɗewa.

Game da aiki

- Za ku iya gaya mani mutane nawa ne a rukunin yanar gizon akan waƙa ɗaya? Akwai wasu batutuwan aiki?

Nikolay: Babu matsalolin aiki, kamar yadda muka riga muka fada. Matsakaicin adadin mutanen da suka halarci rahoton ɗaya shine mutane 1300, wannan yana kan Heisenbug.

- Shin akwai wasu matsaloli game da kallon gida? Kuma yana yiwuwa a sami bayanin fasaha tare da zane-zane na yadda duk yake aiki?

Nikolay: Za mu yi labari game da wannan daga baya.

Kuna iya har ma zazzage rafukan cikin gida. Da zarar taron ya fara, ya zama mafi sauƙi, saboda rafukan samarwa sun bayyana cewa za mu iya kallon kowane lokaci.

Vladimir: Kamar yadda na fahimta, masu haɓaka gaba-gaba sun yi aiki a gida tare da izgili, sa'an nan kuma, tun lokacin da za a mirgine zuwa devs a gaba kuma gajere ne (minti 5), babu matsaloli tare da bincika abin da ke faruwa tare da takaddun shaida.

- An gwada komai kuma an cire shi, har ma a cikin gida. Wannan yana nufin za mu rubuta labarin tare da duk fasalolin fasaha, nuna muku, gaya muku komai tare da zane-zane, yadda yake.

Vladimir: Kuna iya ɗauka ku maimaita shi.

- A cikin watanni 3.

Sakamakon

- Duk abin da aka kwatanta tare yana da kyau, la'akari da cewa an yi shi ta hanyar ƙananan ƙungiya a cikin watanni uku.

Nikolay: Babbar ƙungiya ba za ta yi wannan ba. Amma ƙaramin rukuni na mutanen da ke sadarwa a kud da kud da juna kuma suna iya cimma yarjejeniya. Ba su da wani sabani, an ƙirƙira gine-ginen a cikin kwanaki biyu, an kammala shi kuma bai canza ba. Akwai tsauraran sauƙaƙe buƙatun kasuwanci masu shigowa dangane da tara buƙatun fasali da canje-canje.

- Menene ke cikin jerin ƙarin ayyuka lokacin da taron bazara ya riga ya faru?

Nikolay: Misali, kiredit. Launuka masu rarrafe akan bidiyon, fiɗa a wasu wurare a cikin bidiyon dangane da abubuwan da ake nunawa. Misali, mai magana yana so ya yi tambaya ga masu sauraro, sai kuri’a ta fito a kan allo, wanda ke komawa baya bisa sakamakon zaben da kansa ya yi. Wani nau'i na ayyukan zamantakewa a cikin nau'i na so, zukata, kima na rahoton yayin gabatarwar kanta, don ku iya cika ra'ayi a daidai lokacin ba tare da shagala daga baya ta hanyar amsa tambayoyin ba. Da farko kamar wannan.

Da kuma karawa dandali baki daya, sai dai watsa shirye-shirye da taro, da kuma jihar bayan taro. Waɗannan jerin waƙa ne (ciki har da waɗanda masu amfani suka haɗa), wataƙila abun ciki daga wasu tarurrukan da suka gabata, haɗe-haɗe, masu lakabi, samun dama ga mai amfani, kuma akwai don dubawa akan gidan yanar gizon mu (live.jugru.org).

— Mutane, na gode sosai don amsoshin ku!

Idan a cikin masu karatu akwai waɗanda suka halarci taron mu na bazara, da fatan za a raba ra'ayoyin ku game da mai kunnawa da watsa shirye-shirye. Abin da ya dace, abin da ya fusata ku, me kuke so ku gani a nan gaba?

Idan kuna sha'awar dandalin kuma kuna son ganinsa "a cikin yaƙi", muna sake amfani da shi akan namu taron kaka-hunturu. Akwai gabaɗayan su, don haka kusan tabbas akwai wanda ya dace da ku.

source: www.habr.com

Add a comment