په 90 ورځو کې د ویډیو پلیټ فارم رامینځته کړئ

پدې پسرلي کې موږ ځانونه په خورا خوشحاله شرایطو کې ولیدل. د وبا له امله ، دا څرګنده شوه چې زموږ د دوبي کنفرانسونه آنلاین لیږدولو ته اړتیا لري. او د دې لپاره چې دوی آنلاین په مؤثره توګه ترسره کړي، چمتو شوي سافټویر حلونه زموږ لپاره مناسب نه و؛ موږ اړتیا درلوده چې خپل ځان ولیکئ. او موږ د دې کولو لپاره درې میاشتې وخت درلود.

دا څرګنده ده چې دا په زړه پورې درې میاشتې دي. مګر له بهر څخه دا په بشپړ ډول څرګند ندي: د آنلاین کنفرانس پلیټ فارم څه شی دی؟ له کومو برخو څخه جوړه ده؟ له همدې امله، د دوبي د DevOops کنفرانسونو په وروستیو کې، ما له هغو کسانو څخه وپوښتل چې د دې دندې مسولیت لري:

  • نیکولای مولچانوف - د JUG Ru ګروپ تخنیکي رییس؛
  • ولادیمیر کراسیلشیک یو عملي جاوا پروګرامر دی چې په شالید کې کار کوي (تاسو کولی شئ زموږ د جاوا کنفرانسونو کې د هغه راپورونه هم وګورئ)؛
  • آرټیوم نیکونوف زموږ د ټولو ویډیو سټینګ لپاره مسؤل دی.

په هرصورت، د مني - ژمي کنفرانسونو کې به موږ د ورته پلیټ فارم یوه پرمختللې نسخه وکاروو - نو ډیری هابرا لوستونکي به لاهم د دې کاروونکي وي.

په 90 ورځو کې د ویډیو پلیټ فارم رامینځته کړئ

ټول انځور

- د ټیم جوړښت څه و؟

نیکولای مولچانوف: موږ یو شنونکی، یو ډیزاینر، یو ټیسټر، درې مخکینۍ پای، او یو شاته پای لرو. او، البته، د T شکل متخصص!

- پروسه په عمومي توګه څه ډول ښکاري؟

نیکولای: د مارچ تر نیمایي پورې ، موږ د آنلاین لپاره هیڅ چمتو نه و. او د مارچ په 15 ، ټول آنلاین کاروسیل سپن کول پیل کړل. موږ څو ذخیره جوړه کړه، پلان مو جوړ کړ، د بنسټیز جوړښت په اړه مو بحث وکړ او هر څه مو په دریو میاشتو کې وکړل.

دا، البته، د پالن جوړونې، معمارۍ، د ځانګړتیاوو انتخاب، د دې ځانګړتیاوو لپاره رایه ورکول، د دې ځانګړتیاو لپاره پالیسي، د دوی ډیزاین، پراختیا، ازموینې له کلاسیک پړاوونو څخه تیریږي. د پایلې په توګه، د جون په 6، موږ هرڅه تولید ته واړول. ټیک ټرین. د هر څه لپاره 90 ورځې وې.

- ایا موږ د هغه څه د ترسره کولو توان درلود چې موږ یې ژمن یو؟

نیکولای: له هغه ځایه چې موږ اوس آنلاین د DevOops کنفرانس کې برخه اخلو، دا پدې مانا ده چې دا کار کړی. زه په شخصي توګه اصلي شی ته ژمن یم: زه به پیرودونکو ته یوه وسیله راوړم چې دوی کولی شي آنلاین کنفرانس جوړ کړي.

ننګونه دا وه: موږ ته یوه وسیله راکړئ چې ورسره موږ وکولی شو خپل کنفرانسونه د ټکټ اخیستونکو ته خپاره کړو.

ټول پلانونه په څو مرحلو ویشل شوي وو، او ټولې ځانګړتیاوې (شاوخوا 30 نړیوال) په 4 کټګوریو ویشل شوي:

  • کوم چې موږ به خامخا وکړو (موږ له دوی پرته ژوند نشو کولی)
  • کوم چې موږ به په دویم ډول ترسره کړو،
  • کوم چې موږ به هیڅکله ونه کړو،
  • او هغه څه چې موږ به هیڅکله ونه کړو.

موږ د لومړیو دوو کټګوریو څخه ټول ځانګړتیاوې جوړې کړې.

- زه پوهیږم چې د JIRA ټولټال 600 مسلې رامینځته شوي. په دریو میاشتو کې، تاسو 13 مایکرو خدمتونه جوړ کړل، او زه شک لرم چې دوی نه یوازې په جاوا کې لیکل شوي. تاسو مختلف ټیکنالوژي کارولې، تاسو په ایمیزون کې په دریو موجودیت زونونو کې دوه کوبرنیټس کلسترونه او 5 RTMP جریانونه لرئ.

راځئ چې اوس د سیسټم هرې برخې په جلا توګه وګورو.

جریان

- راځئ چې پیل وکړو کله چې موږ دمخه د ویډیو عکس لرو ، او دا ځینې خدماتو ته لیږدول کیږي. آرټیوم، موږ ته ووایه چې دا خپرونه څنګه کیږي؟

آرتیوم نیکونوف: زموږ عمومي سکیم داسې ښکاري: د کیمرې څخه عکس -> زموږ د کنټرول خونې -> ځایی RTMP سرور -> ایمیزون -> ویډیو پلیر. نور جزیات په اړه یې لیکلي د جون په میاشت کې په Habré کې.

په عموم کې ، د دې کولو لپاره دوه نړیوالې لارې شتون لري: یا په هارډویر یا د سافټویر حلونو پراساس. موږ د سافټویر لاره غوره کړه ځکه چې دا د ریموټ سپیکرو په قضیه کې اسانه ده. دا تل ممکنه نه ده چې په بل هیواد کې سپیکر ته هارډویر راوړو، مګر سپیکر ته د سافټویر وړاندې کول اسانه او ډیر باوري ښکاري.

د هارډویر له نظره ، موږ یو ټاکلی شمیر کیمرې لرو (زموږ په سټوډیوګانو کې او په ریموټ سپیکرو کې) ، په سټوډیو کې یو ټاکلی شمیر ریموټ کنټرولونه ، کوم چې ځینې وختونه باید د خپرونې پرمهال د میز لاندې سم ترمیم شي.

