سسٹم ایڈمنسٹریٹرز کو ڈی او اوپس انجینئر کیوں بننا چاہئے۔

سسٹم ایڈمنسٹریٹرز کو ڈی او اوپس انجینئر کیوں بننا چاہئے۔

زندگی میں سیکھنے کے لیے آج سے بہتر کوئی وقت نہیں ہے۔


یہ 2019 ہے، اور DevOps پہلے سے کہیں زیادہ متعلقہ ہے۔ ان کا کہنا ہے کہ مین فریم کے دور کی طرح سسٹم ایڈمنسٹریٹرز کے دن بھی ختم ہو گئے ہیں۔ لیکن کیا واقعی ایسا ہے؟
جیسا کہ اکثر آئی ٹی میں ہوتا ہے، صورتحال بدل گئی ہے۔ DevOps طریقہ کار ابھر کر سامنے آیا ہے، لیکن یہ سسٹم ایڈمنسٹریٹر کی مہارت کے حامل شخص کے بغیر، یعنی Ops کے بغیر موجود نہیں ہو سکتا۔

اس سے پہلے کہ DevOps اپروچ اپنی جدید شکل اختیار کرے، میں نے خود کو ایک Ops کے طور پر درجہ بندی کیا۔ اور میں اچھی طرح جانتا ہوں کہ ایک سسٹم ایڈمنسٹریٹر کو کیا تجربہ ہوتا ہے جب اسے احساس ہوتا ہے کہ وہ ابھی تک کتنا نہیں کر سکتا اور اسے سیکھنے کے لیے کتنا کم وقت ہے۔

سسٹم ایڈمنسٹریٹرز کو ڈی او اوپس انجینئر کیوں بننا چاہئے۔

لیکن کیا یہ واقعی اتنا خوفناک ہے؟ میں کہوں گا کہ علم کی کمی کو کسی قسم کا بڑا مسئلہ نہ سمجھا جائے۔ یہ ایک پیشہ ورانہ چیلنج سے زیادہ ہے۔

ویب اسکیل پروڈکٹس لینکس یا دوسرے اوپن سورس سافٹ ویئر پر مبنی ہیں، اور مارکیٹ میں بہت کم لوگ ہیں جو انہیں برقرار رکھنے کے قابل ہیں۔ مانگ پہلے ہی اس شعبے میں پیشہ ور افراد کی تعداد سے تجاوز کر چکی ہے۔ ایک سسٹم ایڈمنسٹریٹر اپنی مہارت کی سطح کو بہتر بنائے بغیر صرف کام جاری نہیں رکھ سکے گا۔ اس کے پاس متعدد سرورز/نوڈس کو منظم کرنے کے لیے آٹومیشن کی مہارت ہونی چاہیے اور اس کے بارے میں اچھی طرح سمجھنا چاہیے کہ وہ پیدا ہونے والے مسائل کو حل کرنے کے لیے کس طرح کام کرتے ہیں۔

DevOps ٹیم کا رکن بننے سے پہلے، آپ کو کافی طویل لیکن دلچسپ سفر سے گزرنا پڑتا ہے، نئی ٹیکنالوجیز سیکھنا پڑتا ہے اور DevOps کے معیارات کے مطابق سسٹم کو برقرار رکھنے کے لیے ضروری مختلف ٹولز سیکھنے ہوتے ہیں۔

تو، ایک سسٹم ایڈمنسٹریٹر ڈی او اوپس کے نئے تصور پر کام کرنے کے لیے معمول کے نقطہ نظر سے کیسے آگے بڑھ سکتا ہے؟ سب کچھ معمول کے مطابق ہے: پہلے آپ کو اپنی سوچ کو تبدیل کرنے کی ضرورت ہے۔ پچھلے دس یا بیس سالوں سے آپ جس طریقہ کار کی پیروی کر رہے ہیں اسے ترک کرنا اور مختلف طریقے سے کام کرنا شروع کرنا آسان نہیں ہے، لیکن یہ ضروری ہے۔

سب سے پہلے، یہ سمجھنا ضروری ہے کہ DevOps کسی کمپنی میں مخصوص پوزیشن نہیں ہے، بلکہ مخصوص طریقوں کا مجموعہ ہے۔ ان طریقوں کا مطلب الگ تھلگ نظاموں کی تقسیم، کیڑے اور غلطیوں سے ہونے والے نقصان کو کم کرنا، بار بار اور بروقت سافٹ ویئر اپ ڈیٹس، ڈویلپرز (دیو) اور منتظمین (آپس) کے درمیان اچھی طرح سے قائم تعامل کے ساتھ ساتھ نہ صرف کوڈ کی مسلسل جانچ، بلکہ عمل کے اندر اندر بھی پوری ساخت مسلسل انضمام اور ترسیل (CI/CD).

