ڊولپرز مريخ کان آهن، منتظمين وينس کان آهن

ڊولپرز مريخ کان آهن، منتظمين وينس کان آهن

اتفاق بي ترتيب آهن، ۽ حقيقت ۾ اهو ڪنهن ٻئي سيارو تي هو ...

مان ٽي ڪاميابي ۽ ناڪامي ڪهاڻيون شيئر ڪرڻ چاهيان ٿو ته ڪيئن هڪ پس منظر ڊولپر هڪ ٽيم ۾ منتظمين سان گڏ ڪم ڪري ٿو.

هڪ ڪهاڻي.
ويب اسٽوڊيو، ملازمن جو تعداد هڪ هٿ سان ڳڻي سگهجي ٿو. اڄ توهان هڪ لي آئوٽ ڊزائينر آهيو، سڀاڻي توهان هڪ پسمانده ڪندڙ آهيو، سڀاڻي توهان هڪ منتظم آهيو. هڪ پاسي، توهان حاصل ڪري سگهو ٿا زبردست تجربو. ٻئي طرف، سڀني شعبن ۾ قابليت جي کوٽ آهي. مون کي اڃا تائين ڪم جو پهريون ڏينهن ياد آهي، مان اڃا تائين سائي آهيان، باس چوي ٿو: "اوپن پوٽي،" پر مون کي خبر ناهي ته اهو ڇا آهي. منتظمين سان رابطي کي خارج ڪيو ويو آهي، ڇاڪاڻ ته توهان پاڻ هڪ منتظم آهيو. اچو ته هن صورتحال جي فائدن ۽ نقصان تي غور ڪريو.

+ سڀ طاقت توهان جي هٿن ۾ آهي.
+ سرور تائين رسائي لاءِ ڪنهن کي به پڇڻ جي ضرورت ناهي.
+ سڀني طرفن ۾ تيز ردعمل جو وقت.
+ صلاحيتن کي بهتر بڻائي ٿو.
+ پيداوار جي فن تعمير جي مڪمل ڄاڻ حاصل ڪريو.

- وڏي ذميواري.
- پيداوار کي ٽوڙڻ جو خطرو.
- سڀني علائقن ۾ سٺو ماهر ٿيڻ ڏکيو آهي.

دلچسپي نه آهي، اچو ته اڳتي وڌو

ٻي ڪهاڻي.
وڏي ڪمپني، وڏو منصوبو. 5-7 ملازمن ۽ ڪيترن ئي ترقياتي گروپن سان گڏ هڪ انتظامي کاتو آهي. جڏهن توهان اهڙي ڪمپني ۾ ڪم ڪرڻ لاءِ ايندا آهيو ته هر منتظم اهو سوچيندو آهي ته توهان هتي ڪنهن پراڊڪٽ تي ڪم ڪرڻ نه پر ڪنهن شيءِ کي ٽوڙڻ لاءِ آيا آهيو. نه ئي دستخط ٿيل اين ڊي اي ۽ نه ئي انٽرويو ۾ چونڊ ٻي صورت ۾ اشارو ڪري ٿي. نه، هي ماڻهو هتي پنهنجي گندي ننڍڙن هٿن سان آيو آهي ته جيئن اسان جي چمي جي پيداوار کي برباد ڪري. تنهن ڪري، اهڙي شخص سان توهان کي گهٽ ۾ گهٽ رابطي جي ضرورت آهي؛ گهٽ ۾ گهٽ، توهان جواب ۾ هڪ اسٽيڪر اڇلائي سگهو ٿا. پروجيڪٽ جي فن تعمير بابت سوالن جا جواب نه ڏيو. اهو مشورو ڏنو ويو آهي ته رسائي نه ڏني وڃي جيستائين ٽيم جي اڳواڻ پڇي. ۽ جڏهن هو گهرندو، هو ان کي واپس ڏيندو ان کان به گهٽ امتياز سان جيڪي انهن جي گهر ڪئي. اهڙن منتظمين سان لڳ ڀڳ سمورا ڪميونيڪيشن ڊولپمينٽ ڊپارٽمينٽ ۽ انتظامي کاتي جي وچ ۾ بليڪ هول ذريعي جذب ٿي ويندا آهن. فوري طور تي مسئلا حل ڪرڻ ناممڪن آهي. پر توهان ذاتي طور تي نه ٿا اچي سگهو - منتظم تمام مصروف آهن 24/7. (توهان هر وقت ڇا ڪري رهيا آهيو؟) ڪجهه ڪارڪردگي خاصيتون:

  • پيداوار ۾ سراسري لڳائڻ وقت 4-5 ڪلاڪ آهي
  • پيداوار ۾ وڌ ۾ وڌ مقرري وقت 9 ڪلاڪ
  • هڪ ڊولپر لاء، پيداوار ۾ هڪ ايپليڪيشن هڪ ڪارو باڪس آهي، جهڙوڪ پيداوار سرور پاڻ. مجموعي طور تي ڪيترا آهن؟
  • رليز جي گھٽ معيار، بار بار غلطيون
  • ڊولپر ڇڏڻ واري عمل ۾ حصو نٿو وٺي