د دې وسیلو څخه سیګنالونه د کیپچر کارتونو ، ان پټ/آؤټ پټ کارتونو او غږ کارتونو سره کمپیوټر ته ننوځي. هلته سیګنالونه مخلوط شوي او په ترتیبونو کې راټول شوي:

په 90 ورځو کې د ویډیو پلیټ فارم رامینځته کړئ
د 4 سپیکرو لپاره د ترتیب بیلګه

په 90 ورځو کې د ویډیو پلیټ فارم رامینځته کړئ
د 4 سپیکرو لپاره د ترتیب بیلګه

برسېره پر دې، دوامداره خپرونې د دریو کمپیوټرونو په مرسته چمتو کیږي: یو اصلي ماشین او په بدل کې یو جوړه کاري ماشین شتون لري. لومړی کمپیوټر لومړی راپور راټولوي، دوهم - وقفه، لومړی - راتلونکی راپور، دویم - راتلونکی وقف، او داسې نور. او اصلي ماشین لومړی د دویم سره مخلوط کوي.

دا یو ډول مثلث رامینځته کوي ، او که چیرې د دې نوډونو څخه کوم ناکام شي ، موږ کولی شو ګړندي او د کیفیت له لاسه ورکولو پرته پیرودونکو ته مینځپانګې وړاندې کولو ته دوام ورکړو. موږ داسې حالت درلود. د کنفرانسونو د لومړۍ اونۍ په جریان کې، موږ یو ماشین تنظیم کړ، دا یې فعال / بند کړ. داسې ښکاري چې خلک زموږ د زغم څخه خوښ دي.

بیا، د کمپیوټرونو جریانونه محلي سرور ته ځي، کوم چې دوه دندې لري: د RTMP جریانونو او ریکارډ بیک اپونو ته لاره. نو موږ د ثبت کولو ډیری نقطې لرو. د ویډیو جریان بیا زموږ د سیسټم برخې ته لیږل کیږي چې په ایمیزون ساس خدماتو کې جوړ شوي. مونږ تری ګټه پورته کوو میډیا ژوندی,S3,CloudFront.

نیکولای: مخکې له دې چې ویډیو لیدونکو ته ورسیږي هلته څه پیښیږي؟ تاسو باید دا یو څه پرې کړئ، سمه ده؟

آرټیوم: موږ ویډیو په خپله برخه کې کمپرس کوو او میډیا لایو ته یې لیږو. موږ هلته ټرانسکوډر پیل کوو. دوی په ریښتیني وخت کې ویډیوګانې په څو ریزولوشنونو کې لیږدوي ترڅو خلک وکولی شي په خپلو تلیفونونو کې وګوري ، په هیواد کې د خراب انټرنیټ له لارې ، او داسې نور. بیا دا جریانونه پرې کیږي ټوټې، دا څنګه پروتوکول کار کوي HLS. موږ مخکینۍ برخې ته یو پلی لیست لیږو چې دې برخو ته اشارې لري.

- ایا موږ 1080p ریزولوشن کاروو؟

آرټیوم: زموږ د ویډیو عرض د 1080p - 1920 پکسلز په څیر دی، او لوړوالی یو څه لږ دی، انځور ډیر اوږد دی - د دې لپاره دلیلونه شتون لري.

پلیر

- آرټیوم تشریح کړه چې ویډیو څنګه جریانونو ته ځي، دا څنګه د مختلف سکرین ریزولوشنونو لپاره په مختلف پلې لیستونو کې ویشل کیږي، ټوټې ټوټې کیږي او پلیر ته رسیږي. کولیا، اوس راته ووایه چې دا کوم ډول لوبغاړی دی، دا څنګه جریان مصرفوي، ولې HLS؟

نیکولای: موږ یو لوبغاړی لرو چې ټول کنفرانس لیدونکي یې لیدلی شي.

په 90 ورځو کې د ویډیو پلیټ فارم رامینځته کړئ

په لازمي ډول ، دا د کتابتون شاوخوا پوښ دی hls.js، په کوم کې چې ډیری نور لوبغاړي لیکل شوي. مګر موږ خورا ځانګړي فعالیت ته اړتیا درلوده: د هغه ځای بیرته راګرځول او په نښه کول چیرې چې سړی دی ، کوم راپور چې هغه اوس ګوري. موږ خپل ترتیب ته هم اړتیا درلوده، هر ډول لوګو او نور هرڅه چې زموږ سره جوړ شوي وو. له همدې امله، موږ پریکړه وکړه چې خپل کتابتون ولیکئ (د HLS په اړه یو ریپر) او په سایټ کې یې ځای پرځای کړئ.

دا د ریښې فعالیت دی، نو دا تقریبا لومړی پلي شوی. او بیا هرڅه د هغې شاوخوا وده وکړه.

په حقیقت کې ، د واک ورکولو له لارې ، لوبغاړی د شالید څخه یو پلی لیست ترلاسه کوي چې د وخت او کیفیت سره تړاو لرونکي ټوټو ته لینکونو سره ، اړین ډاونلوډ کوي او کارونکي ته یې ښیې ، په لاره کې یو څه "جادو" ترسره کوي.

په 90 ورځو کې د ویډیو پلیټ فارم رامینځته کړئ
د مهال ویش مثال

- د ټولو راپورونو مهال ویش ښودلو لپاره په پلیر کې یو تڼۍ سمه جوړه شوې ...

نیکولای: هو، موږ سمدلاسه د کاروونکي نیویګیشن ستونزه حل کړه. د اپریل په نیمایي کې، موږ پریکړه وکړه چې موږ به زموږ هر کنفرانس په جلا ویب پاڼه کې نه خپروو، مګر هر څه به په یوه کې یوځای کړو. نو د دې لپاره چې د بشپړ پاس ټیکټ کارونکي کولی شي په آزاده توګه د مختلف کنفرانسونو ترمینځ تیر شي: دواړه ژوندۍ خپرونې او د تیرو غونډو ریکارډونه.

او د دې لپاره چې کاروونکو ته دا اسانه کړي چې اوسني جریان ته حرکت وکړي او د ټریکونو ترمینځ تیر شي، موږ پریکړه وکړه چې د ټریکونو او راپورونو ترمینځ د بدلولو لپاره د "ټول نشر" تڼۍ او افقی راپور کارتونه جوړ کړو. د کیبورډ کنټرول شتون لري.

