افراتفري کي منظم ڪرڻ: ٽيڪنالاجي نقشي جي مدد سان ترتيب ڏيڻ

افراتفري کي منظم ڪرڻ: ٽيڪنالاجي نقشي جي مدد سان ترتيب ڏيڻ

تصوير ناپسند

هيلو سڀ! اسان ڪمپني مان آٽوميشن انجنيئر آهيون مثبت ٽيڪنالاجي ۽ اسان ڪمپني جي پروڊڪٽس جي ترقي لاءِ مدد فراهم ڪريون ٿا: اسان پوري اسيمبلي پائپ لائن کي سپورٽ ڪريون ٿا ڪوڊ آف لائن جي ڪمٽمينٽ کان وٺي ڊولپرز پاران تيار ڪيل پروڊڪٽس جي اشاعت تائين ۽ تازه ڪاري سرور تي لائسنس. غير رسمي طور تي، اسان کي سڏيو ويندو آهي DevOps انجنيئر. هن آرٽيڪل ۾ اسان سافٽ ويئر جي پيداوار جي عمل جي ٽيڪنالاجي مرحلن بابت ڳالهائڻ چاهيون ٿا، اسان انهن کي ڪيئن ڏسون ٿا ۽ اسان انهن کي ڪيئن درجه بندي ڪريون ٿا.

مواد مان توهان سکندا ته ملٽي پراڊڪٽ ڊولپمينٽ کي همٿائڻ جي پيچيدگي جي باري ۾، هڪ ٽيڪنالاجي نقشو ڇا آهي ۽ اهو ڪيئن ترتيب ڏيڻ ۽ حل ڪرڻ ۾ مدد ڪري ٿو، ترقي جي عمل ۾ ڪهڙا مکيه مرحلا ۽ مرحلا شامل آهن، ذميواري جي علائقن کي ڪيئن طئي ڪيو ويو آهي. اسان جي ڪمپني ۾ DevOps ۽ ٽيمن جي وچ ۾.

افراتفري ۽ DevOps بابت

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

جڏهن ڪو ڪمپني ترقي ڪري رهي آهي هڪ پراڊڪٽ، هر شيءِ گهٽ يا گهٽ واضح آهي: عام طور تي هڪ عام روڊ ميپ ۽ ڊولپمينٽ اسڪيم آهي. پر ڇا ڪجي جڏهن پراڊڪٽ لائن وڌائي ٿي ۽ وڌيڪ پراڊڪٽس آهن؟ پهرين نظر ۾، انهن وٽ هڪجهڙا عمل ۽ اسمبلي لائينون آهن ۽ لاگ ۽ اسڪرپٽ ۾ ”فائنڊ ايڪس فرق“ جي راند شروع ٿيندي آهي. ڇا جيڪڏهن اڳ ۾ ئي فعال ترقي ۾ 5+ منصوبا آهن ۽ ڪيترن سالن کان ترقي يافته ڪيترن ئي ورزن لاءِ سپورٽ گهربل آهي؟ ڇا اسان پراڊڪٽ پائپ لائنز ۾ ممڪن طور تي ڪيترا ئي حل ٻيهر استعمال ڪرڻ چاهيون ٿا يا اسان هر هڪ لاء منفرد ترقي تي پئسا خرچ ڪرڻ لاء تيار آهيون؟

انفراديت ۽ حل جي سيريليت جي وچ ۾ توازن ڪيئن ڳولي؟

اهي سوال 2015ع کان شروع ٿي اسان جي اڳيان گهڻو ڪري اڀرڻ لڳا. پراڊڪٽس جو تعداد وڌندو ويو، ۽ اسان ڪوشش ڪئي ته اسان جي آٽوميشن ڊپارٽمينٽ (DevOps) کي وڌايو، جيڪي انھن پروڊڪٽس جي اسيمبلي لائينن کي سپورٽ ڪن، گھٽ ۾ گھٽ. ساڳئي وقت، مان پروڊڪٽس جي وچ ۾ ممڪن طور تي ڪيترن ئي حلن کي نقل ڪرڻ چاهيان ٿو. آخرڪار، ڏهن شين ۾ هڪ ئي شيء مختلف طريقن سان ڇو؟

ڊولپمينٽ ڊائريڪٽر: ”ماڻهو، ڇا اسان ڪنهن طرح اندازو لڳائي سگهون ٿا ته DevOps شين لاءِ ڇا ڪندو آهي؟

Мы: "اسان کي خبر ناهي، اسان اهو سوال نه پڇيو آهي، پر ڪهڙن اشارن کي حساب ڪرڻ گهرجي؟"

ڊولپمينٽ ڊائريڪٽر: ”ڪير ڄاڻي! سوچيو...“

