کنفیگریشن مینجمنٹ کے ساتھ معجزات کے بغیر سرورز کو ترتیب دینے کے بارے میں ایک تھرلر

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

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

نئے سرورز کی کمیشننگ کو ایک آخری تاریخ سے سختی سے جوڑا گیا تھا۔ اور اسے منتقل کرنے کا مطلب ایک ارب تحائف کی ترسیل اور نظام کی منتقلی دونوں کو خطرے میں ڈالنا تھا۔ یہاں تک کہ فادر فراسٹ اور سانتا کلاز پر مشتمل ٹیم بھی تاریخ تبدیل نہیں کر سکی - آپ سال میں صرف ایک بار گودام کے انتظام کے لیے SAP سسٹم کو منتقل کر سکتے ہیں۔ 31 دسمبر سے یکم جنوری تک، خوردہ فروش کے بڑے گودام، مجموعی طور پر 1 فٹ بال فیلڈز، 20 گھنٹے کے لیے اپنا کام روک دیتے ہیں۔ اور نظام کو حرکت دینے کے لیے یہ واحد مدت ہے۔ سرورز متعارف کرواتے وقت ہمارے پاس غلطی کی کوئی گنجائش نہیں تھی۔

مجھے واضح کرنے دو: میری کہانی ان ٹولز اور کنفیگریشن مینجمنٹ کے عمل کی عکاسی کرتی ہے جو ہماری ٹیم استعمال کرتی ہے۔

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

OS کی تنصیب کا انتظام

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

اس سسٹم کا استعمال کرتے ہوئے، ہمیں مزید آٹومیشن کے لیے موزوں OS کے ساتھ معیاری سرور کی مثالیں موصول ہوئیں۔ "ڈالنے" کے دوران انہیں مقامی صارفین اور عوامی SSH کلیدوں کا ایک کم از کم سیٹ، نیز ایک مستقل OS کنفیگریشن ملا۔ ہمیں CMS کے ذریعے سرورز کا نظم کرنے کی ضمانت دی جا سکتی ہے اور ہمیں یقین ہے کہ OS کی سطح پر "نیچے" کوئی سرپرائز نہیں تھا۔

انسٹالیشن مینجمنٹ سسٹم کا "زیادہ سے زیادہ" کام BIOS/Firmware کی سطح سے OS تک سرورز کو خود بخود کنفیگر کرنا ہے۔ یہاں زیادہ تر سامان اور سیٹ اپ کے کاموں پر منحصر ہے۔ متضاد سامان کے لئے، آپ غور کر سکتے ہیں REDFISH API. اگر تمام ہارڈ ویئر ایک وینڈر کی طرف سے ہیں، تو یہ اکثر تیار شدہ انتظامی ٹولز (مثال کے طور پر، HP ILO ایمپلیفائر، DELL OpenManage، وغیرہ) استعمال کرنا زیادہ آسان ہوتا ہے۔

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

ہم نے HashiSorp Packer کا استعمال کرتے ہوئے تیار کردہ ٹیمپلیٹس کی بنیاد پر ورچوئل سرورز بنائے۔ وجہ ایک ہی تھی: OS کو انسٹال کرتے وقت ممکنہ انسانی غلطیوں کو روکنے کے لیے۔ لیکن، فزیکل سرورز کے برعکس، پیکر PXE، نیٹ ورک بوٹنگ، اور VLAN تبدیلیوں کی ضرورت کو ختم کرتا ہے۔ اس نے ورچوئل سرورز بنانا آسان اور آسان بنا دیا ہے۔

کنفیگریشن مینجمنٹ کے ساتھ معجزات کے بغیر سرورز کو ترتیب دینے کے بارے میں ایک تھرلر
چاول۔ 1. آپریٹنگ سسٹمز کی تنصیب کا انتظام۔

رازوں کا انتظام کرنا