خير، مون کي ڇا اميد هئي، يقينا، نئين ماڻهن کي پيداوار ۾ اجازت نه آهي. چڱو، ٺيڪ آهي، صبر حاصل ڪري، اسان ٻين جو اعتماد حاصل ڪرڻ شروع ڪيو. پر ڪجهه سببن جي ڪري، شيون ايترو سادو نه آهن منتظمين سان.

ايڪٽ 1. منتظم پوشيده آهي.
رليز ڏينهن، ڊولپر ۽ منتظم گفتگو نٿا ڪن. منتظم وٽ ڪوبه سوال ناهي. پر پوءِ سمجھو ڇو. ايڊمن هڪ اصولي ماڻهو آهي، هن وٽ ڪو ميسيج ناهي، ڪنهن کي پنهنجو فون نمبر نه ٿو ڏئي، ۽ سوشل نيٽ ورڪ تي هن جو پروفائل ناهي. هن جي تصوير ته ڪٿي به نه آهي، يار تون ڇا ٿو لڳين؟ اسان ذميدار مئنيجر سان اٽڪل 15 منٽن تائين حيران ٿي وياسين، هن Voyager 1 سان رابطو قائم ڪرڻ جي ڪوشش ڪئي، پوءِ ڪارپوريٽ اي ميل ۾ هڪ پيغام ظاهر ٿئي ٿو جيڪو هن ختم ڪيو آهي. ڇا اسان ميل ذريعي خط لکڻ وارا آهيون؟ ڇو نه؟ آسان، آهي نه؟ چڱو، اچو ته ٿڌو ڪريون. اهو عمل اڳ ۾ ئي جاري آهي، ڪو به پوئتي موٽڻ وارو ناهي. پيغام ٻيهر پڙهو. "مون ختم ڪيو". توهان ڇا ختم ڪيو؟ ڪٿي؟ مان توکي ڪٿي ڳوليان؟ هتي توهان سمجھو ٿا ڇو ته ڇڏڻ لاء 4 ڪلاڪ عام آهي. اسان کي ترقي جو جھٽڪو ملي ٿو، پر اسان ڇڏڻ کي ختم ڪريون ٿا. هاڻي آزاد ڪرڻ جي ڪا به خواهش ناهي.