- آیا په دې کې کومه تخنیکي ستونزه وه؟

نیکولای: دوی یو سکرول بار درلود چې د مختلف راپورونو پیل ټکي په نښه شوي.

- په پای کې، ایا تاسو دا نښې په سکرول بار کې پلي کړې مخکې لدې چې یوټیوب ورته ورته څه وکړي؟

آرټیوم: دوی بیا په بیټا کې درلودل. داسې بریښي چې دا خورا پیچلي ځانګړتیا ده ځکه چې دوی په تیر کال کې د کاروونکو سره په جزوي ډول ازموینه کړې. او اوس دا پلور ته رسیدلی.

نیکولای: مګر موږ واقعیا دا د ګړندي پلور لپاره ترلاسه کړل. په ریښتیا ، د دې ساده ب featuresو ترشا د لوبغاړي دننه د شالید ، مخکني پای ، محاسبې او ریاضیاتو لوی مقدار شتون لري.

مخ اخری

- راځئ چې معلومه کړو چې دا مواد چې موږ یې ښکاره کوو (د وینا کارت، سپیکرې، ویب پاڼه، مهال ویش) څنګه مخکینۍ پای ته رسیږي؟

ولادیمیر کراسیلشیک: موږ ډیری داخلي معلوماتي سیسټمونه لرو. دلته یو سیسټم شتون لري چې ټول راپورونه او ټول ویناوال پکې داخل شوي. یوه پروسه ده چې له مخې یې سپیکر په کنفرانس کې برخه اخلي. سپیکر یو غوښتنلیک وړاندې کوي، سیسټم یې نیسي، بیا یو مشخص پایپ لاین شتون لري چې له مخې یې راپور جوړیږي.

په 90 ورځو کې د ویډیو پلیټ فارم رامینځته کړئ
دا څنګه سپیکر پایپ لاین ګوري

دا سیسټم زموږ داخلي پرمختګ دی.

بیا، تاسو اړتیا لرئ د انفرادي راپورونو څخه مهال ویش جوړ کړئ. لکه څنګه چې تاسو پوهیږئ، دا د NP-سخته ستونزه ده، مګر موږ یو څه حل کوو. د دې کولو لپاره ، موږ یو بل برخه پیل کوو چې مهالویش رامینځته کوي او د دریمې ډلې کلاوډ خدمت مینځپانګې ته یې اپلوډ کوي. هلته ، هرڅه د میز په څیر ښکاري چې پکې د کنفرانس ورځې شتون لري ، په ورځو کې د وخت سلاټونه شتون لري ، او په سلاټونو کې راپورونه ، وقفې یا سپانسرشپ فعالیتونه شتون لري. نو هغه مینځپانګه چې موږ یې ګورو د دریمې ډلې خدمت کې موقعیت لري. او دنده دا ده چې سایټ ته یې ورسوي.

داسې ښکاري چې دا سایټ یوازې د پلیر سره یوه پاڼه ده، او دلته هیڅ پیچلي ندي. پرته له دې چې نه وي. د دې پاڼې شاته شاته مینځپانګه ته ځي ، له هغه ځایه مهالویش ترلاسه کوي ، ځینې شیان رامینځته کوي او مخکني ته یې لیږي. د ویب ساکټ اتصال په کارولو سره ، کوم چې زموږ د پلیټ فارم هر پیرودونکی رامینځته کوي ، موږ هغه ته د شالید څخه فرنټ اینڈ ته مهالویش ته تازه لیږو.

اصلي قضیه: سپیکر د کنفرانس په جریان کې سمې دندې بدلې کړې. موږ باید د هغه د ګمارونکي شرکت بیج بدل کړو. دا څنګه د پس منظر څخه پیښیږي؟ یو تازه معلومات د ویب ساکټ له لارې ټولو پیرودونکو ته لیږل کیږي، او بیا فرنټ انډ پخپله مهال ویش بیا راګرځوي. دا ټول په بې ساري ډول ترسره کیږي. د کلاوډ خدمت او زموږ د څو برخو ترکیب موږ ته فرصت راکوي چې دا ټول مینځپانګه رامینځته کړو او مخ ته یې چمتو کړو.

نیکولای: دلته دا روښانه کول مهم دي چې زموږ سایټ د کلاسیک SPA غوښتنلیک ندی. دا دواړه د ترتیب پر بنسټ، وړاندې شوې ویب پاڼه او یو SPA دی. ګوګل په حقیقت کې دا سایټ د وړاندې شوي HTML په توګه ګوري. دا د SEO لپاره او کاروونکي ته د مینځپانګې وړاندې کولو لپاره ښه دی. دا د پاڼې لیدلو دمخه د 1,5 میګابایټ جاوا سکریپټ پورته کولو ته انتظار نه کوي، دا سمدلاسه دمخه وړاندې شوې پاڼه ګوري، او تاسو هرکله چې راپور بدل کړئ احساس کوئ. هرڅه په نیمه ثانیه کې پیښیږي ، ځکه چې مینځپانګه لا دمخه چمتو او په سم ځای کې ځړول کیږي.

- راځئ چې د ټیکنالوژیو په لیست کولو سره د پورته ټولو لاندې یوه کرښه رسم کړو. تیوما وویل چې موږ د ایمیزون 5 جریان لرو، او موږ هلته ویډیو او غږ وړاندې کوو. موږ هلته د باش سکریپټونه لرو، موږ یې د لانچ او تنظیم کولو لپاره کاروو ...

آرټیوم: دا د AWS API له لارې پیښیږي، دلته ډیری نور تخنیکي اړخونه شتون لري. موږ خپل مسؤلیتونه ویشلي ترڅو زه یې ترسره کړم کلاوډ فرنټ، او د مخکینۍ پای او شاته پای پراختیا کونکي دا له هغه ځایه اخلي. موږ د مینځپانګې ترتیب ساده کولو لپاره خپل یو شمیر پابندۍ لرو ، کوم چې موږ بیا په 4K کې جوړوو ، او داسې نور. څرنګه چې د نیټې نیټې خورا سختې وې، موږ دا تقریبا په بشپړ ډول په AWS کې ترسره کړل.