کسی بھی کنفیگریشن مینجمنٹ سسٹم میں ڈیٹا ہوتا ہے جسے عام صارفین سے چھپایا جانا چاہیے، لیکن سسٹم کی تیاری کے لیے اس کی ضرورت ہوتی ہے۔ یہ مقامی صارفین اور سروس اکاؤنٹس، سرٹیفکیٹ کیز، مختلف API ٹوکنز وغیرہ کے پاس ورڈز ہیں۔ انہیں عام طور پر "راز" کہا جاتا ہے۔

اگر آپ شروع ہی سے اس بات کا تعین نہیں کر پاتے ہیں کہ ان رازوں کو کہاں اور کیسے ذخیرہ کرنا ہے، تو، معلومات کی حفاظت کے تقاضوں کی شدت کے لحاظ سے، ذخیرہ کرنے کے درج ذیل طریقوں کا امکان ہے:

  • براہ راست کنفیگریشن کنٹرول کوڈ میں یا ریپوزٹری میں فائلوں میں؛
  • خصوصی کنفیگریشن مینجمنٹ ٹولز میں (مثال کے طور پر، Ansible Vault)؛
  • CI/CD سسٹمز میں (Jenkins/TeamCity/GitLab/etc.) یا کنفیگریشن مینجمنٹ سسٹمز میں (Ansible Tower/Ansible AWX)؛
  • راز کو "دستی طور پر" بھی منتقل کیا جا سکتا ہے۔ مثال کے طور پر، وہ ایک مخصوص جگہ پر رکھے جاتے ہیں، اور پھر انہیں کنفیگریشن مینجمنٹ سسٹم کے ذریعے استعمال کیا جاتا ہے۔
  • مندرجہ بالا کے مختلف مجموعے.

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

ہم نے مرکزی خفیہ اسٹوریج HashiCorp Vault استعمال کیا۔ اس نے ہمیں اجازت دی:

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

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

ہم اپنے سسٹم میں ایک اور سطح کا اضافہ کرتے ہیں: راز کا انتظام اور مرکزی تصدیق/تصدیق:

کنفیگریشن مینجمنٹ کے ساتھ معجزات کے بغیر سرورز کو ترتیب دینے کے بارے میں ایک تھرلر
چاول۔ 2. راز کا انتظام۔

کنفیگریشن مینجمنٹ

ہم بنیادی تک پہنچ گئے - CMS سسٹم۔ ہمارے معاملے میں، یہ Ansible اور Red Hat Ansible AWX کا مجموعہ ہے۔

Ansible کے بجائے شیف، پپیٹ، سالٹ اسٹیک استعمال کیا جا سکتا ہے۔ ہم نے کئی معیارات کی بنیاد پر جوابی انتخاب کا انتخاب کیا۔

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

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

اس طرح کے مسائل کا بڑا حصہ ریڈ ہیٹ کے ذریعے حل کیا جاتا ہے۔ جوابدہ ٹاور، یا اس کا اوپن سورس اپ اسٹریم پروجیکٹ جوابدہ AWX. اسی لیے ہم نے اسے گاہک کے لیے ترجیح دی۔

اور ہمارے CMS سسٹم کے پورٹریٹ کو ایک اور ٹچ۔ جوابی پلے بک کو کوڈ ریپوزٹری مینجمنٹ سسٹم میں محفوظ کیا جانا چاہئے۔ ہمارے پاس ہے۔ گٹ لیب سی ای.

لہٰذا، کنفیگریشنز کا انتظام خود جوابدہ/Ansible AWX/GitLab کے مجموعے سے ہوتا ہے (تصویر 3 دیکھیں)۔ یقیناً، AWX/GitLab کو ایک واحد تصدیقی نظام کے ساتھ مربوط کیا گیا ہے، اور Ansible playbook کو HashiCorp Vault کے ساتھ مربوط کیا گیا ہے۔ کنفیگریشنز صرف جوابی AWX کے ذریعے پیداواری ماحول میں داخل ہوتی ہیں، جس میں "گیم کے تمام اصول" بیان کیے گئے ہیں: کون کنفیگر کر سکتا ہے، CMS کے لیے کنفیگریشن مینجمنٹ کوڈ کہاں سے حاصل کرنا ہے۔