ايڪٽ 2. اهو نسخو نه آهي.
ايندڙ رليز. تجربو حاصل ڪرڻ بعد، اسان منتظمين لاءِ سرور لاءِ ضروري سافٽ ويئر ۽ لائبريرين جون لسٽون ٺاھڻ شروع ڪريون ٿا، ڪجھ نسخن لاءِ اشارو ڪندي. هميشه وانگر، اسان کي هڪ ڪمزور ريڊيو سگنل ملي ٿو ته منتظم اتي ڪجهه ختم ڪيو آهي. رجعت جو امتحان شروع ٿئي ٿو، جيڪو پاڻ تقريبا هڪ ڪلاڪ وٺندو آهي. هر شي ڪم ڪرڻ لڳي، پر اتي هڪ نازڪ بگ آهي. اهم ڪارڪردگي ڪم نٿو ڪري. ايندڙ ڪجهه ڪلاڪ ٽمبرين سان ناچ، ڪافي جي ميدانن تي خوش قسمتي ٻڌائڻ، ۽ ڪوڊ جي هر ٽڪرا جو تفصيلي جائزو. منتظم جو چوڻ آهي ته هن سڀ ڪجهه ڪيو آهي. بگڙيل ڊولپرز پاران لکيل ايپليڪيشن ڪم نٿو ڪري، پر سرور ڪم ڪري ٿو. هن لاءِ ڪي سوال؟ هڪ ڪلاڪ جي آخر ۾، اسان منتظم کي حاصل ڪريون ٿا لائبريري جو نسخو پروڊڪشن سرور تي چيٽ ۽ بنگو ۾ موڪلڻ لاءِ - اهو اهو ناهي جيڪو اسان کي گهربل آهي. اسان ايڊمنسٽريٽر کي گھربل ورجن انسٽال ڪرڻ لاءِ چئون ٿا، پر جواب ۾ اسان کي ملي ٿو ته او ايس پيڪيج مئنيجر ۾ ھن ورجن جي غير موجودگيءَ سبب ھو ائين نٿو ڪري سگھي. هتي، هن جي يادگيري جي يادگيري مان، مينيجر کي ياد آهي ته ڪنهن ٻئي منتظم اڳ ۾ ئي اهو مسئلو حل ڪيو هو صرف هٿ سان گهربل نسخو گڏ ڪري. پر نه، اسان جو ائين نه ٿيندو. ضابطا منع ڪن ٿا. ڪارل، اسان هتي ڪيترن ئي ڪلاڪن کان ويٺا آهيون، وقت جي حد ڇا آهي؟! اسان کي ٻيو جھٽڪو ملي ٿو ۽ ڪنهن نه ڪنهن طرح رليز ختم ڪريون ٿا.

ايڪٽ 3، مختصر
تڪڙي ٽڪيٽ، اهم ڪارڪردگي پيداوار ۾ استعمال ڪندڙن مان هڪ لاء ڪم نٿو ڪري. اسان ڪجهه ڪلاڪ پوکڻ ۽ جانچڻ ۾ گذاريو. ترقي واري ماحول ۾، هر شي ڪم ڪري ٿو. اتي هڪ واضح سمجھ آهي ته اهو هڪ سٺو خيال هوندو php-fpm لاگز ۾ ڏسڻ لاء. ان وقت پروجيڪٽ تي ELK يا Prometheus وانگر ڪوبه لاگ سسٽم نه هئا. اسان انتظامي کاتي ڏانهن هڪ ٽڪيٽ کوليندا آهيون ته جيئن اهي سرور تي php-fpm لاگ تائين رسائي ڏين. هتي توهان کي سمجهڻ جي ضرورت آهي ته اسان ڪنهن سبب جي رسائي لاءِ پڇا ڪري رهيا آهيون، ڇا توهان کي ياد ناهي ته بليڪ هول ۽ ايڊمنز 24/7 مصروف آهن؟ جيڪڏهن توهان انهن کان پڇو ته لاگ ان کي پاڻ کي ڏسڻ لاء، پوء اهو هڪ ڪم آهي "هن زندگي ۾ نه" ترجيح سان. ٽڪيٽ ٺاهي وئي، اسان کي انتظامي کاتي جي سربراهه کان هڪ فوري جواب مليو: "توهان کي پيداوار جي لاگن تائين رسائي جي ضرورت نه آهي، بغير بغير لکندا." هڪ پردو.