سوچ کے انداز کو تبدیل کرنے کے ساتھ ساتھ، آپ کو یہ سیکھنے کی ضرورت ہے کہ کس طرح بنیادی ڈھانچے کو برقرار رکھا جائے اور اس کے مستحکم آپریشن، بھروسے اور دستیابی کو یقینی بنایا جائے تاکہ مسلسل انضمام اور ایپلی کیشنز، سروسز اور سافٹ ویئر کی فراہمی ہو۔

آپ کو ایک Ops پروفیشنل کے طور پر جس چیز کی کمی محسوس ہو سکتی ہے وہ پروگرامنگ کی مہارت ہے۔ اب اسکرپٹ (اسکرپٹ) لکھنا، جسے سسٹم ایڈمنسٹریٹرز سرور پر خودکار طور پر پیچ انسٹال کرنے، فائلوں اور اکاؤنٹس کو منظم کرنے، مسائل کو حل کرنے اور دستاویزات کو مرتب کرنے کے لیے استعمال کرتے ہیں، پہلے سے ہی متروک سمجھے جاتے ہیں۔ اسکرپٹ اب بھی نسبتاً آسان معاملات میں لاگو ہوتا ہے، لیکن DevOps بڑے پیمانے پر مسائل کو حل کرنے کے بارے میں ہے، چاہے وہ عمل درآمد، جانچ، تعمیرات، یا تعیناتی ہوں۔

اس طرح، اگر آپ آٹومیشن سیکھنا چاہتے ہیں، تو آپ کو کم از کم تھوڑی سی پروگرامنگ میں مہارت حاصل کرنی ہوگی، چاہے آپ ڈویلپر ہی کیوں نہ ہوں، کیونکہ آپ کی ترقی کے اس مرحلے پر بنیادی ڈھانچے آٹومیشن DevOps میں اس مہارت کی ضرورت ہوتی ہے۔

کیا کرنا ہے؟ ایک ماہر کے طور پر مانگ میں رہنے کے لیے، آپ کو متعلقہ مہارتیں حاصل کرنے کی ضرورت ہے - کم از کم ایک پروگرامنگ زبان میں مہارت حاصل کریں، مثال کے طور پر Python۔ یہ ایک ایسے شخص کو مشکل لگ سکتا ہے جو پیشہ ورانہ طور پر انتظامیہ میں شامل ہے، کیونکہ وہ یہ سوچنے کا عادی ہے کہ صرف ڈویلپر پروگرام کرتے ہیں۔ ماہر بننا ضروری نہیں ہے، لیکن پروگرامنگ زبانوں میں سے کسی ایک کا علم (یہ Python، Bash یا یہاں تک کہ ہو سکتا ہے) PowerShell کے)، یقینی طور پر ایک فائدہ ہو گا.

پروگرام سیکھنے میں کچھ وقت لگتا ہے۔ ڈیو اوپس ٹیم کے اراکین اور گاہکوں کے ساتھ بات چیت کرتے وقت ہوشیار اور صبر سے کام لینے سے آپ کو سب سے اوپر رہنے میں مدد ملے گی۔ دن میں آدھا گھنٹہ، ایک گھنٹہ یا اس سے زیادہ، پروگرامنگ لینگویج سیکھنا آپ کا بنیادی مقصد ہونا چاہیے۔

سسٹم ایڈمنسٹریٹر اور DevOps ماہرین اسی طرح کے مسائل حل کرتے ہیں، تاہم، ان میں اہم فرق موجود ہیں۔ یہ خیال کیا جاتا ہے کہ ایک سسٹم ایڈمنسٹریٹر وہ سب کچھ نہیں کر سکتا جو ڈی او اوپس انجینئر کر سکتا ہے۔ ان کا کہنا ہے کہ سسٹم ایڈمنسٹریٹر کی زیادہ توجہ سرور سسٹمز کی فعالیت کو ترتیب دینے، برقرار رکھنے اور یقینی بنانے پر ہے، لیکن DevOps انجینئر اس تمام کارٹ اور ایک اور چھوٹی ٹوکری کو کھینچتا ہے۔

لیکن یہ بیان کس حد تک درست ہے؟

سسٹم ایڈمنسٹریٹر: میدان میں ایک جنگجو