کنفیگریشن مینجمنٹ کے ساتھ معجزات کے بغیر سرورز کو ترتیب دینے کے بارے میں ایک تھرلر
چاول۔ 3. کنفیگریشن کا انتظام۔

ٹیسٹ مینجمنٹ

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

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

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

کوڈ ڈیولپمنٹ اور کنفیگریشن کا انتظام پرسکون اور زیادہ قابل قیاس ہو گیا ہے۔ مسلسل جانچ کو منظم کرنے کے لیے، ہم نے GitLab CI/CD ٹول کٹ کا استعمال کیا، اور لیا۔ جوابدہ مالیکیول.

جب بھی کنفیگریشن مینجمنٹ کوڈ میں کوئی تبدیلی ہوتی ہے، GitLab CI/CD مالیکیول کو کال کرتا ہے:

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

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

کنفیگریشن مینجمنٹ کے ساتھ معجزات کے بغیر سرورز کو ترتیب دینے کے بارے میں ایک تھرلر
چاول۔ 4. GitLab CI/CD میں کرداروں کی خودکار جانچ۔

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

نتیجے کے طور پر، دستی تبدیلیوں کی وجہ سے، ایک ہی قسم کے آلات کی ترتیب میں تضادات ظاہر ہوتے ہیں (مثال کے طور پر، sysctl کی ترتیبات HA کلسٹر نوڈس پر مختلف طریقے سے ترتیب دی جاتی ہیں)۔ یا آلات پر اصل ترتیب CMS کوڈ میں بیان کردہ سے مختلف ہے۔

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

کنفیگریشن مینجمنٹ کے ساتھ معجزات کے بغیر سرورز کو ترتیب دینے کے بارے میں ایک تھرلر
چاول۔ 5. جوابی AWX میں کنفیگریشن کی تضادات کی جانچ پڑتال کرتا ہے۔

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

اب ہمارے پاس ایک اہم ٹیسٹنگ پرت ہے جس میں Ansible AWX/GitLab/Molecule (شکل 6) شامل ہے۔

کنفیگریشن مینجمنٹ کے ساتھ معجزات کے بغیر سرورز کو ترتیب دینے کے بارے میں ایک تھرلر
چاول۔ 6. ٹیسٹ مینجمنٹ۔

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

آج سرورز اور ماحول کی ترتیبات میں کوئی "خفیہ علم" نہیں ہے۔ تمام ضروری خصوصیات پلے بک میں جھلکتی ہیں۔ مزید تخلیقی اور مبہم ہدایات نہیں:اسے باقاعدہ اوریکل کی طرح انسٹال کریں، لیکن آپ کو sysctl سیٹنگز کے ایک جوڑے کی وضاحت کرنے اور مطلوبہ UID والے صارفین کو شامل کرنے کی ضرورت ہے۔ آپریشن میں لڑکوں سے پوچھیں، وہ جانتے ہیں'.

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

اور یقیناً، ہم نے سرورز کے اجراء کو کئی دنوں سے گھنٹوں تک تیز کر دیا۔

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

PS ہماری ٹیم اکثر اس حقیقت کا سامنا کرتی ہے کہ گاہک کنفیگریشن مینجمنٹ کے مسائل کو جتنا ممکن ہو آسانی سے حل کرنا چاہتے ہیں۔ مثالی طور پر، گویا جادو سے - ایک آلے کے ساتھ۔ لیکن زندگی میں سب کچھ زیادہ پیچیدہ ہے (ہاں، چاندی کی گولیاں دوبارہ نہیں پہنچائی گئیں): آپ کو ایسے ٹولز کا استعمال کرتے ہوئے ایک پورا عمل بنانا ہوگا جو گاہک کی ٹیم کے لیے آسان ہوں۔

مصنف: سرگئی آرٹیموف، محکمہ معمار DevOps حل جیٹ انفو سسٹمز

ماخذ: www.habr.com

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