- بیا دا ټول د بیک انډ سیسټم په کارولو سره لوبغاړي ته ځي. موږ په خپل پلیر کې TypeScript، React، Next.JS لرو. او په پس منظر کې موږ په C#، Java، Spring Boot او Node.js کې ډیری خدمتونه لرو. دا ټول د Yandex.Cloud زیربنا په کارولو سره د Kubernetes په کارولو سره ګمارل شوي.

زه دا هم یادونه کول غواړم کله چې ما د پلیټ فارم سره آشنا کیدو ته اړتیا درلوده ، نو دا اسانه وګرځید: ټول ذخیره په GitLab کې دي ، هرڅه ښه نومول شوي ، ازموینې لیکل شوي ، اسناد شتون لري. دا دی، حتی په بیړني حالت کې، دوی د داسې شیانو پاملرنه وکړه.

د سوداګرۍ محدودیتونه او تحلیلونه

- موږ د سوداګرۍ اړتیاو پراساس 10 کاروونکي په نښه کړل. دا وخت دی چې د سوداګرۍ محدودیتونو په اړه وغږیږو چې موږ یې درلودل. موږ باید د لوړ کاري بار ډاډ ترلاسه کړو، د شخصي معلوماتو د ساتنې په اړه د قانون سره موافقت ډاډمن کړو. او نور څه؟

نیکولای: په پیل کې، موږ د ویډیو اړتیاوو څخه پیل شو. ترټولو مهم شی د پیرودونکي ته د ګړندي تحویل لپاره په ټوله نړۍ کې د ویډیو ذخیره توزیع ده. په نورو کې د 1080p ریزولوشن شامل دي ، په بیله بیا ریونډ ، کوم چې ډیری نور یې په ژوندۍ حالت کې نه پلي کوي. وروسته موږ د 2x سرعت فعالولو وړتیا اضافه کړه، د دې په مرسته تاسو کولی شئ په ژوندۍ بڼه "کیچ اپ" وکړئ او په ریښتیني وخت کې کنفرانس لیدلو ته دوام ورکړئ. او د لارې په اوږدو کې، د مهال ویش نښه کولو فعالیت څرګند شو. برسیره پردې، موږ باید د خطا زغم ولرو او د 10 ارتباطاتو بار سره مقاومت وکړو. د پس منظر له نظره، دا نږدې 000 اړیکې دي چې د هرې پاڼې تازه کولو لپاره د 10 غوښتنو لخوا ضرب شوي. او دا لا دمخه 000 RPS/sec دی. کافي یو څه.

- ایا د شریکانو آنلاین سټینډونو سره د "مجازی نندارتون" لپاره نور اړتیاوې شتون درلود؟

نیکولای: هو، دا باید په چټکه او نړیواله توګه ترسره شي. موږ د هر کنفرانس لپاره تر 10 پورې ملګري شرکتونه درلودل، او ټول باید په یوه یا دوو اونیو کې بشپړ شي. په هرصورت، د دوی محتويات په بڼه کې یو څه توپیر لري. مګر یو ځانګړی ټیمپلیټ انجن جوړ شوی و چې دا پاڼې په الوتنه کې راټولوي، په حقیقت کې د نور پرمختګ ګډون پرته.

- د ریښتیني وخت لیدونو او احصایو تحلیل لپاره هم اړتیاوې وې. زه پوهیږم چې موږ د دې لپاره Prometheus کاروو، مګر موږ ته په ډیر تفصیل سره ووایه: موږ د تحلیلاتو لپاره کومې اړتیاوې پوره کوو، او دا څنګه پلي کیږي؟

نیکولای: په پیل کې، موږ د A/B ازموینې لپاره راټولولو او د معلوماتو راټولولو لپاره د بازار موندنې اړتیاوې لرو ترڅو پوه شو چې څنګه په راتلونکي کې پیرودونکي ته غوره مینځپانګې وړاندې کړو. د شریک فعالیتونو او تحلیلونو په اړه د ځینې تحلیلونو لپاره هم اړتیاوې شتون لري چې تاسو یې ګورئ (کاونټر ته مراجعه وکړئ). ټول معلومات په ریښتیني وخت کې راټول شوي.

موږ کولی شو دا معلومات په مجموع کې حتی ویناوالو ته هم چمتو کړو: په یو ټاکلي وخت کې څومره خلکو تاسو لیدلي. په ورته وخت کې، د فدرالي قانون 152 سره مطابقت کولو لپاره، ستاسو شخصي حساب او شخصي معلومات په هیڅ ډول نه تعقیب کیږي.

پلیټ فارم لا دمخه د بازارموندنې وسیلې او زموږ میټریکونه لري چې په ریښتیني وخت کې د کارونکي فعالیت اندازه کولو لپاره (څوک چې د راپور دوهمه برخه ګوري) په راپورونو کې د حاضري ګرافونو رامینځته کولو لپاره. د دې معلوماتو پر بنسټ، څیړنې روانې دي چې راتلونکي کنفرانسونه به ښه کړي.

درغلۍ

- ایا موږ د درغلیو ضد میکانیزمونه لرو؟

نیکولای: د سوداګرۍ له نظره د سخت وخت چوکاټ له امله، دنده په پیل کې نه وه ټاکل شوې چې سمدستي غیر ضروري ارتباطات بند کړي. که دوه کاروونکي د ورته حساب لاندې ننوتل ، دوی کولی شي مینځپانګه وګوري. مګر موږ پوهیږو چې د یو حساب څخه څومره یوځای لیدونه شتون لري. او موږ یو شمیر په ځانګړي ډول ناوړه سرغړونکي منع کړل.

ولادیمیر: د دې کریډیټ لپاره، یو منع شوي کاروونکي پوهیدلي چې ولې دا پیښ شوي. هغه راغی، بخښنه یې وغوښته او ژمنه یې وکړه چې ټکټ واخلي.

- د دې لپاره چې دا ټول پیښ شي، تاسو باید ټول کاروونکي د ننوتلو څخه تر وتلو پورې په بشپړه توګه تعقیب کړئ، تل پوه شئ چې دوی څه کوي. دا سیسټم څنګه کار کوي؟

