ایک "سادہ تعیناتی” بنیادی ڈھانچے کے کام کے ایک ہفتے میں کیوں بدل گئی۔

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

یہ ضمنی پروجیکٹس، ابتدائی مرحلے کے تجربات، یا کم ٹریفک سنگل سروس ایپس کے بارے میں نہیں ہے۔

یہ اصل نظام کی ترسیل کرنے والی ٹیموں کے لیے ہے۔ ایک ایسا نظام جس میں صارفین، اپ ٹائم توقعات، اور ریلیز پریشر شامل ہے۔

کیونکہ اس مرحلے پر تعیناتی کا عمل اب آسان نہیں رہا۔ یہ آپ کی مصنوعات کا حصہ ہے۔

اور ابھی، یہ زیادہ تر ٹیموں کا سب سے کمزور حصہ ہے۔

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

ہم یہ بھی دیکھیں گے کہ پلیٹ فارم بطور سروس (PaaS) اس شفٹ میں کہاں فٹ بیٹھتا ہے، اس سے کیا فوائد اور نقصانات ہوتے ہیں، اور جب اسے اپنانا حقیقت میں سمجھ میں آتا ہے۔

ہم کیا احاطہ کریں گے:

وہ وعدہ جو آپ کو بیچ دیا گیا تھا۔

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

یہ وعدہ اس وقت تک کام کرتا ہے جب تک یہ نہیں ہوتا ہے۔

اور جب یہ ٹوٹ جاتا ہے، تو یہ خوبصورتی سے ناکام نہیں ہوتا ہے۔ یہ پھیلتا ہے۔

ایک "آسان تعیناتی” ان نظاموں میں تحقیق کے دنوں میں بدل جاتی ہے جن کے آپ نے کبھی مالک بننے کا ارادہ نہیں کیا تھا۔

اس کی وجہ یہ نہیں کہ ٹیم لاپرواہ ہے۔ کیونکہ ماڈل خود یہ فرض کرتا ہے کہ آپ اس سے زیادہ ذمہ داری اٹھائیں گے جو آپ تسلیم کرتے ہیں۔

پوشیدہ معاہدے جو آپ پہلے ہی چلا رہے ہیں۔

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

بلڈ پائپ لائن، کنٹینر لائف سائیکل، رن ٹائم کنفیگریشن، نیٹ ورک رولز، سیکرٹ لیئر، ایکسٹینشن لاجک، اور آبزرویبلٹی اسٹیک کا مالک ہے۔

ان میں سے ہر ایک کو الگ تشویش کے طور پر پیش کیا گیا ہے۔ درحقیقت، وہ قریب سے جوڑے ہوئے ہیں۔

اور آپ واحد پرت ہیں جو انہیں ایک ساتھ رکھتی ہے۔ یہ پوشیدہ معاہدہ ہے۔

آپ پہلے ہی ایک پلیٹ فارم ٹیم کی طرح کام کر رہے ہیں۔

اگر آپ کی تعیناتی کے عمل میں CI پائپ لائنز، کنٹینر رجسٹریاں، کلاؤڈ سروسز، ماحولیاتی متغیرات، اور مانیٹرنگ ٹولز شامل ہیں، تو آپ اب صرف ایک ایپلیکیشن ٹیم نہیں ہیں۔ ہم ایک پلیٹ فارم چلاتے ہیں۔

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

یہ پلیٹ فارم انجینئرنگ کا کام ہے۔

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

لاگت پیچیدہ نہیں ہے۔ یہ وقت ہے

اس مسئلے کو "پیچیدگی” کے طور پر بیان کرنا آسان ہے۔ لیکن یہ اسے کم کرتا ہے۔

اصل قیمت یہ ہے کہ آپ کی ٹیم اپنا وقت کیسے گزارتی ہے۔

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

رہائی کی رفتار سست ہے۔ ایسا اس لیے نہیں ہے کہ ٹیم خصوصیات نہیں بنا سکتی، اس کی وجہ یہ ہے کہ ریلیز غیر متوقع ہیں۔

آن بورڈنگ زیادہ مشکل ہو جاتی ہے۔ نئے انجینئر صرف کوڈ بیس نہیں سیکھتے۔ آپ کو تقسیم کا نظام سیکھنے کی ضرورت ہے۔

اس میں سے کوئی بھی روڈ میپ پر نظر نہیں آتا۔ تاہم، اس کا براہ راست اثر اس بات پر پڑتا ہے کہ آپ کتنی تیزی سے حرکت کر سکتے ہیں۔