جيئن ته ان مشهور فلم ۾: "آئون هوٽل ڏانهن وڃان ٿو! .." - "او... ڇا تون مون کي رستو ڏيکاريندين؟" سوچڻ کان پوء، اسان ان نتيجي تي پهتاسين ته اسان کي پهرين شين جي آخري رياستن تي فيصلو ڪرڻو پوندو؛ اهو اسان جو پهريون مقصد بڻجي ويو.

تنهن ڪري، توهان 10 کان 200 ماڻهن جي ڪافي وڏي ٽيمن سان درجن جي شين جو تجزيو ڪيئن ڪري سگهو ٿا ۽ ماپبل ميٽرڪ جو اندازو لڳائي سگهو ٿا جڏهن حل کي نقل ڪندي؟

1:0 افراتفري جي حق ۾، يا بليڊ تي DevOps

اسان BPwin سيريز مان IDEF0 ڊاگرامس ۽ مختلف ڪاروباري پروسيس ڊياگرامس لاڳو ڪرڻ جي ڪوشش ڪندي شروع ڪيو. مونجهارو ايندڙ پروجيڪٽ جي ايندڙ اسٽيج جي پنجين اسڪوائر کان پوءِ شروع ٿيو، ۽ هر پروجيڪٽ لاءِ اهي چوڪون 50+ مرحلن ۾ ڊگھي پٿرن جي دم ۾ ٺاهي سگھجن ٿيون. مون کي اداس محسوس ٿيو ۽ چنڊ تي روئڻ چاهيان ٿو - اهو بلڪل مناسب نه هو.

عام پيداوار جا ڪم

ماڊلنگ جي پيداوار جي عمل هڪ تمام پيچيده ۽ مشڪل ڪم آهي: توهان کي مختلف شعبن ۽ پيداوار جي زنجيرن مان تمام گهڻو ڊيٽا گڏ ڪرڻ، پروسيس ڪرڻ ۽ تجزيو ڪرڻ جي ضرورت آهي. توھان ھن بابت وڌيڪ پڙھي سگھوٿا مضمون ۾ "آئي ٽي ڪمپني ۾ پيداوار جي عملن جي ماڊلنگ».

جڏهن اسان پنهنجي پيداوار جي عمل کي ماڊل ڪرڻ شروع ڪيو، اسان وٽ هڪ خاص مقصد هو - اسان جي ڪمپني جي شين جي ترقي ۾ ملوث هر ملازم کي پهچائڻ ۽ پروجيڪٽ مينيجرز کي:

  • ڪئين پروڊڪٽس ۽ انهن جا حصا، ڪوڊ جي هڪ لائن جي ڪمٽ کان شروع ٿي، انسٽالر ۽ اپڊيٽس جي صورت ۾ ڪسٽمر تائين پهچن ٿا،
  • پيداوار جي پيداوار جي هر مرحلي تي ڪهڙا وسيلا مهيا ڪيا ويا آهن،
  • هر اسٽيج تي ڪهڙيون خدمتون شامل آهن،
  • ڪئين ذميواري جا علائقا هر اسٽيج لاءِ مقرر ڪيا ويا آهن،
  • هر اسٽيج جي ان پٽ ۽ آئوٽ تي ڪهڙا معاهدا موجود آهن.

افراتفري کي منظم ڪرڻ: ٽيڪنالاجي نقشي جي مدد سان ترتيب ڏيڻ

مڪمل سائيز ۾ کولڻ لاء تصوير تي ڪلڪ ڪريو

ڪمپني ۾ اسان جو ڪم ڪيترن ئي فنڪشنل علائقن ۾ ورهايل آهي. انفراسٽرڪچر ڊپارٽمينٽ ڊپارٽمينٽ جي سڀني هارڊويئر وسيلن جي آپريشن کي بهتر ڪرڻ ۾ مصروف آهي، انهي سان گڏ ورچوئل مشينن ۽ انهن تي ماحول جي ترتيب کي خودڪار ڪرڻ. نگراني جي هدايت مهيا ڪري ٿي خدمتن جي ڪارڪردگي تي ڪنٽرول 24/7؛ اسان ڊولپرز لاءِ خدمت جي طور تي نگراني پڻ فراهم ڪندا آهيون. ڪم فلو هدايت ٽيمن کي مهيا ڪري ٿي اوزارن سان گڏ ترقي ۽ جانچ جي عمل کي منظم ڪرڻ، ڪوڊ اسٽيٽس جو تجزيو ڪرڻ، ۽ منصوبن تي تجزياتي حاصل ڪرڻ. ۽ آخرڪار، ويب ڊيو هدايت GUS ۽ FLUS اپڊيٽ سرورز تي رليز جي اشاعت کي يقيني بڻائي ٿي، انهي سان گڏ لائسنس ليب سروس استعمال ڪندي مصنوعات جي لائسنسنگ. پيداوار جي پائپ لائن کي سپورٽ ڪرڻ لاءِ، اسان ڊولپرز لاءِ ڪيتريون ئي مختلف سپورٽ سروسز قائم ۽ برقرار رکون ٿا (توهان انهن مان ڪجهه بابت ڳالهيون ٻڌي سگهو ٿا پراڻي ملاقاتن تي: Op! DevOps! 2016 и Op! DevOps! 2017). اسان اندروني آٽوميشن جا اوزار پڻ ٺاهيا، بشمول اوپن سورس حل.