ايڪٽ 4 ۽ اڳتي
اسان اڃا تائين پيداوار ۾ ڪيترن ئي مسئلن کي گڏ ڪري رهيا آهيون، لائبريرين جي مختلف نسخن، غير ترتيب ڏنل سافٽ ويئر، غير تيار ڪيل سرور لوڊ، ۽ ٻين مسئلن جي ڪري. يقينن، اتي پڻ ڪوڊ ڪيگ آهن، اسان سڀني گناهن لاء منتظمين کي الزام نه ڏينداسين، اسان صرف ان منصوبي لاء هڪ وڌيڪ عام آپريشن جو ذڪر ڪنداسين. اسان وٽ ڪافي پس منظر وارا ڪارڪن هئا جيڪي سپروائيزر ذريعي شروع ڪيا ويا هئا، ۽ ڪجهه اسڪرپٽ کي ڪرن ۾ شامل ڪرڻو پيو. ڪڏهن ڪڏهن اهي ساڳيا مزدور ڪم ڪرڻ ڇڏي ڏيندا هئا. قطار سرور تي لوڊ تيز رفتار تي وڌي ويو، ۽ اداس صارفين گھمڻ واري لوڊر کي ڏسندا. اهڙين ڪارڪنن کي جلدي ٺيڪ ڪرڻ لاء، اهو صرف انهن کي ٻيهر شروع ڪرڻ لاء ڪافي هو، پر ٻيهر، صرف هڪ منتظم اهو ڪري سگهي ٿو. جڏهن ته اهڙي بنيادي آپريشن ڪئي پئي وڃي، هڪ سڄو ڏينهن گذري سگهي ٿو. هتي، يقيناً، اها ڳالهه نوٽ ڪرڻ جي لائق آهي ته ٽڙيل پروگرامرن کي مزدورن کي لکڻ گهرجي ته جيئن اهي حادثا نه ٿين، پر جڏهن اهي گر ٿين، اهو سمجهڻ سٺو ٿيندو ته ڇو، جيڪو ڪڏهن ڪڏهن ناممڪن آهي ڇو ته پيداوار تائين رسائي نه هجڻ جي ڪري. يقينن، ۽ نتيجي طور، ڊولپر کان لاگن جي کوٽ.

ڦيرڦار.
اهو سڀ ڪجهه ڪافي عرصي تائين برداشت ڪندي، ٽيم سان گڏجي اسان هڪ اهڙي طرف هلڻ شروع ڪيو، جيڪا اسان لاءِ وڌيڪ ڪامياب هئي. اختصار ڪرڻ لاءِ، اسان کي ڪهڙن مسئلن کي منهن ڏيڻو پيو؟

  • ڊولپرز ۽ انتظامي کاتي جي وچ ۾ معياري رابطي جي کوٽ
  • منتظمين، اهو نڪتو (!)، اهو سڀ ڪجهه نه ٿو سمجهي ته ايپليڪيشن ڪيئن ترتيب ڏني وئي آهي، ان ۾ ڪهڙي انحصار آهي ۽ اهو ڪيئن ڪم ڪري ٿو.
  • ڊولپرز اهو نه ٿا سمجھن ته پيداوار ماحول ڪيئن ڪم ڪري ٿو ۽ نتيجي طور، مؤثر طريقي سان مسئلن جو جواب نٿو ڏئي سگھي.
  • لڳائڻ وارو عمل تمام ڊگهو وٺندو آهي.
  • غير مستحڪم رليز.