کیوں "یہ میرے کمپیوٹر پر کام کرتا ہے” اب بھی موجود ہے۔

ہمیں یہ مسئلہ حل کرنا تھا: کنٹینرز۔ بنیادی ڈھانچہ بطور کوڈ۔ دوبارہ پیدا کرنے کے قابل بناتا ہے۔

لیکن مقامی اور پیداوار کے درمیان فرق اب بھی بدترین ممکنہ لمحات میں ظاہر ہوتا ہے۔

کیونکہ مسئلہ صرف ماحولیاتی مساوات کا نہیں تھا۔ نظام برابری

مقامی ترتیبات میں وہی پابندیاں، اجازتیں، نیٹ ورک کے راستے، یا توسیعی رویے شامل نہیں ہوتے جیسے پیداوار۔

یہ اختلافات صرف اس وقت ظاہر ہوتے ہیں جب سب کچھ آپس میں جڑا ہو۔ یعنی یہ تعیناتی کے دوران سامنے آتا ہے۔

ٹکڑے ٹکڑے کرنا ایک بنیادی مسئلہ ہے۔

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

سرورز کو منظم کرنے کے بجائے، آپ خدمات کے درمیان انضمام کا انتظام کرتے ہیں۔ ایک فالٹ ڈومین کے بجائے، متعدد ہیں۔

تعیناتیاں CI مسائل، رجسٹری ٹائم آؤٹ، خفیہ کنفیگریشن کی خرابیوں، نیٹ ورکنگ کے قوانین، یا اسکیلنگ کی حدود کی وجہ سے ناکام ہو سکتی ہیں۔

ہر ایک مختلف نظام میں رہتا ہے۔ ہر ایک کو مختلف حالات کی ضرورت ہوتی ہے۔

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

یہ ماڈل آپ کے پیمانے پر ٹوٹ جاتا ہے۔

یہ صرف اس صورت میں کام کرتا ہے جب آپ کا سسٹم چھوٹا ہو۔ تاہم، پیداواری نظام چھوٹے پیمانے پر نہیں رہتے۔

مزید خدمات کا مطلب ہے مزید پائپ لائنز۔ مزید ترتیب۔ ناکامی کے مزید نکات۔

وقت گزرنے کے ساتھ، تعیناتی کے نظام کو برقرار رکھنے کے لیے درکار کوشش خود پروڈکٹ سے زیادہ تیزی سے بڑھتی ہے۔

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

اگر آپ ان تبدیلیوں کو پہلے ہی محسوس کر رہے ہیں، تو وہ عارضی نہیں ہیں۔ یہ ساختی ہے۔

بعض اوقات ایسے سوالات ہوتے ہیں جنہیں نظر انداز کرنا مشکل ہو جاتا ہے۔ آپ اب بھی اس مسئلے کو خود کیوں سنبھال رہے ہیں؟

یہ اس لیے نہیں ہے کہ آپ نہیں کر سکتے۔ لیکن اس کی وجہ یہ ہے کہ اب یہ واضح نہیں ہے کہ آیا ہمیں ایسا کرنا چاہیے۔

پلیٹ فارم پر منتقلی۔

یہ وہ جگہ ہے جہاں پلیٹ فارم بطور سروس ماڈل کو تبدیل کرتا ہے۔ یہ مزید ٹولز شامل کرنے سے نہیں ہوتا ہے، بلکہ ان کے بنائے ہوئے نظاموں کی ملکیت لے کر ہوتا ہے۔

PaaS کوڈ سے پروڈکشن تک کے راستے کی وضاحت کرتا ہے۔ راستہ جارحانہ، محدود اور مستقل ہے۔

یہ حدود حدود نہیں ہیں۔ یہ ناکامیوں کے پورے زمرے کو ختم کرتا ہے۔

ایک تعیناتی پائپ لائن کو جمع کرنے کے بجائے، ایک کو اپنائیں.

جو آپ ادا کرنا چھوڑ دیتے ہیں۔

PaaS میں جانے کو اکثر سہولت کے طور پر تیار کیا جاتا ہے۔ پروڈکشن ٹیم کے لیے، یہ لاگت کی بچت کے بارے میں زیادہ ہے۔

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

ان فیصلوں کے درمیان انٹیگریشن پوائنٹس کو ڈیبگ کرنا بند کریں۔ پیشن گوئی کے لیے تجارتی لچک۔

اور زیادہ تر ٹیموں کے لیے، پیشین گوئی درحقیقت ایک اہم رکاوٹ ہے۔

بنیادی ڈھانچے کے کام سے لے کر مصنوعات کے کام تک