گذريل پنجن سالن ۾، اسان جي ڪم ۾ تمام گهڻو ساڳيون ۽ معمولي آپريشنون گڏ ڪيون ويون آهن، ۽ عام ڪم، جنهن جو حل مڪمل طور تي يا جزوي طور تي خودڪار آهي، ڪارڪردگي لاء مشڪلاتن جو سبب ناهي ۽ ڪم جي وڏي مقدار جي ضرورت ناهي. گڏوگڏ مکيه علائقن سان گڏ، اسان اهڙن ڪمن جو تجزيو ڪيو ۽ ڪم جي انفرادي درجي کي سڃاڻڻ جي قابل هئا، يا پيداوار جي مرحلن، مرحلا اڻ ورهايل مرحلن ۾ ورهايل آهن، ۽ ڪيترائي مرحلا شامل ٿين ٿا پيداوار جي عمل جو سلسلو.

افراتفري کي منظم ڪرڻ: ٽيڪنالاجي نقشي جي مدد سان ترتيب ڏيڻ

ٽيڪنيڪي زنجير جو آسان ترين مثال اسان جي هر پروڊڪٽ جي ڪمپنيءَ ۾ اسيمبليءَ، مقرري ۽ جانچ جا مرحلا آهن. موڙ ۾، مثال طور، تعمير اسٽيج ڪيترن ئي الڳ معياري مرحلن تي مشتمل آهي: GitLab مان ذريعن کي ڊائون لوڊ ڪرڻ، انحصار تيار ڪرڻ ۽ 3rd-پارٽي لائبريريون، يونٽ ٽيسٽنگ ۽ جامد ڪوڊ تجزيو، GitLab CI تي هڪ تعمير اسڪرپٽ تي عمل ڪرڻ، آرٽيڪل کي هڪ مخزن ڏانهن شايع ڪرڻ. اسان جي اندروني ChangelogBuilder اوزار ذريعي مصنوعي ۽ رليز نوٽس پيدا ڪرڻ.

توهان پڙهي سگهو ٿا عام DevOps ڪمن بابت اسان جي ٻين مضمونن ۾ Habré: “ذاتي تجربو: اسان جو مسلسل انٽيگريشن سسٽم ڇا ٿو لڳي"۽"ترقي جي عملن جي آٽوميشن: ڪيئن اسان مثبت ٽيڪنالاجيز تي DevOps خيالن تي عمل ڪيو».

ڪيتريون ئي عام پيداوار زنجيرن ٺاهي پيداوار جي عمل. عملن کي بيان ڪرڻ لاءِ معياري طريقو فعلي IDEF0 ماڊل استعمال ڪرڻ آهي.

ماڊلنگ جو هڪ مثال هڪ پيداوار CI عمل

اسان هڪ مسلسل انضمام نظام لاء معياري منصوبن جي ترقي تي خاص ڌيان ڏنو. اهو ممڪن آهي ته منصوبن جي هڪجهڙائي حاصل ڪرڻ لاء، جنهن کي نمايان ڪري ٿو پروموشنز سان گڏ تعميرات جو خاڪو جاري ڪريو.

افراتفري کي منظم ڪرڻ: ٽيڪنالاجي نقشي جي مدد سان ترتيب ڏيڻ

هتي اهو ڪيئن ڪم ڪندو آهي. سڀئي منصوبا عام نظر اچن ٿا: انهن ۾ اسيمبلين جي ترتيب شامل آهي جيڪي آرٽيفيڪٽري تي سنيپ شاٽ مخزن ڏانهن ويندا آهن، جنهن کان پوء انهن کي مقرر ڪيو ويو آهي ۽ ٽيسٽ بينچن تي آزمائشي، ۽ پوء رليز مخزن ڏانهن وڌايو ويو. مصنوعي خدمت ٽيمن ۽ ٻين خدمتن جي وچ ۾ سڀني تعميراتي نمونن کي ورهائڻ لاء هڪ واحد نقطو آهي.

جيڪڏهن اسان پنهنجي ڇڏڻ واري منصوبي کي تمام گهڻو آسان ۽ عام ڪريون ٿا، ان ۾ هيٺيان مرحلا شامل آهن:

  • پار-پليٽ فارم پيداوار جي تعمير،
  • ٽيسٽ بينچ تي مقرري،
  • فنڪشنل ۽ ٻيا ٽيسٽ شروع ڪرڻ،
  • آرٽيفيڪٽري تي ذخيرا جاري ڪرڻ لاءِ آزمائشي اسيمبلين جي واڌاري،
  • پبلشنگ رليز سرورز کي اپڊيٽ ڪرڻ لاءِ ٺاهي ٿي،
  • پيداوار جي تعمير ۽ تازه ڪاري جي ترسيل،
  • انسٽاليشن ۽ پراڊڪٽ اپڊيٽ شروع ڪرڻ.