ولادیمیر: زه غواړم د تحلیلونو او احصایو په اړه وغږیږم، کوم چې موږ بیا د راپور بریالیتوب لپاره تحلیل کوو یا بیا کولی شو شریکانو ته وړاندې کړو. ټول پیرودونکي د ویب ساکټ اتصال له لارې د ځانګړي پس منظر کلستر سره وصل دي. دا هلته ولاړ دی هیزلکاسټ. هر پیرودونکی په هر وخت کې لیږي چې هغه څه کوي او کوم ټریک یې ګوري. بیا دا معلومات د ګړندي هیزلکاسټ دندو په کارولو سره راټول شوي او هرچا ته بیرته لیږل کیږي څوک چې دا ټریکونه ګوري. موږ په کونج کې ګورو چې اوس څومره خلک زموږ سره دي.

په 90 ورځو کې د ویډیو پلیټ فارم رامینځته کړئ

ورته معلومات په کې ساتل کیږي منګ او زموږ د ډیټا جهيل ته ځي، له کوم ځای څخه چې موږ د یو ډیر په زړه پورې ګراف جوړولو فرصت لرو. پوښتنه راپورته کیږي: څومره ځانګړي کاروونکو دا راپور لیدلی؟ موږ ته ځو پوسټګریسونه، د ټولو خلکو پینګونه شتون لري چې د دې راپور ID لخوا راغلي. موږ ځانګړي راټول کړل، راټول کړل، او اوس موږ پوهیږو.

نیکولای: مګر په ورته وخت کې ، موږ د پرومیټیوس څخه ریښتیني وخت معلومات هم ترلاسه کوو. دا د ټولو Kubernetes خدماتو پروړاندې تنظیم شوی ، پخپله د Kubernetes پروړاندې. دا په بشپړ ډول هرڅه راټولوي ، او د ګرافانا سره موږ کولی شو په ریښتیني وخت کې کوم ګرافونه جوړ کړو.

ولادیمیر: له یوې خوا، موږ دا د نورو OLAP پروسس کولو لپاره ډاونلوډ کوو. او د OLTP لپاره، غوښتنلیک ټول شیان پرومیتیوس، ګرافانا ته ډاونلوډ کوي او ګرافونه حتی یو ځای کیږي!

- دا هغه حالت دی کله چې ګرافونه سره یو ځای کیږي.

متحرک بدلونونه

- موږ ته ووایاست چې متحرک بدلونونه څنګه پلي کیږي: که راپور له پیل څخه 6 دقیقې دمخه لغوه شوی وي، د عمل سلسله څه ده؟ کوم پایپ لاین کار کوي؟

ولادیمیر: پایپ لاین خورا مشروط دی. ډیری امکانات شتون لري. لومړی دا چې د مهالویش تولید پروګرام کار وکړ او مهالویش یې بدل کړ. تعدیل شوی مهالویش په محتوا کې اپلوډ شوی. وروسته له دې چې پس منظر پوه شي چې په محتوا کې د دې کنفرانس لپاره بدلونونه شتون لري، هغه یې اخلي او بیا یې جوړوي. هرڅه راټول شوي او د ویب ساکټ له لارې لیږل کیږي.

دوهم امکان ، کله چې هرڅه په ناڅاپي سرعت سره پیښیږي: مدیر په لاسي ډول معلومات په مینځپانګه بدلوي (د ټیلیګرام سره لینک ، د سپیکر پریزنټشن ، او داسې نور) او ورته منطق د لومړي ځل په څیر کار کوي.

نیکولای: هرڅه د پاڼې تازه کولو پرته پیښیږي. ټول بدلونونه د پیرودونکي لپاره په بشپړ ډول بې ساري پیښیږي. ورته د راپورونو بدلولو لپاره ځي. کله چې وخت راشي، راپور او انٹرفیس بدلیږي.

ولادیمیر: همچنان ، په مهال ویش کې د راپورونو پیل کولو لپاره د وخت کموالی شتون لري. په پیل کې هیڅ شی نشته. او که تاسو خپل موږک په سور پټۍ کې واچوئ ، نو په یو وخت کې ، د نشراتو رییس څخه مننه ، کټ آف به څرګند شي. ډایرکټر د خپرونې سم پیل ټاکي، پس منظر دا بدلون غوره کوي، د کنفرانس مهالویش سره سم د ټول ټریک پریزنټشنونو پیل او پای وخت محاسبه کوي، زموږ پیرودونکو ته یې لیږي، او لوبغاړی کټ آفونه راوباسي. اوس کارونکي کولی شي په اسانۍ سره د راپور پیل او پای ته لاړ شي. دا د سوداګرۍ سخته اړتیا وه، خورا اسانه او ګټور. تاسو د راپور لپاره د اصلي پیل وخت موندلو وخت ضایع نکړئ. او کله چې موږ یو مخکتنه کوو، دا به په بشپړه توګه په زړه پورې وي.

ګمارل

- زه غواړم د ګمارنې په اړه پوښتنه وکړم. کولیا او ټیم په پیل کې ډیر وخت تیر کړ ترڅو ټول زیربنا جوړه کړي چیرې چې هرڅه زموږ لپاره څرګندیږي. راته ووایه چې دا ټول له څه شي جوړ دي؟

نیکولای: د تخنیکي نظر څخه، موږ په پیل کې د محصول لپاره اړتیا درلوده چې د هر پلورونکي څخه د امکان تر حده خلاص وي. AWS ته راشئ د ټیرفارم سکریپټونه په ځانګړي ډول د AWS څخه ، یا په ځانګړي توګه له Yandex ، یا Azure ، او داسې نورو څخه جوړ کړئ. واقعیا مناسب نه و. موږ باید په یو وخت کې بل ځای ته لاړ شو.

د لومړیو دریو اونیو لپاره موږ په دوامداره توګه د دې غوره کولو لپاره د یوې لارې په لټه کې یو. د پایلې په توګه، موږ دې پایلې ته ورسیدو چې په دې قضیه کې کوبرنیټس زموږ هرڅه دي، ځکه چې دا موږ ته اجازه راکوي چې د اتوماتیک اندازه کولو خدمتونه رامینځته کړي، اتوماتیک رول، او نږدې ټول خدمات د بکس څخه بهر ترلاسه کړي. په طبیعي توګه، ټول خدمتونه باید د کبرنیټس، ډاکر سره کار کولو لپاره روزل شوي وي، او ټیم باید هم زده کړي.