اسان ڇا ڪيو آهي؟
هر رليز لاءِ، رليز نوٽس جي هڪ فهرست ٺاهي وئي، جنهن ۾ ڪم جي هڪ فهرست شامل ڪئي وئي جيڪا ڪم ڪرڻ لاءِ ايندڙ رليز لاءِ سرور تي ٿيڻ جي ضرورت آهي. لسٽ ۾ ڪيترن ئي حصن تي مشتمل آهي، ڪم جيڪو منتظم طرفان ڪيو وڃي، آزاد ڪرڻ جو ذميوار شخص، ۽ ڊولپر. ڊولپرز سڀني پيداوار سرورن تائين غير روٽ رسائي حاصل ڪئي، جيڪا عام طور تي ترقي کي تيز ڪيو ۽ خاص طور تي مسئلا حل ڪرڻ. ڊولپرز کي پڻ اها سمجھ آهي ته پيداوار ڪيئن ڪم ڪري ٿي، ڪهڙيون خدمتون ان ۾ ورهايل آهن، ڪٿي ۽ ڪيترو نقلن جي قيمت آهي. ڪجھ جنگي لوڊ واضح ٿي چڪا آھن، جيڪو بلاشبہ ڪوڊ جي معيار کي متاثر ڪري ٿو. رليز جي عمل دوران رابطي هڪ فوري ميسينجر جي چيٽ ۾ ٿي. پهرين، اسان سڀني عملن جو هڪ لاگ ان ڪيو، ۽ ٻيو، رابطي کي ويجهي ماحول ۾ ڪيو ويو. ڪارناما جي تاريخ حاصل ڪرڻ هڪ دفعو کان وڌيڪ نون ملازمن کي جلدي مسئلن کي حل ڪرڻ جي اجازت ڏني آهي. اهو هڪ تضاد آهي، پر اهو اڪثر ڪري منتظمين جي مدد ڪندو آهي. مان پڪ سان چوڻ جي ڪوشش نه ڪندس، پر مون کي لڳي ٿو ته منتظمين وڌيڪ سمجهڻ شروع ڪيو آهي ته پروجيڪٽ ڪيئن ڪم ڪري ٿو ۽ اهو ڪيئن لکيو ويو آهي. ڪڏهن ڪڏهن اسان هڪ ٻئي سان ڪجهه تفصيل به شيئر ڪندا آهيون. سراسري ڇڏڻ جو وقت هڪ ڪلاڪ تائين گهٽجي ويو آهي. ڪڏهن ڪڏهن اسان 30-40 منٽن ۾ ڪيو ويو. بگن جو تعداد خاص طور تي گھٽجي ويو آھي، جيڪڏھن نه ڏھ ڀيرا. يقينن، ٻين عنصر پڻ رليز جي وقت ۾ گهٽتائي تي اثر انداز ڪيو، جهڙوڪ آٽو ٽيسٽ. هر رليز کان پوءِ، اسان پٺڀرائي ڪرڻ شروع ڪيو. انهي ڪري ته سڄي ٽيم کي هڪ خيال آهي ته ڇا نئون آهي، ڇا تبديل ڪيو ويو آهي، ۽ ڇا هٽايو ويو آهي. بدقسمتي سان، منتظمين هميشه انهن وٽ نه ايندا هئا، خير، منتظمين مصروف آهن... هڪ ڊولپر جي حيثيت سان منهنجي نوڪري جي اطمينان ۾ بلاشڪ اضافو ٿيو آهي. جڏهن توهان تڪڙو تڪڙو حل ڪري سگهو ٿا تقريبن ڪنهن به مسئلي کي جيڪو توهان جي قابليت جي علائقي ۾ آهي، توهان محسوس ڪيو ته مٿي تي. بعد ۾، مان سمجهان ٿو ته ڪنهن حد تائين اسان هڪ ڊيوپس ڪلچر متعارف ڪرايو، مڪمل طور تي نه، يقينا، پر ان تبديليء جي شروعات پڻ شاندار هئي.