اچو ته غور ڪريون، مثال طور، هڪ فنڪشنل IDEF0 ماڊل جي صورت ۾ هن عام رليز اسڪيم جي ٽيڪنالاجي ماڊل (هتي صرف ماڊل طور حوالو ڏنو ويو آهي). اهو اسان جي سي آء جي عمل جي مکيه مرحلن کي ظاهر ڪري ٿو. IDEF0 ماڊلز استعمال ڪري رهيا آهن ICOM نوٽيفڪيشن (Input-Control-Output-Mechanism) بيان ڪرڻ لاءِ ته هر اسٽيج تي ڪهڙا وسيلا استعمال ڪيا وڃن ٿا، ڪهڙن قاعدن ۽ ضرورتن جي بنياد تي ڪم ڪيو وڃي ٿو، پيداوار ڇا آهي ۽ ڪهڙي ميکانيزم، خدمتون يا ماڻهو ڪنهن خاص مرحلي تي عمل درآمد ڪن ٿا.

افراتفري کي منظم ڪرڻ: ٽيڪنالاجي نقشي جي مدد سان ترتيب ڏيڻ

مڪمل سائيز ۾ کولڻ لاء تصوير تي ڪلڪ ڪريو

ضابطي جي طور تي، فنڪشنل ماڊل ۾ ان کي ختم ڪرڻ آسان آهي ۽ عمل جي تفصيل کي تفصيل سان. پر جيئن جيئن عنصرن جو تعداد وڌندو ٿو وڃي، تيئن تيئن انھن جي باري ۾ ڪجھ سمجھڻ وڌيڪ مشڪل ٿيندو پيو وڃي. پر حقيقي ترقي ۾ پڻ معاون مرحلا آهن: نگراني، پيداوار جي سرٽيفڪيشن، ڪم جي عمل جي خودڪار ۽ ٻيا. اهو خاص طور تي اسڪيلنگ جي مسئلي جي ڪري آهي ته اسان هن وضاحت کي ڇڏي ڏنو.

اميد جو جنم

ھڪڙي ڪتاب ۾ اسان کي پراڻا سوويت نقشا مليا آھن جيڪي ٽيڪنيڪي عملن کي بيان ڪن ٿا (جيڪي، رستي سان، اڃا تائين ڪيترن ئي رياستي ادارن ۽ يونيورسٽين ۾ استعمال ڪيا ويا آھن). انتظار ڪريو، انتظار ڪريو، اسان وٽ پڻ ٽيڪنيڪل عمل آھي!.. اتي مرحلا آھن، نتيجا، ميٽرڪ، ضرورتون، اشارا، وغيره وغيره.... اسان جي پراڊڪٽ ڪنويرز تي ٽيڪنالاجي نقشا لاڳو ڪرڻ جي ڪوشش ڇو نه ڪئي وڃي؟ اتي هڪ احساس هو: "هي اهو آهي! اسان کي صحيح ڌاڳو مليو آهي، اهو وقت اچي ويو آهي ته ان کي سٺي ٽگ ڏيو!”

هڪ سادي جدول ۾، اسان ڪالمن جي ذريعي پروڊڪٽس کي رڪارڊ ڪرڻ جو فيصلو ڪيو، ۽ ٽيڪنيڪل مرحلن ۽ پراڊڪٽ کنويئر جا مرحلا قطارن ذريعي. مرحلا ڪجھ وڏا آھن، جھڙوڪ ھڪڙي پيداوار جي اسيمبلي اسٽيج. ۽ قدم ڪجھ ننڍا ۽ وڌيڪ تفصيلي آھن، مثال طور، بلڊ سرور تي سورس ڪوڊ ڊائون لوڊ ڪرڻ يا ڪوڊ گڏ ڪرڻ جو قدم.

نقشي جي قطارن ۽ ڪالمن جي چونڪ تي، اسان ھڪڙي مخصوص اسٽيج ۽ پراڊڪٽ لاءِ حالتون رکون ٿا. ڪيترين ئي رياستن لاءِ بيان ڪيا ويا آهن:

  1. ڪوبه ڊيٽا نه آهي - يا غير عملي. اهو ضروري آهي ته پيداوار ۾ اسٽيج جي طلب جو تجزيو ڪيو وڃي. يا ته تجزيو اڳ ۾ ئي ڪيو ويو آهي، پر اسٽيج جي في الحال ضرورت ناهي يا اقتصادي طور تي صحيح ناهي.
  2. ملتوي - يا هن وقت لاڳاپيل ناهي. پائپ لائن ۾ هن اسٽيج جي ضرورت آهي، پر هن سال ان تي عمل ڪرڻ لاء توانائي ناهي.
  3. منصوبا ٿيل. اسٽيج تي عمل ڪرڻ لاء هن سال رٿابندي ڪئي وئي آهي.
  4. لاڳو ٿيل. پائپ لائن ۾ اسٽيج کي گهربل حد تائين لاڳو ڪيو ويو آهي.