موږ دوه کلسترونه لرو. ازموینه او تولید. دوی د هارډویر او ترتیباتو له مخې بالکل ورته دي. موږ د کوډ په توګه زیربنا پلي کوو. ټول خدمتونه په اوتومات ډول د اتوماتیک پایپ لاین په کارولو سره د فیچر څانګو ، ماسټر څانګو ، ازموینې څانګو ، او ګیټ لیب څخه په دریو چاپیریالونو کې ځای په ځای شوي. دا په اعظمي ډول په GitLab کې مدغم شوی ، په اعظمي ډول د لچکدار ، پرومیتیس سره مدغم شوی.

موږ فرصت ترلاسه کوو چې ژر تر ژره (د 10 دقیقو کې د شاته کولو لپاره ، په 5 دقیقو کې دننه د مخکینۍ برخې لپاره) په هر چاپیریال کې د ټولو ازموینو ، ادغام ، چلولو فعال ازموینې ، په چاپیریال کې د ادغام ازموینې ، او همدارنګه د بار ازموینې سره ازموینه وکړو. د ازموینې چاپیریال نږدې ورته شی چې موږ یې په تولید کې ترلاسه کول غواړو.

د ازموینو په اړه

- تاسو تقریبا هرڅه ازموینه کوئ، دا سخته ده چې باور وکړئ چې تاسو هر څه څنګه لیکلي. ایا تاسو کولی شئ موږ ته د پس منظر ازموینې په اړه ووایاست: هر څه څومره پوښل شوي ، کوم ازموینې؟

ولادیمیر: دوه ډوله ازموینه لیکل شوې ده. لومړی د اجزاوو ازموینې دي. د ټول پسرلي غوښتنلیک او بیس کې د لفټ کچې ازموینې ټیسټ کانټینرونه. دا د لوړې کچې سوداګرۍ سناریو ازموینه ده. زه د دندو ازموینه نه کوم. موږ یوازې ځینې لوی شیان ازموینه کوو. د بیلګې په توګه، په سمه توګه په ازموینه کې، یو کاروونکي ته د ننوتلو پروسه تقلید شوې، د ټیکټونو لپاره د کارونکي غوښتنه چیرته چې هغه لاړ شي، او د جریان لیدلو لپاره د لاسرسي غوښتنه. د کارونکي خورا روښانه سناریوګانې.

نږدې ورته شی د تش په نامه ادغام ازموینو کې پلي کیږي ، کوم چې واقعیا په چاپیریال کې پرمخ ځي. په حقیقت کې، کله چې په تولید کې راتلونکی ګمارل کیږي، اصلي بنسټیز سناریوګانې هم په تولید کې پرمخ ځي. ورته ننوتل ، د ټکټونو غوښتنه کول ، کلاوډ فرنټ ته د لاسرسي غوښتنه کول ، چیک کول چې جریان واقعیا زما له اجازې سره وصل دی ، د رییس انٹرفیس چیک کول.

دا مهال زه په بورډ کې شاوخوا 70 اجزا ازموینې او شاوخوا 40 ادغام ازموینې لرم. پوښښ 95٪ ته نږدې دی. دا د اجزاو لپاره دی، د ادغام لپاره لږ، په ساده ډول دومره اړتیا نشته. په پام کې نیولو سره چې په پروژه کې د کوډ تولید ټول ډولونه شامل دي، دا یو خورا ښه شاخص دی. بله لاره نه وه چې هغه څه وکړو چې موږ یې په دریو میاشتو کې ترسره کړل. ځکه چې که موږ په لاسي ډول ازموینه وکړو ، زموږ ټیسټر ته ځانګړتیاوې ورکړئ ، او هغه به بګونه ومومي او د اصلاح لپاره یې موږ ته راوباسي ، نو د کوډ ډیبګ کولو لپاره دا دورې سفر به خورا اوږد وي ، او موږ به هیڅ مهال ویش پوره نه کړو.

نیکولای: په دودیز ډول ، په ټول پلیټ فارم کې د راجسټریشن ترسره کولو لپاره کله چې یو څه فعالیت بدل کړئ ، تاسو اړتیا لرئ د دوه ورځو لپاره هرچیرې کښیناستئ او ټک وکړئ.

ولادیمیر: له همدې امله، دا یو لوی بریالیتوب دی چې کله زه د یو ځانګړتیا اټکل وکړم، زه ووایم چې زه د دوو ساده قلمونو او 4 ویب ساکټ لپاره 1 ورځو ته اړتیا لرم، کولیا اجازه ورکړي. هغه لا دمخه د دې حقیقت سره عادت شوی چې پدې 4 ورځو کې 2 ډوله ازموینې شاملې دي، او بیا، ډیری احتمال، دا به کار وکړي.

نیکولای: زه 140 ازموینې هم لرم: اجزا + فعال ، کوم چې ورته کار کوي. ټول ورته سناریوګانې په تولید ، ازموینې او تولید کې ازمول شوي. موږ پدې وروستیو کې د فعال لومړني UI ازموینې هم اضافه کړې. پدې توګه موږ خورا لومړني فعالیت پوښو چې کولی شي جلا شي.

ولادیمیر: البته، دا د بار ازموینې په اړه د خبرو ارزښت لري. دا اړینه وه چې پلیټ فارم د ریښتیني سره نږدې د بار لاندې ازموینه وکړي ترڅو پوه شي چې هرڅه څنګه دي ، د خرگوش سره څه پیښیږي ، د JVMs سره څه پیښیږي ، واقعیا څومره حافظې ته اړتیا ده.

- زه په ډاډه توګه نه پوهیږم چې ایا موږ د جریان په اړخ کې کوم څه ازموینه کوو ، مګر زه په یاد لرم چې د ټرانسکوډرونو سره ستونزې وې کله چې موږ ملاقاتونه وکړل. ایا موږ جریانونه ازمویل؟

آرټیوم: په تکراري ډول ازمول شوي. د غونډو تنظیمول. د غونډو د تنظیمولو په بهیر کې، نږدې 2300 JIRA ټکټونه شتون درلود. دا یوازې عمومي شیان دي چې خلکو د لیدو لپاره ترسره کړي. موږ د پلیټ فارم ځینې برخې د ملاقاتونو لپاره په جلا پا pageه کې واخیستې ، کوم چې د کیریل تولکاچیف لخوا پرمخ وړل کیده (خبرې اترې).