اس مضمون میں بیان کردہ اختلافات اور مماثلتوں کے باوجود، مجھے اب بھی یقین ہے کہ سسٹم ایڈمنسٹریشن اور DevOps کے درمیان کوئی خاص فرق نہیں ہے۔ سسٹم کے منتظمین نے ہمیشہ وہی کام انجام دیئے ہیں جو ڈی او اوپس کے ماہرین ہیں، یہ صرف اتنا ہے کہ اسے پہلے کسی نے ڈی او اوپس نہیں کہا۔ مجھے یقین ہے کہ خاص طور پر اختلافات کو تلاش کرنے کا کوئی فائدہ نہیں ہے، خاص طور پر اگر اس کا تعلق کسی کام سے نہ ہو۔ یہ نہ بھولیں کہ، سسٹم ایڈمنسٹریٹر کے برعکس، DevOps کوئی عہدہ نہیں ہے، بلکہ ایک تصور ہے۔

ایک اور اہم بات نوٹ کی جانی چاہیے، جس کے بغیر انتظامیہ اور DevOps دونوں کے بارے میں بات چیت ادھوری رہے گی۔ عام معنوں میں سسٹم ایڈمنسٹریشن یہ قیاس کرتا ہے کہ ایک ماہر کے پاس مہارتوں کا ایک مخصوص مجموعہ ہوتا ہے اور اس کی توجہ مختلف قسم کے انفراسٹرکچر کی خدمت پر مرکوز ہوتی ہے۔ اس معنی میں نہیں کہ یہ ایک آفاقی ملازم ہے، بلکہ اس معنی میں کہ تمام منتظمین کے ذریعہ بہت سے کام انجام دیے جاتے ہیں۔

مثال کے طور پر، وقتاً فوقتاً انہیں ایک قسم کے تکنیکی ہینڈی مین کے طور پر کام کرنا پڑتا ہے، یعنی لفظی طور پر سب کچھ کرنا پڑتا ہے۔ اور اگر پوری تنظیم کے لیے ایسا صرف ایک منتظم ہو تو وہ عموماً تمام تکنیکی کام انجام دے گا۔ یہ پرنٹرز اور کاپیئرز کو برقرار رکھنے سے لے کر نیٹ ورک سے متعلقہ کاموں کو انجام دینے تک کچھ بھی ہو سکتا ہے جیسے کہ راؤٹرز اور سوئچز کو ترتیب دینا اور ان کا انتظام کرنا یا فائر وال کو ترتیب دینا۔

وہ ہارڈویئر اپ گریڈ، لاگ انسپیکشن اور تجزیہ، سیکیورٹی آڈٹ، سرور پیچنگ، ٹربل شوٹنگ، روٹ کاز تجزیہ، اور آٹومیشن کے لیے بھی ذمہ دار ہو گا — عام طور پر پاور شیل، ازگر، یا باش اسکرپٹس کے ذریعے۔ استعمال کی ایک مثال منظرنامے صارف اور گروپ اکاؤنٹس کا انتظام ہے۔ صارف کے اکاؤنٹ بنانا اور اجازتیں تفویض کرنا ایک انتہائی تکلیف دہ کام ہے کیونکہ صارفین تقریباً ہر روز ظاہر ہوتے اور غائب ہو جاتے ہیں۔ اسکرپٹ کے ذریعے آٹومیشن بنیادی ڈھانچے کے مزید اہم کاموں کے لیے وقت خالی کرتی ہے، جیسے کہ سوئچز اور سرورز کو اپ گریڈ کرنا اور دیگر پروجیکٹس جو اس کمپنی کے منافع کو متاثر کرتے ہیں جہاں ایڈمنسٹریٹر کام کرتا ہے (حالانکہ یہ عام طور پر قبول کیا جاتا ہے کہ آئی ٹی ڈیپارٹمنٹ براہ راست آمدنی نہیں پیدا کرتا ہے)۔

سسٹم ایڈمنسٹریٹر کا کام وقت ضائع کرنا اور کمپنی کے پیسے کو کسی بھی ممکنہ طریقے سے بچانا نہیں ہے۔ کبھی کبھی سسٹم ایڈمنسٹریٹر ایک بڑی ٹیم کے ممبر کے طور پر کام کرتے ہیں، متحد ہو کر، مثال کے طور پر، لینکس، ونڈوز، ڈیٹا بیس، اسٹوریج وغیرہ کے ایڈمنسٹریٹر۔ کام کا شیڈول بھی مختلف ہوتا ہے۔ مثال کے طور پر، دن کے اختتام پر ایک ٹائم زون میں شفٹ کیسز کو دوسرے ٹائم زون میں اگلی شفٹ میں منتقل کرتا ہے تاکہ عمل رک نہ جائیں (سورج کی پیروی)؛ یا ملازمین کا کام کا دن صبح 9 بجے سے شام 5 بجے تک ہوتا ہے؛ یا یہ XNUMX/XNUMX ڈیٹا سینٹر میں کام کر رہا ہے۔