ٽيبل کي ڀرڻ شروع ڪيو پروجيڪٽ طرفان. پهرين، اسان هڪ منصوبي جي مرحلن ۽ مرحلن کي درجه بندي ڪيو ۽ انهن جي حالتن کي رڪارڊ ڪيو. ان کان پوء انهن ايندڙ پروجيڪٽ کي ورتو، ان ۾ اسٽيٽس کي رڪارڊ ڪيو ۽ مرحلا ۽ مرحلا شامل ڪيا جيڪي اڳئين منصوبن ۾ غائب هئا. نتيجي طور، اسان کي اسان جي پوري پيداوار جي پائپ لائن جا مرحلا ۽ مرحلا مليا آهن ۽ انهن جون حالتون هڪ مخصوص منصوبي ۾. نتيجو ڪجھه ملندڙ جلندڙ آھي ھڪڙي کاڌي جي ڪنويئر لاءِ قابليت ميٽرڪس. اسان اهڙي ميٽرڪس کي ٽيڪنالاجي نقشو سڏيو آهي.

ٽيڪنالاجي نقشي جي مدد سان، اسان ميٽرولوجيڪل طور تي ٽيمن سان سال جي ڪم جي منصوبن تي متفق آهيون ۽ اهي هدف جيڪي اسان گڏجي حاصل ڪرڻ چاهيون ٿا: اسان هن سال پروجيڪٽ ۾ ڪهڙا مرحلا شامل ڪريون ٿا، ۽ جيڪي اسان بعد ۾ ڇڏينداسين. انهي سان گڏ، جيئن اسان ڪم ڪريون ٿا، اسان انهن قدمن ۾ بهتري ڏسي سگهون ٿا جيڪي اسان صرف هڪ پيداوار لاءِ مڪمل ڪيا آهن. پوءِ اسان پنھنجي نقشي کي وڌايو ۽ ھن سڌاري کي ھڪ اسٽيج يا نئين قدم طور متعارف ڪرايو، پوءِ اسين ھر پراڊڪٽ جو تجزيو ڪريون ٿا ۽ ان سڌاري کي نقل ڪرڻ جي فزيبلٽي ڳوليون ٿا.

اهي شايد اسان تي اعتراض ڪري سگهن ٿا: "اهو سڀ ڪجهه سٺو آهي، يقينا، پر وقت سان گڏ قدمن ۽ مرحلن جو تعداد ممنوع طور تي وڏو ٿيندو. مونکي ڇا ڪرڻ گهرجي؟

اسان هر اسٽيج ۽ قدم لاءِ گهربل ضرورتن جي معياري ۽ مڪمل طور تي مڪمل وضاحتون متعارف ڪرايون آهن ته جيئن ڪمپني جي اندر اهي هرڪو هڪ ئي طريقي سان سمجهي سگهن. وقت گذرڻ سان، جيئن سڌارن تي عمل ڪيو ويندو، هڪ قدم ٻئي مرحلي ۾ جذب ​​ٿي سگهي ٿو يا قدم - پوءِ اهي ٽٽي پوندا. ساڳئي وقت، سڀني گهرجن ۽ ٽيڪنالاجي nuances عام ڪرڻ جي اسٽيج يا قدم جي ضرورتن ۾ فٽ.

replicating حل جي اثر جو اندازو ڪيئن ڪجي؟ اسان هڪ انتهائي سادو طريقو استعمال ڪريون ٿا: اسان هڪ نئين اسٽيج تي عمل درآمد لاءِ ابتدائي سرمائي جي قيمتن کي ساليانو عام پيداوار جي قيمتن سان منسوب ڪريون ٿا، ۽ پوءِ نقل ڪرڻ وقت انهن کي سڀني جي وچ ۾ ورهايون ٿا.

ترقي جا حصا اڳ ۾ ئي نقشي تي مرحلن ۽ مرحلن جي طور تي ظاهر ڪيا ويا آهن. اسان عام مرحلن لاء آٽوميشن جي تعارف ذريعي پيداوار جي قيمتن جي گھٽتائي تي اثر انداز ڪري سگھون ٿا. ان کان پوء، اسان ڪيفيت جي خاصيتن ۾ تبديلين، مقدار جي ماپ ۽ ٽيمن پاران حاصل ڪيل منافعو (انسان-ڪلاڪ يا مشين-ڪلاڪ محفوظ ڪيل) ۾ حساب ڪندا آهيون.

پيداوار جي عمل جو ٽيڪنالاجي نقشو