د ریښتیني کیدو لپاره ، هیڅ لوی ستونزې شتون نلري. په لفظي ډول یو څو ځله موږ په کلاوډ فرنټ کې د کیچنګ بګونه ونیول ، موږ یې په چټکۍ سره حل کړل - موږ په ساده ډول پالیسۍ له سره تنظیم کړې. په سایټ کې د سټیمینګ سیسټمونو کې په خلکو کې د پام وړ ډیر کیګونه شتون درلود.

د کنفرانسونو په جریان کې، ما باید د ډیرو تجهیزاتو او خدماتو پوښښ لپاره څو نور صادرونکي ولیکل. په ځینو ځایونو کې ما باید یوازې د میټریک لپاره خپل بایسکلونه جوړ کړي. د AV (آډیو - ویډیو) هارډویر نړۍ خورا ګلابي نه ده - تاسو د تجهیزاتو یو ډول "API" لرئ چې تاسو یې په ساده ډول تاثیر نشئ کولی. او دا د حقیقت څخه لرې دی چې تاسو به وکولی شئ هغه معلومات ترلاسه کړئ چې تاسو ورته اړتیا لرئ. د هارډویر پلورونکي واقعیا ورو دي ، او دا تقریبا ناممکن دي چې هغه څه ترلاسه کړئ چې تاسو یې له دوی څخه غواړئ. په ټولیز ډول د هارډویر له 100 څخه ډیر ټوټې شتون لري ، دوی هغه څه بیرته نه ورکوي چې تاسو ورته اړتیا لرئ ، او تاسو عجیب او بې ځایه صادرونکي ولیکئ ، له دې امله تاسو لږترلږه یو څه سیسټم ډیبګ کولی شئ.

تجهیزات

- زه په یاد لرم چې څنګه د کنفرانسونو له پیل دمخه موږ په جزوي ډول اضافي تجهیزات پیرودل.

آرټیوم: موږ کمپیوټرونه، لپټاپونه، او د بیټرۍ کڅوړې واخیستې. دا مهال موږ د 40 دقیقو لپاره پرته له بریښنا ژوند کولی شو. د جون په میاشت کې په سینټ پیټرزبورګ کې سخت تندرونه وو - نو موږ داسې تورونه درلودل. په ورته وخت کې ، ډیری وړاندیز کونکي موږ ته د مختلف نقطو څخه نظری لینکونو سره راځي. دا واقعیا د ودانولو 40 دقیقې وخت دی چې په جریان کې به موږ څراغونه ولرو ، غږ ، کیمرې او نور به کار وکړي.

- موږ د انټرنیټ سره ورته کیسه لرو. په هغه دفتر کې چې زموږ سټوډیوګانې موقعیت لري، موږ د پوړونو په منځ کې یو سخت جال راښکته کړو.

آرټیوم: موږ د پوړونو په مینځ کې 20 Gbit فایبر لرو. د پوړونو په اوږدو کې ، چیرې چیرې آپټیکونه شتون لري ، چیرې چیرې اپټیکس شتون نلري ، مګر لاهم د ګیګابایټ په پرتله لږ چینلونه شتون لري - موږ د کنفرانس د لاریو ترمینځ ویډیو چلوو. په عموم کې، دا ستاسو په خپل زیربنا کار کولو لپاره خورا اسانه دی؛ تاسو په ندرت سره دا په سایټونو کې په آفلاین کنفرانسونو کې کولی شئ.

- مخکې لدې چې ما په JUG Ru ګروپ کې کار کاوه ، ما ولیدل چې څنګه په آفلاین کنفرانسونو کې د هارډویر خونې په شپه کې تنظیم شوي ، چیرې چې د ټولو میټریکونو سره یو لوی مانیټر شتون درلود چې تاسو په ګرافانا کې رامینځته کوئ. اوس دلته د مرکزي دفتر خونه هم شتون لري چیرې چې پراختیایی ټیم ناست دی ، کوم چې د کنفرانس په جریان کې ځینې بګونه حل کوي او ځانګړتیاوې رامینځته کوي. په ورته وخت کې، د څارنې سیسټم شتون لري چې په لوی سکرین کې ښودل کیږي. آرټیوم، کولیا او نور هلکان ناست دي او ډاډ ترلاسه کوي چې دا ټول نه راځي او په ښه توګه کار کوي.

تجسس او ستونزې

- تاسو د دې حقیقت په اړه ښه خبرې وکړې چې موږ د ایمیزون سره جریان لرو، د ویب سره یو لوبغاړی شتون لري، هر څه په مختلف پروګرامینګ ژبو کې لیکل شوي، د غلطۍ زغم او د سوداګرۍ نور اړتیاوې چمتو شوي، په شمول د شخصي حساب چې د قانوني ادارو لپاره ملاتړ کیږي او افراد، او موږ کولی شو د یو چا سره د OAuth 2.0 په کارولو سره مدغم کړو، د درغلۍ ضد، د کاروونکي بلاک کول شتون لري. موږ کولی شو بدلونونه په متحرک ډول پلي کړو ځکه چې موږ دا ښه ترسره کړل، او دا ټول ازمول شوي.

زه لیواله یم چې پوه شم چې د یو څه په پیل کولو کې کوم توپیرونه دخیل وو. ایا کوم عجیب حالتونه شتون لري کله چې تاسو د شالید ، مخکینۍ برخې رامینځته کوئ ، یو څه لیونی شو او تاسو نه پوهیږئ چې ورسره څه وکړئ؟

ولادیمیر: داسې ښکاري چې دا یوازې په تیرو دریو میاشتو کې پیښ شوي. هره ورځ. لکه څنګه چې تاسو لیدلی شئ، زما ټول ویښتان ایستل شوي دي.

په 90 ورځو کې د ویډیو پلیټ فارم رامینځته کړئ
ولادیمیر کراسیلشیک 3 میاشتې وروسته، کله چې یو ډول لوبه پیل شوه او هیڅوک نه پوهیدل چې څه وکړي.

هره ورځ داسې یو څه وو، کله چې داسې شیبه وه چې تاسو یې واخلئ او خپل ویښتان یې وخورئ، یا پوه شئ چې بل څوک نشته، یوازې تاسو کولی شئ. زموږ لومړۍ لویه پیښه TechTrain وه. د جون په 6 د ماسپښین په 2 بجو موږ لا د تولید چاپیریال رامینځته کړی نه و، کولیا یې راوباسي. او شخصي حساب د OAuth2.0 په کارولو سره د اختیار ورکولو سرور په توګه کار نه کاوه. موږ دا په OAuth2.0 چمتو کونکي بدل کړ ترڅو پلیټ فارم دې سره وصل کړو. ما شاید 18 ساعته مستقیم کار کاوه، ما کمپیوټر ته وکتل او هیڅ مې ونه لیدل، زه نه پوهیږم چې ولې دا کار نه کوي، او کولیا زما کوډ له لرې څخه ولید، د پسرلي په ترتیب کې د بګ په لټه کې شو. ، دا وموندل شو، او LC کار وکړ، او په تولید کې هم.

نیکولای: او د ټیک ټرین خوشې کیدو یو ساعت دمخه پیښ شو.

دلته ډیری ستوري یوځای شوي. موږ خورا نېکمرغه یو ځکه چې موږ یو عالي ټیم درلود، او هرڅوک د دې آنلاین کولو مفکورې څخه الهام اخیستی و. دا ټولې درې میاشتې موږ د دې حقیقت لخوا پرمخ وړل شوي چې موږ "یوټیوب جوړ کړ." ما خپل ځان ته اجازه ورنکړه چې خپل ویښتان پرې کړم، مګر ټولو ته یې وویل چې هرڅه به کار وکړي، ځکه چې په حقیقت کې، هرڅه دمخه حساب شوي وو.

د فعالیت په اړه

- ایا تاسو کولی شئ ما ته ووایاست چې څومره خلک په سایټ کې په یوه لار کې وو؟ ایا د فعالیت کومې ستونزې شتون درلود؟

نیکولای: د فعالیت کومه ستونزه نه وه، لکه څنګه چې موږ مخکې وویل. په یو راپور کې د ګډون کونکو اعظمي شمیر 1300 و ، دا په هیزنبګ کې دی.

- ایا د ځایی لیدو سره کومه ستونزه وه؟ او ایا دا ممکنه ده چې د ډیاګرامونو سره تخنیکي توضیحات ولرئ چې دا ټول څنګه کار کوي؟

نیکولای: موږ به وروسته په دې اړه یوه مقاله جوړه کړو.

تاسو حتی کولی شئ په ځایی ډول جریانونه ډیبګ کړئ. یوځل چې کنفرانسونه پیل شول ، دا خورا اسانه شو ، ځکه چې د تولید جریان څرګند شو چې موږ کولی شو هر وخت وګورو.

ولادیمیر: لکه څنګه چې زه پدې پوهیږم ، د مخکښې پای پراختیا کونکو په محلي ډول د ټوکو سره کار وکړ ، او بیا ، له هغه وخته چې په مخ کې د devs ته د راوتلو وخت هم لنډ دی (5 دقیقې) ، د سندونو سره څه تیریږي په چک کولو کې کومه ستونزه شتون نلري.

- هرڅه ازمول شوي او ډیبګ شوي ، حتی په ځایی توګه. دا پدې مانا ده چې موږ به د ټولو تخنیکي ځانګړتیاو سره یوه مقاله ولیکئ، تاسو ته به وښایئ، تاسو ته به هر څه د ډیاګرامونو سره ووایاست، دا څنګه وه.

ولادیمیر: تاسو کولی شئ دا واخلئ او بیا یې تکرار کړئ.

- په 3 میاشتو کې.

نتیجه

- هرڅه چې یوځای بیان شوي ښه ښکاري، په پام کې نیولو سره چې دا په دریو میاشتو کې د کوچني ټیم لخوا ترسره شوي.

نیکولای: یو لوی ټیم به دا کار ونه کړي. مګر د خلکو یوه کوچنۍ ډله چې له یو بل سره خورا نږدې او ښه اړیکه لري او کولی شي موافقې ته ورسیږي. دوی هیڅ تضاد نه لري، معمار په دوو ورځو کې اختراع شوی، وروستی شوی او په حقیقت کې بدلون نه دی راغلی. د فیچر غوښتنو او بدلونونو راټولولو په شرایطو کې د راتلونکو سوداګرۍ اړتیاو خورا سخت اسانتیا شتون لري.

- کله چې د دوبي کنفرانسونه دمخه ترسره شوي و ، ستاسو د نورو دندو لیست کې څه و؟

نیکولای: د مثال په توګه، کریډیټ. په ویډیو کې کریپنګ لینونه، په ویډیو کې په ځینو ځایونو کې پاپ اپ د ښودل شوي مینځپانګې پورې اړه لري. د مثال په توګه، سپیکر غواړي له اوریدونکو څخه پوښتنه وکړي، او یوه رایه په سکرین کې راښکاره کیږي، چې د رایې ورکولو پایلو پراساس پخپله وینا کونکي ته بیرته ځي. د پریزنټشن په جریان کې د راپور د خوښیو ، زړونو ، درجې په شکل کې یو ډول ټولنیز فعالیت ، نو تاسو کولی شئ په سم وخت کې فیډبیک ډک کړئ پرته لدې چې د فیډبیک فورمو لخوا ګډوډ شئ. په پیل کې دا ډول.

او همدارنګه په ټول پلیټ فارم کې اضافه کول ، پرته له سټیمینګ او کنفرانس څخه ، د کنفرانس وروسته حالت هم. دا پلی لیستونه دي (د کاروونکو لخوا ترتیب شوي په شمول)، ممکن د نورو تیرو کنفرانسونو مینځپانګه، مدغم شوي، لیبل شوي، کاروونکي ته د لاسرسي وړ، او زموږ په ویب پاڼه کې د لیدلو لپاره هم شتون لري (live.jugru.org).

- هلکانو، ستاسو د ځوابونو لپاره ډیره مننه!

که د لوستونکو په مینځ کې داسې څوک وي چې زموږ د دوبي کنفرانسونو کې برخه اخیستې وي ، مهرباني وکړئ د لوبغاړي او نشر په اړه خپل تاثیرات شریک کړئ. څه اسانه وو، څه مو خپه کړل، په راتلونکي کې څه غواړئ؟

که تاسو په پلیټ فارم کې علاقه لرئ او غواړئ چې دا په "جګړه کې" وګورئ، موږ یې بیا زموږ په اړه کاروو د مني او ژمي کنفرانسونه. دلته د دوی ټوله لړۍ شتون لري، نو تقریبا یقینا یو دی چې ستاسو لپاره سم دی.

سرچینه: www.habr.com

Add a comment