ڪهاڻي ٽيون
شروع ڪريو. ھڪڙو منتظم، ننڍو ترقي کاتي. اچڻ تي مان مڪمل صفر آهيان، ڇاڪاڻ ته ... مون وٽ ٽپال کان سواءِ ڪٿي به رسائي ناهي. اسان منتظم ڏانهن لکون ٿا ۽ رسائي لاءِ پڇون ٿا. ان کان علاوه، اها ڄاڻ آهي ته هو نئين ملازم کان واقف آهي ۽ لاگ ان / پاسورڊ جاري ڪرڻ جي ضرورت آهي. اهي مخزن ۽ وي پي اين کان رسائي ڏين ٿا. وڪي، ٽيم سٽي، رن ڊيسڪ تائين رسائي ڇو ڏيو؟ ھڪڙي ماڻھوءَ لاءِ بيڪار شيون جنھن کي سڄي پٺاڻ جو حصو لکڻ لاءِ سڏيو ويو. صرف وقت سان گڏ اسان ڪجهه اوزارن تائين رسائي حاصل ڪندا آهيون. آمد، يقينا، بي اعتمادي سان ملاقات ڪئي وئي. مان ڪوشش ڪري رهيو آهيان سست رفتار محسوس ڪرڻ جي لاءِ ته ڪيئن پروجيڪٽ جو انفراسٽرڪچر چيٽ ۽ اهم سوالن ذريعي ڪم ڪري ٿو. بنيادي طور تي مان ڪجھ به نه ٿو سڃاڻان. پيداوار اڳي وانگر ساڳيو بليڪ باڪس آهي. پر ان کان وڌيڪ، جيتوڻيڪ اسٽيج سرورز ٽيسٽ لاء استعمال ڪيا ويا آهن هڪ بليڪ باڪس. اسان هتي گٽ مان شاخ لڳائڻ کان سواءِ ٻيو ڪجهه نٿا ڪري سگهون. اسان پڻ اسان جي ايپليڪيشن کي ترتيب نه ٿا ڪري سگھون جهڙوڪ .env فائلون. اهڙن عملن جي رسائي جي اجازت نه ڏني وئي آهي. توهان کي عرض ڪرڻو پوندو ته ٽيسٽ سرور تي توهان جي ايپليڪيشن جي ترتيب ۾ تبديل ٿيل لائن حاصل ڪرڻ لاءِ. (هڪ نظريو اهو آهي ته اهو ضروري آهي ته منتظمين لاءِ پاڻ کي پروجيڪٽ تي اهم محسوس ڪرڻ؛ جيڪڏهن انهن کي نه چيو وڃي ته ترتيبن ۾ لائينون تبديل ڪرڻ لاءِ، انهن جي ضرورت نه پوندي). خير، هميشه وانگر، اهو آسان ناهي؟ اهو جلدي بورنگ ٿي وڃي ٿو، منتظم سان سڌي گفتگو کان پوءِ اسان کي معلوم ٿئي ٿو ته ڊولپر خراب ڪوڊ لکڻ لاءِ پيدا ٿيا آهن، فطرت جي لحاظ کان نااهل ماڻهو آهن ۽ بهتر آهي ته انهن کي پيداوار کان پري رکيو وڃي. پر هتي پڻ ٽيسٽ سرورز کان، صرف صورت ۾. تڪرار تيزيءَ سان وڌي رهيو آهي. منتظم سان ڪوبه رابطو ناهي. حالتون بگڙي ويون آهن ته هو اڪيلو آهي. هيٺ ڏنل هڪ عام تصوير آهي. ڇڏڻ. ڪجهه ڪارڪردگي ڪم نه ڪندو آهي. اسان کي اهو معلوم ڪرڻ ۾ گهڻو وقت لڳندو آهي ته ڇا ٿي رهيو آهي، ڊولپرز کان مختلف خيالن کي چيٽ ۾ اڇلايو ويندو آهي، پر اهڙي صورتحال ۾ منتظم عام طور تي اهو فرض ڪري ٿو ته ڊولپرز کي الزام آهي. پوءِ هو چيٽ ۾ لکي ٿو، انتظار ڪريو، مون هن کي درست ڪيو. جڏهن پڇيو ويو ته هڪ ڪهاڻي ڇڏي وڃڻ جي باري ۾ معلومات سان گڏ مسئلو ڇا هو، اسان کي زهر جو عذر ملي ٿو. جهڙوڪ، پنهنجي نڪ کي لٺ نه ڪريو جتي اهو تعلق نه آهي. ڊولپرز کي لازمي ڪوڊ لکڻو پوندو. اها صورتحال جڏهن هڪ پروجيڪٽ ۾ جسم جون ڪيتريون ئي حرڪتون هڪ ئي شخص ذريعي ٿينديون آهن ۽ صرف هن کي ئي آپريشن ڪرڻ جي رسائي هوندي آهي جيڪا هر ڪنهن جي ضرورت هوندي آهي. اهڙو ماڻهو هڪ خوفناڪ رڪاوٽ آهي. جيڪڏهن Devops خيالات وقت جي مارڪيٽ کي گهٽائڻ جي ڪوشش ڪندا آهن، ته پوء اهڙا ماڻهو Devops خيالن جا بدترين دشمن آهن. بدقسمتي سان، پردو هتي بند ٿي ويو.

P.S. ماڻهن سان چيٽ ۾ ڊولپرز بمقابله منتظمين بابت ٿورڙي ڳالهائڻ کان پوء، مون انهن ماڻهن سان ملاقات ڪئي جن منهنجو درد شيئر ڪيو. پر اهڙا به هئا جن جو چوڻ هو ته هنن ڪڏهن به اهڙي ڪنهن شيءِ سان منهن نه ڪيو هو. هڪ ڊيوپس ڪانفرنس ۾، مون Anton Isanin (Alfa Bank) کان پڇيو ته اهي ڪيئن منتظمين جي صورت ۾ رڪاوٽ جي مسئلي کي حل ڪن ٿا، جنهن تي هن چيو ته: "اسان انهن کي بٽڻ سان تبديل ڪيو." ايئن ته پوڊڪاسٽ هن جي شموليت سان. مان يقين ڪرڻ چاهيان ٿو ته دشمنن کان وڌيڪ سٺا منتظم آهن. ۽ ها، شروعات ۾ تصوير هڪ حقيقي correspondence آهي.

ذريعو: www.habr.com

تبصرو شامل ڪريو