جيڪڏهن اسان پنهنجا سڀئي مرحلا ۽ قدم کڻون، انهن کي ٽيگ سان انڪوڊ ڪيو ۽ انهن کي هڪ زنجير ۾ وڌايو ته پوءِ اهو تمام ڊگهو ۽ ناقابل فهم ٿيندو (بلڪل ساڳي ”پٿون دم“ جنهن بابت اسان مضمون جي شروعات ۾ ڳالهايو آهي) :

[Production] — [InfMonitoring] — [SourceCodeControl] — [Prepare] — [PrepareLinuxDocker] — [PrepareWinDocker] — [Build] — [PullSourceCode] — [PrepareDep] — [UnitTest] — [CodeCoverage] — [StaticAnalyze] — [BuildScenario] — [PushToSnapshot] — [ChangelogBuilder] — [Deploy] — [PrepareTestStand] — [PullTestCode] — [PrepareTestEnv] — [PullArtifact] — [DeployArtifact] — [Test] — [BVTTest] — [SmokeTest] — [FuncTest] — [LoadTest] — [IntegrityTest] — [DeliveryTest] — [MonitoringStands] — [TestManagement] — [Promote] — [QualityTag] — [MoveToRelease] — [License] — [Publish] — [PublishGUSFLUS] — [ControlVisibility] — [Install] — [LicenseActivation] — [RequestUpdates] — [PullUpdates] — [InitUpdates] — [PrepareEnv] — [InstallUpdates] — [Telemetry] — [Workflow] — [Communication] — [Certification] — [CISelfSufficiency]

اهي پراڊڪٽس کي گڏ ڪرڻ جا مرحلا آهن [تعمير]، انهن کي سرور جي جانچ ڪرڻ لاءِ ترتيب ڏيڻ [تعمير ڪرڻ]، ٽيسٽنگ [ٽيسٽ]، اسيمبليءَ کي ترقي ڏيارڻ لاءِ مخزنن کي جاري ڪرڻ لاءِ ٽيسٽ جي نتيجن جي بنياد تي [ترقي ڪرڻ]، لائسنس ٺاهڻ ۽ شايع ڪرڻ [لائسنس]، پبلشنگ [پبلش ڪرڻ] GUS اپڊيٽ سرور تي ۽ سرورز تي FLUS اپڊيٽس جي ترسيل، پراڊڪٽ ڪنفيگريشن مئنيجمينٽ [انسٽال] استعمال ڪندي ڪسٽمر جي انفراسٽرڪچر تي پراڊڪٽ جي اجزاء جي تنصيب ۽ تازه ڪاري، انهي سان گڏ انسٽال ٿيل پراڊڪٽس مان ٽيليميٽري [ٽيليميٽري] گڏ ڪرڻ.

انهن کان علاوه، اسان الڳ الڳ مرحلن ۾ فرق ڪري سگهون ٿا: انفراسٽرڪچر جي حالت جي نگراني [InfMonitoring]، ماخذ ڪوڊ جي نسخن کي منظم ڪرڻ [SourceCodeControl]، اسيمبليء جي ماحول کي تيار ڪرڻ [تيار ڪريو]، پروجيڪٽ مينيجمينٽ [ڪم فلو]، ٽيمن کي مواصلاتي اوزار مهيا ڪرڻ [ ڪميونيڪيشن]، پراڊڪٽ سرٽيفڪيشن [سرٽيفڪيشن] ۽ سي آءِ جي عملن جي خودمختياري کي يقيني بڻائڻ [CISelfSufficiency] (مثال طور، انٽرنيٽ کان اسيمبلين جي آزادي). اسان اسان جي عملن ۾ ڪيترن ئي مرحلن تي غور نه ڪنداسين، ڇاڪاڻ ته اهي تمام مخصوص آهن.

اهو سمجھڻ ۽ سڄي پيداوار جي عمل کي ڏسڻ لاء تمام آسان ٿيندو جيڪڏهن توهان ان کي شڪل ۾ تصور ڪريو ٽيڪنالاجي نقشو؛ هي هڪ جدول آهي جنهن ۾ انفرادي پيداوار جا مرحلا ۽ ماڊل جا ٺهندڙ مرحلا قطارن ۾ درج ٿيل آهن، ۽ ڪالمن ۾ بيان ڪيل آهي ته هر اسٽيج يا قدم تي ڇا ڪيو ويو آهي. بنيادي زور وسيلن تي آهي جيڪي هر اسٽيج ۽ ذميواري جي علائقن جي حد بندي مهيا ڪن ٿا.

اسان لاءِ، نقشو ھڪ قسم جي درجي بندي آھي. اهو پيداوار جي پيداوار جي وڏي ٽيڪنالاجي حصن کي ظاهر ڪري ٿو. ان جي مهرباني، اسان جي آٽوميشن ٽيم لاءِ ڊولپرز سان رابطو ڪرڻ آسان ٿي ويو آهي ۽ گڏيل طور تي آٽوميشن مرحلن کي لاڳو ڪرڻ جي منصوبابندي ڪرڻ، انهي سان گڏ سمجھو ته مزدورن جي قيمتن ۽ وسيلن (انساني ۽ هارڊويئر) ان لاءِ ڪهڙي ضرورت پوندي.

اسان جي ڪمپني جي اندر، نقشو پاڻمرادو ٺاھيو ويندو آھي جنجا ٽيمپليٽ مان باقاعده HTML فائل جي طور تي، ۽ پوءِ GitLab صفحن جي سرور تي اپ لوڊ ڪيو ويندو آھي. مڪمل طور تي ٺاهيل نقشي جي مثال سان اسڪرين شاٽ ڏسي سگھجي ٿو لنڪ.

افراتفري کي منظم ڪرڻ: ٽيڪنالاجي نقشي جي مدد سان ترتيب ڏيڻ

مڪمل سائيز ۾ کولڻ لاء تصوير تي ڪلڪ ڪريو

مختصر ۾، هڪ ٽيڪنالاجي نقشو پيداوار جي عمل جي هڪ عام تصوير آهي، جيڪا واضح طور تي درجه بندي بلاڪ کي معياري ڪارڪردگي سان ظاهر ڪري ٿي.

اسان جي ٽيڪنالاجي نقشي جي جوڙجڪ

نقشو ڪيترن ئي حصن تي مشتمل آهي:

  1. هيڊنگ ايريا - هتي نقشي جي عام وضاحت آهي، بنيادي تصورات متعارف ڪرايا ويا آهن، ۽ مکيه وسيلن ۽ پيداوار جي عمل جا نتيجا بيان ڪيا ويا آهن.
  2. انفارميشن پينل - هتي توهان انفرادي پروڊڪٽس لاءِ ڊيٽا جي ڊسپلي کي ڪنٽرول ڪري سگهو ٿا؛ سڀني شين لاءِ عام طور تي لاڳو ڪيل مرحلن ۽ مرحلن جو خلاصو مهيا ڪيو ويو آهي.
  3. ٽيڪنيڪي نقشو - ٽيڪنيڪل عمل جو هڪ جدول بيان. نقشي تي:
    • سڀ مرحلا، مرحلا ۽ انهن جا ڪوڊ ڏنل آهن؛
    • مرحلن جي مختصر ۽ مڪمل وضاحت ڏني وئي آهي؛
    • هر اسٽيج تي استعمال ٿيل ان پٽ وسيلن ۽ خدمتن کي اشارو ڪيو ويو آهي؛
    • هر اسٽيج ۽ انفرادي قدم جا نتيجا ظاهر ڪيا ويا آهن؛
    • هر اسٽيج ۽ قدم لاء ذميواري جو علائقو ظاهر ڪيو ويو آهي؛
    • ٽيڪنيڪل وسيلا طئي ڪيا ويا آهن، مثال طور HDD (SSD)، RAM، vCPU، ۽ انسان-ڪلاڪ هن اسٽيج تي ڪم جي حمايت ڪرڻ لاءِ ضروري آهن، ٻنهي في الحال - حقيقت، ۽ مستقبل ۾ - منصوبو؛
    • هر پراڊڪٽ لاءِ اهو اشارو ڪيو ويو آهي ته ڪهڙا ٽيڪنالاجي مرحلا يا ان لاءِ مرحلا لاڳو ڪيا ويا آهن، عملدرآمد لاءِ منصوبا آهن، غير لاڳاپيل آهن يا لاڳو نه ڪيا ويا آهن.

ٽيڪنيڪي نقشي جي بنياد تي فيصلا ڪرڻ

نقشي جي مطالعي کان پوء، توھان ڪجھ عمل ڪري سگھو ٿا، ڪمپني ۾ ملازم جي ڪردار تي منحصر آھي (ڊوولپمينٽ مئنيجر، پراڊڪٽ مئنيجر، ڊولپر يا ٽيسٽر):

  • سمجھو ته اصل پراڊڪٽ يا پروجيڪٽ ۾ ڪهڙا مرحلا غائب آهن ۽ انهن تي عمل ڪرڻ جي ضرورت جو اندازو لڳايو؛
  • ڪيترن ئي شعبن جي وچ ۾ ذميواري جي علائقن کي محدود ڪريو جيڪڏهن اهي مختلف مرحلن تي ڪم ڪري رهيا آهن؛
  • مرحلن جي انپٽس ۽ آئوٽ پُٽ لاءِ معاهدو طئي ڪرڻ؛
  • توهان جي ڪم جي اسٽيج کي مجموعي ترقي جي عمل ۾ شامل ڪريو؛
  • هر اسٽيج کي سپورٽ ڪرڻ لاءِ وسيلن جي ضرورت جو وڌيڪ صحيح اندازو لڳايو.

مٿين سڀني جو خلاصو

ٽيڪنالاجي نقشو ورسٽائل، وسعت وارو ۽ برقرار رکڻ ۾ آسان آهي. سخت تعليمي IDEF0 ماڊل جي ڀيٽ ۾ هن فارم ۾ پروسيس جي وضاحت کي ترقي ۽ برقرار رکڻ تمام آسان آهي. ان کان علاوه، هڪ جدول جي وضاحت سادي، وڌيڪ واقف ۽ بهتر ٺهيل آهي فنڪشنل ماڊل کان.

هڪ خاص اندروني اوزار، CrossBuilder، مرحلن جي ٽيڪنيڪل عمل درآمد لاء ذميوار آهي - CI سسٽم، خدمتن ۽ انفراسٽرڪچر جي وچ ۾ هڪ پرت وارو اوزار. ڊولپر کي پنهنجي سائيڪل کي ڪٽڻ جي ضرورت ناهي: اسان جي CI سسٽم ۾، اهو ڪافي آهي ته هڪ اسڪرپٽ کي هلائڻ لاء (نام نهاد ڪم) CrossBuilder اوزار، جيڪو اسان جي انفراسٽرڪچر جي خاصيتن کي حساب ۾ رکندي، صحيح طريقي سان عمل ڪندو.

نتيجو

مضمون ڪافي ڊگهو ٿي ويو، پر اهو ناگزير آهي جڏهن پيچيده عمل جي ماڊلنگ کي بيان ڪندي. آخر ۾، مان مختصر طور تي اسان جي مکيه خيالن کي بيان ڪرڻ چاهيندس:

  • اسان جي ڪمپني ۾ DevOps خيالن کي متعارف ڪرائڻ جو مقصد مسلسل مقدار جي اصطلاحن ۾ ڪمپني جي شين جي پيداوار ۽ سار سنڀال جي قيمت کي گھٽائڻ آهي (انسان-ڪلاڪ يا مشين ڪلاڪ، وي سي پي يو، رام، ڊسڪ).
  • ترقي جي مجموعي قيمت کي گھٽائڻ جو ھڪڙو طريقو معياري سيريل ڪمن کي انجام ڏيڻ جي قيمت کي گھٽائڻ آھي: ٽيڪنالاجي عمل جا مرحلا ۽ مرحلا.
  • ھڪڙو عام ڪم ھڪڙو ڪم آھي جنھن جو حل مڪمل طور تي يا جزوي طور تي خودڪار آھي، ڪارڪردگي لاء مشڪلاتن جو سبب نه آھي ۽ وڏي محنت جي قيمت جي ضرورت نه آھي.
  • پيداواري عمل مرحلن تي مشتمل هوندو آهي، مرحلا اڻ ورهايل مرحلن ۾ ورهايل هوندا آهن، جيڪي مختلف اسڪيلن ۽ حجمن جي عام ڪمن جي نمائندگي ڪن ٿا.
  • الڳ ٿيل معياري ڪمن مان اسان پيچيده ٽيڪنالاجي زنجيرن ۽ پيداوار جي عمل جي گھڻ-سطح ماڊلز تي آيا آهيون، جن کي هڪ فنڪشنل IDEF0 ماڊل يا هڪ آسان ٽيڪنالاجي نقشي ذريعي بيان ڪري سگهجي ٿو.
  • هڪ فلو چارٽ هڪ پيداوار جي عمل جي مرحلن ۽ مرحلن جي ٽيبل جي نمائندگي آهي. سڀ کان اهم شيء: نقشو توهان کي مڪمل عمل کي مڪمل طور تي ڏسڻ جي اجازت ڏئي ٿو، انهن کي تفصيل ڏيڻ جي امڪان سان وڏي ٽڪر ۾.
  • ٽيڪنيڪي نقشي جي بنياد تي، توهان هڪ خاص پراڊڪٽ ۾ مرحلن کي لاڳو ڪرڻ جي ضرورت جو اندازو لڳائي سگهو ٿا، ذميواري جي علائقن کي محدود ڪرڻ، مرحلن جي ان پٽ ۽ آئوٽ پُٽ لاءِ معاهدن تي متفق، ۽ وسيلن جي ضرورت جو وڌيڪ صحيح اندازو لڳائي سگهو ٿا.

ايندڙ مضمونن ۾ اسان وڌيڪ تفصيل سان ڳالهائينداسين ته اسان جي نقشي تي ڪجهه ٽيڪنالاجي مرحلن کي لاڳو ڪرڻ لاءِ ڪهڙا ٽيڪنيڪل اوزار استعمال ڪيا وڃن ٿا.

مضمون جا ليکڪ:

  • اليگزينڊر Pazdnikov - آٽوميشن ڊپارٽمينٽ جو سربراهه (DevOps) مثبت ٽيڪنالاجيز تي
  • تيمور گلمولين - نائب آٽوميشن ڊپارٽمينٽ جو سربراهه (DevOps) مثبت ٽيڪنالاجيز تي

جو ذريعو: www.habr.com

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