وقت گزرنے کے ساتھ، نظام کے منتظمین نے حکمت عملی سے سوچنا اور اہم معاملات کو معمول کے کاموں کے ساتھ جوڑنا سیکھ لیا ہے۔ وہ ٹیمیں اور محکمے جن میں وہ کام کرتے ہیں عام طور پر وسائل کی کمی ہوتی ہے، لیکن ساتھ ہی ساتھ ہر کوئی روزانہ کے کاموں کو مکمل حد تک مکمل کرنے کی کوشش کرتا ہے۔

DevOps: ایک کے طور پر ترقی اور دیکھ بھال

DevOps ترقی اور دیکھ بھال کے عمل کے لیے ایک قسم کا فلسفہ ہے۔ آئی ٹی کی دنیا میں یہ نقطہ نظر واقعی جدید بن گیا ہے۔

DevOps کی چھتری کے نیچے، ایک طرف سافٹ ویئر ڈویلپمنٹ ٹیم ہے اور دوسری طرف مینٹیننس ٹیم ہے۔ ان میں اکثر پروڈکٹ مینجمنٹ کے ماہرین، ٹیسٹرز اور یوزر انٹرفیس ڈیزائنرز شامل ہوتے ہیں۔ یہ ماہرین ایک ساتھ مل کر نئی ایپلیکیشنز اور کوڈ اپ ڈیٹس کو تیزی سے رول آؤٹ کرنے کے لیے کارروائیوں کو ہموار کرتے ہیں تاکہ پوری کمپنی کی کارکردگی کو بہتر بنایا جا سکے۔

DevOps اس کی پوری زندگی کے دوران سافٹ ویئر کی ترقی اور آپریشن پر کنٹرول پر مبنی ہے۔ دیکھ بھال کرنے والے لوگوں کو ڈویلپرز کی مدد کرنی چاہیے، اور ڈویلپرز کو سسٹم میں استعمال ہونے والے APIs سے زیادہ سمجھنے کا کام سونپا جاتا ہے۔ انہیں یہ سمجھنے کی ضرورت ہے کہ ہڈ کے نیچے کیا ہے (یعنی ہارڈ ویئر اور آپریٹنگ سسٹم کس طرح کام کرتے ہیں) تاکہ وہ کیڑے کو بہتر طریقے سے ہینڈل کر سکیں، مسائل حل کر سکیں اور سروس ٹیکنیشنز کے ساتھ بات چیت کر سکیں۔

اگر وہ جدید ترین ٹیکنالوجیز سیکھنا چاہتے ہیں اور اختراعی آئیڈیاز اور حل کے لیے کھلے ہیں تو سسٹم ایڈمنسٹریٹر ایک DevOps ٹیم میں جا سکتے ہیں۔ جیسا کہ میں نے پہلے کہا، انہیں مکمل پروگرامر بننے کی ضرورت نہیں ہے، لیکن روبی، ازگر یا گو جیسی پروگرامنگ لینگویج پر عبور حاصل کرنے سے انہیں ٹیم کے بہت مفید ممبر بننے میں مدد ملے گی۔ اگرچہ سسٹم ایڈمنسٹریٹر روایتی طور پر تمام کام خود کرتے ہیں اور اکثر انہیں تنہا سمجھا جاتا ہے، لیکن ڈی او اوپس میں ان کا تجربہ بالکل برعکس ہوتا ہے، جہاں عمل میں ہر کوئی ایک دوسرے کے ساتھ بات چیت کرتا ہے۔

آٹومیشن کا موضوع تیزی سے متعلقہ ہوتا جا رہا ہے۔ سسٹم کے منتظمین اور DevOps ماہرین دونوں ہی تیزی سے اسکیلنگ، غلطیوں کی تعداد کو کم کرنے، اور موجودہ خامیوں کو تیزی سے ڈھونڈنے اور ٹھیک کرنے میں دلچسپی رکھتے ہیں۔ اس طرح، آٹومیشن ایک ایسا تصور ہے جہاں دو علاقے آپس میں ملتے ہیں۔ سسٹم ایڈمنسٹریٹر کلاؤڈ سروسز جیسے کہ AWS، Azure، اور Google Cloud Platform کے ذمہ دار ہیں۔ انہیں مسلسل انضمام اور ترسیل کے اصولوں اور اس طرح کے ٹولز کو استعمال کرنے کا طریقہ سمجھنا چاہیے۔ جینکنز.