سب سے بڑی تبدیلی فن تعمیر میں نہیں ہے۔ یہ انجینئرنگ کی کوششوں کو مختص کرنے پر آتا ہے۔

ڈیبگنگ میں گزارے گئے وقت کو دوبارہ تعمیراتی خصوصیات میں بھیج دیا جاتا ہے۔ پائپ لائن کو برقرار رکھنے میں صرف ہونے والا وقت مصنوعات کی بہتری میں ترجمہ کرتا ہے۔

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

اسٹیک کو گرائیں

PaaS کی خوبصورتی تجریدی نہیں ہے۔ یہ انضمام ہے۔

تعمیر، تعیناتی، رن ٹائم، اور مشاہدے کو ایک ہی نظام میں ضم کیا گیا ہے۔

ایڈجسٹ کرنے کے لیے کم پرتیں۔ جب کچھ ناکام ہوجاتا ہے تو دیکھنے کے لئے کم جگہیں ہوتی ہیں۔ اور غلط فیصلہ کرنے کے امکانات کم ہو جاتے ہیں۔

Sevalla, Railway, and Render جیسے پلیٹ فارمز کوڈ اور پروڈکشن کے درمیان لوپ کو سخت کر کے، اس میں شامل سسٹمز کی تعداد اور سطح کے رقبے کو کم کر کے اسے مزید آگے بڑھا رہے ہیں جسے ڈویلپرز کو سمجھنے کی ضرورت ہے۔

مقصد آپریشنل وضاحت ہے۔

جو سمجھوتہ آپ اصل میں کر رہے ہیں۔

ایک عام اعتراض کنٹرول ہے۔ اور یہ درست ہے۔ آپ اپنے انفراسٹرکچر کی ہر پرت کو اپنی مرضی کے مطابق بنانے کی صلاحیت ترک کر دیتے ہیں۔

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

کوئی بھی حسب ضرورت ترتیب ناکامی کے ایک اور نقطہ کا اضافہ کرتی ہے۔ ایک اور انحصار۔ دباؤ میں برقرار رکھنے کے لئے ایک اور چیز۔

تجارت بند کنٹرول بمقابلہ سہولت نہیں ہے۔ کنٹرول بمقابلہ وشوسنییتا۔

ایمرجنسی کی صورت میں

تبدیلی کا جواز پیش کرنے کے لیے آپ کو کسی بڑے خلل کی ضرورت نہیں ہے۔ سگنل پہلے ظاہر ہوتے ہیں۔

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

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

جب انفراسٹرکچر مینجمنٹ اب بھی سمجھ میں آتا ہے۔

PaaS ہر ٹیم کے لیے صحیح نہیں ہو سکتا۔

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

کچھ بڑی کمپنیاں اپنے پلیٹ فارم بنانے اور ان کا انتظام کرنے کا انتخاب کرتی ہیں۔ ان کے لیے، انفراسٹرکچر ان کے کاروبار کا ایک اہم حصہ ہے، اس لیے اضافی کام اس کے قابل ہے۔

اہم بات یہ ہے کہ وہ انتخاب جان بوجھ کر کریں۔

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

"آسان تعیناتی” کا واقعی کیا مطلب ہے۔

ایک سادہ تعیناتی ایسا نہیں ہے جو آسان محسوس ہو جب سب کچھ ٹھیک کام کر رہا ہو۔ یہ وہ چیز ہے جو نظام کے بڑھنے کے ساتھ ساتھ کام کرتی رہے گی۔

یہ پیشین گوئی ہے. ناکامی نایاب ہے. جب ایسا ہوتا ہے، تو اس کی تشخیص کرنا آسان ہوتا ہے۔

اور سب سے اہم بات، انجینئرز کو کوڈ بھیجنے کے لیے انفراسٹرکچر کے بارے میں سوچنے کی ضرورت نہیں ہے۔

مزید ٹولز شامل کرنے سے وہ نتائج حاصل نہیں ہوں گے۔ یہ ان سسٹمز کی تعداد کو کم کرکے حاصل کیا جاتا ہے جن کا انتظام کرنے کی ضرورت ہے۔

اختتامی خیالات

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

آپ اس ماڈل میں سرمایہ کاری جاری رکھ سکتے ہیں۔ متبادل طور پر، آپ اس معاملے کو اپنا سکتے ہیں جہاں تعیناتی کا مسئلہ حل ہو گیا ہو۔

پروڈکشن ٹیم کے لیے، یہ اب کوئی فلسفیانہ انتخاب نہیں ہے۔ یہ آپریشنل ہے۔

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

اوپر تک سکرول کریں۔