اس کے علاوہ، سسٹم ایڈمنسٹریٹرز کو کنفیگریشن اور مینجمنٹ ٹولز کا استعمال کرنا چاہیے جیسے ناممکندس یا بیس سرورز کی متوازی تعیناتی کے لیے ضروری ہے۔

بنیادی تصور ہے۔ بنیادی ڈھانچہ بطور کوڈ. سافٹ ویئر سب کچھ ہے۔ درحقیقت، سسٹم ایڈمنسٹریٹر کے پیشے سے مطابقت نہ کھونے کے لیے، آپ کو صرف زور کو تھوڑا سا تبدیل کرنے کی ضرورت ہے۔ سسٹم ایڈمنسٹریٹرز سروس کے کاروبار میں ہیں اور انہیں ڈویلپرز کے ساتھ مؤثر طریقے سے بات چیت کرنے کے قابل ہونا چاہیے، اور اس کے برعکس۔ جیسا کہ وہ کہتے ہیں، ایک سر اچھا ہے، لیکن دو بہتر ہیں.

اور اس میکانزم میں آخری تفصیل ہے۔ جاؤ. Git کے ساتھ کام کرنا سسٹم ایڈمنسٹریٹر کی روایتی روزمرہ کی ذمہ داریوں میں سے ایک ہے۔ یہ ورژن کنٹرول سسٹم بڑے پیمانے پر ڈویلپرز، DevOps ماہرین، Agile ٹیموں اور بہت سے دوسرے استعمال کرتے ہیں۔ اگر آپ کا کام سافٹ ویئر لائف سائیکل سے متعلق ہے، تو آپ یقینی طور پر Git کے ساتھ کام کریں گے۔

گٹ میں بہت ساری خصوصیات ہیں۔ آپ ممکنہ طور پر تمام Git کمانڈز کو کبھی نہیں سیکھیں گے، لیکن آپ بالکل سمجھ جائیں گے کہ یہ سافٹ ویئر کمیونیکیشن اور تعاون میں ایک اہم مقام کیوں ہے۔ اگر آپ DevOps ٹیم میں کام کر رہے ہیں تو Git کا مکمل علم بہت ضروری ہے۔

اگر آپ سسٹم ایڈمنسٹریٹر ہیں، تو آپ کو گٹ کا بہتر مطالعہ کرنے کی ضرورت ہے، یہ سمجھنا ہوگا کہ ورژن کنٹرول کیسے بنایا جاتا ہے اور عام احکامات کو یاد رکھیں: گِٹ اسٹیٹس، گِٹ کمٹ -م، گِٹ ایڈ، گِٹ پل، گِٹ پُش، گِٹ ریبیس، گِٹ برانچ، گِٹ ڈِف اور دوسرے. بہت سے آن لائن کورسز اور کتابیں ہیں جو آپ کو اس موضوع کو شروع سے سیکھنے اور مخصوص مہارتوں کے ساتھ پیشہ ور بننے میں مدد کر سکتی ہیں۔ شاندار بھی ہیں۔ گٹ کمانڈز کے ساتھ شیٹس کو دھوکہ دیں۔، لہذا آپ کو ان سب کو کچلنے کی ضرورت نہیں ہے، لیکن آپ جتنا زیادہ Git استعمال کریں گے، یہ اتنا ہی آسان ہوگا۔

حاصل يہ ہوا

بالآخر، آپ فیصلہ کرتے ہیں کہ آیا آپ کو DevOps ماہر بننے کی ضرورت ہے یا سسٹم ایڈمنسٹریٹر رہنا بہتر ہے۔ جیسا کہ آپ دیکھ سکتے ہیں، منتقلی کے لیے سیکھنے کا ایک منحنی خطوط موجود ہے، لیکن جتنی جلدی آپ شروع کریں گے، اتنا ہی بہتر ہے۔ ایک پروگرامنگ لینگویج کا انتخاب کریں اور اس کے ساتھ ساتھ ٹولز سیکھیں جیسے جاؤ (ورژن کنٹرول) جینکنز (CI/CD، مسلسل انضمام) اور ناممکن (ترتیب اور آٹومیشن) آپ جو بھی آپشن منتخب کریں، یہ نہ بھولیں کہ آپ کو اپنی صلاحیتوں کو مسلسل سیکھنے اور بہتر کرنے کی ضرورت ہے۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں