دنیا کا سب سے ناقص ڈیٹاسینٹر بنانے کی گائیڈ
ایک فرضی گائیڈ جو PUE 4.0 تک پہنچنے کے لیے RAID 0، اٹاری میں گرمی کو ہدف بنانے، اور خود کو دیکھنے والے monitor کے ذریعے سب سے ناقص ڈیٹاسینٹر ڈیزائن کرتی ہے۔
آپ کیا بنا رہے ہیں
اس سائٹ پر ہر گائیڈ آپ کو کسی چیز کو درست طریقے سے کرنا سکھاتی ہے: ترتیب میں کمانڈز، درست نتیجہ کیسا لگتا ہے، اور ناکامی کے حالات کے نام۔ یہ گائیڈ مختلف ہے۔ آج، فرضی طور پر، ہم ایسا کم سے کم موثر ڈیٹاسینٹر ڈیزائن کرنے جا رہے ہیں جسے پیسہ، بجلی، اور غرور پیدا کر سکتے ہیں۔
ہمیں ایک پیمانے کی ضرورت ہے، اس لیے ہم انڈسٹری کا اپنا پیمانہ استعمال کریں گے: PUE، Power Usage Effectiveness — کل سہولت کی بجلی کو اس بجلی سے تقسیم کرنا جو اصل میں کمپیوٹنگ آلات تک پہنچتی ہے۔ ایک ہائپرسکیل ڈیٹاسینٹر کا PUE تقریباً 1.1 ہوتا ہے: تقریباً ہر واٹ مفید کام کرتا ہے۔ ایک مناسب انٹرپرائز سرور روم 1.5 تک چلتا ہے۔ ہمارا ہدف 4.0 یا اس سے زیادہ ہے، یعنی کمپیوٹنگ کے ہر واٹ کے لیے تین مزید واٹ بے کار ضائع ہوتے ہیں۔ ہم اس عدد کا بار بار ذکر کریں گے، جس طرح سنجیدہ گائیڈز بیک اپس کا ذکر کرتی ہیں۔
سائٹ کا انتخاب: گرمی مقصد ہے
کولنگ کسی حقیقی ڈیٹاسینٹر میں سب سے بڑا اوور ہیڈ ہے، اسی لیے ہمارا ڈیٹاسینٹر تھرموڈائنامکس سے اس کے ہی میدان میں لڑے گا۔ بہترین جگہ ایک اٹاری ہے۔ جنوب کی طرف رخ کرتے ہوئے۔ بالکل ایسی چھت کی کھڑکی کے ساتھ جو براہ راست سرور پر چمکے، تاکہ مشین کو اپنی ہی فضول گرمی اور سورج کی گرمی، دونوں ملیں، آپ کے بجلی کے بل اور ایک ستارے کے درمیان تعاون۔
سردیوں میں، کولنگ کھڑکی کھول کر سنبھالی جاتی ہے۔ حقیقی ڈیٹاسینٹرز واقعی باہری ہوا استعمال کرتے ہیں — اس تکنیک کو free cooling کہتے ہیں، اور اسے انجینئرڈ، فلٹرڈ، اور ہیومیڈیٹی کنٹرولڈ طریقے سے کیا جاتا ہے۔ ہم اسے اتفاقی طور پر استعمال کریں گے، ایک ایسی کھڑکی کے ذریعے جو بارش، پولن، اور ہر سہ ماہی میں کم از کم ایک الجھے ہوئے پرندے کو بھی اندر آنے دیتی ہے۔
سچی مہارت کے لیے، ایک ایئر کنڈیشنر لگائیں، پھر اس کے تھرموسٹیٹ سے دو فٹ دور ایک اسپیس ہیٹر رکھیں، جسے ایئر کنڈیشنر کے ہدف سے دو ڈگری زیادہ گرم پر سیٹ کیا گیا ہو۔ اب دونوں مشینیں مسلسل، ہمیشہ، مکمل اختلاف میں چلیں گی۔ پاور کمپنی کرسمس پر آپ کو ایک کارڈ بھیجے گی۔
ایک سرور، بڑا، محبوب
ریڈنڈنسی لگن کو کم کرتی ہے۔ ہمارے ڈیٹاسینٹر میں بالکل ایک ہی سرور ہے، اور وہ بہت بڑا ہے، کیونکہ 512 GB RAM والی ایک واحد مشین انفراسٹرکچر محسوس ہوتی ہے، جبکہ چار چھوٹی مشینیں ایک ٹو ڈو لسٹ محسوس ہوتی ہیں۔
سرور کا ایک نام ہے۔ ہوسٹ نیم نہیں — ایک نام۔ عام طور پر Gandalf، یا Odin۔ آپ Odin کو ڈی کمیشن نہیں کر سکتے۔ Odin پانچ سال سے چل رہا ہے:
$ uptime
09:14:02 up 1847 days, 3:22, 1 user, load average: 6.41, 6.38, 6.40وہ عدد فخر کی بات ہے، اسی لیے آپ اس کا اسکرین شاٹ لیتے ہیں اور پوسٹ کرتے ہیں، اور اسی لیے ہر وہ حملہ آور جو اسکرین شاٹ دیکھتا ہے اسے بھی متاثر کن پاتا ہے: 1,847 دن کی اپ ٹائم کا مطلب ہے 1,847 دن کے کرنل ولفنیبلٹیز، جسے کسی نے پیچ نہیں کیا۔ ری بوٹ کرنا تو سوال ہی نہیں — ری بوٹ وہ طریقہ ہے جس سے آپ جانتے ہیں کہ کون سے سروسز 2021 میں دستی طور پر شروع کی گئی تھیں اور کبھی systemd unit میں نہیں لکھی گئیں۔ کسی کو یاد نہیں کون سے۔ سرور اب تنظیمی چارٹ میں بوجھ اٹھانے والا حصہ بن چکا ہے۔
اسٹوریج: رفتار، اور ڈیٹا ضائع کرنے کے دیگر طریقے
ڈسکس کو پرفارمنس کے لیے RAID 0 میں کنفیگر کیا گیا ہے۔ صفر اس ڈسکس کی تعداد کی طرف اشارہ کرتا ہے جو فیل ہو سکتی ہیں۔ زیادہ سے زیادہ اثر کے لیے، اری کو مکسڈ پروویننس والے اسٹوریج پر پھیلائیں: دو مناسب SSDs، ایک پرانی اسپنر، اور کانفرنس سے ملی ایک USB اسٹک۔ اری بالکل اسی قابل اعتماد ہے جتنا کانفرنس والا اسٹک، اور یہی ڈیزائن ہے۔
بیک اپس اسی اری پر ایک ڈائریکٹری سے سنبھالے جاتے ہیں جس کا نام backup_final_v2_REAL ہے، جس میں پچھلے نامزد اسکیم کا ایک tarball شامل ہے۔ آف سائٹ بیک اپس ایک اسٹیکی نوٹ سے نمائندگی کرتے ہیں جس پر لکھا ہے "set up off-site backups،" جو تکنیکی طور پر آف سائٹ پر محفوظ ہے جب آپ اسے اپنے لیپ ٹاپ کے ڈھککن پر رکھ کر گھر لے جاتے ہیں۔
ایک درست نتیجہ کچھ یوں لگتا ہے: df 97% استعمال کی اطلاع دے رہا ہے، اور اگلے اسپرنٹ میں اس سے نمٹنے کا ایک منصوبہ ہے۔
نیٹ ورکنگ: ہر چیز کا ایک تار
DNS سرور مشین پر خود چلتا ہے، تاکہ جب سرور ڈاؤن ہو، تو وہ DNS ریکارڈ کو بھی اپنے ساتھ لے جائے جسے آپ وجہ جاننے کے لیے استعمال کریں گے۔ اسے کنسولیڈیشن کہتے ہیں۔
فائر وال کو 2021 میں غیر فعال کر دیا گیا تھا — عارضی طور پر، کسی چیز کو ڈی بگ کرنے کے لیے۔ ڈی بگ ختم ہو گیا؛ فائر وال واپس نہیں آیا۔ روٹر کا ہر پورٹ سرور کی طرف فارورڈ کیا گیا ہے "بعد میں وقت بچانے کے لیے،" اور روٹر کا ایڈمن پینل WAN سائڈ سے اس کے فیکٹری پاس ورڈ کے ساتھ قابل رسائی ہے، آسان ریموٹ مینجمنٹ کے لیے۔ آپ کے لیے، اور دوسروں کے لیے۔
سرور حال ہی میں غیر معمولی طور پر گرم چل رہا ہے، اٹاری کے معیار کے مطابق بھی، اور top سب سے زیادہ مصروف عمل کو xmrig نامی کچھ دکھاتا ہے۔ ہم فرض کرتے ہیں کہ یہ وہ مانیٹرنگ ٹول ہے جو ہم استعمال کر رہے ہیں۔ ہم نے اسے انسٹال نہیں کیا — یہ پورٹس فارورڈ کرنے کے فوراً بعد خود بخود ظاہر ہوا، جسے ہم اس بات کا اشارہ سمجھتے ہیں کہ ایکو سسٹم ترقی کر رہا ہے۔ یہ چوبیس گھنٹے مانیٹر کرتا ہے۔
بجلی کنزیومر پاور اسٹرپس کی ایک زنجیر کے ذریعے پہنچتی ہے جن کی مشترکہ لمبائی بریکر پینل تک پیدل چلنے کی مسافت سے زیادہ ہے — جو ایک طرح سے موثر ہے، کیونکہ آپ بریکر پینل پر اکثر جائیں گے۔
پیچیدگی کے ذریعے ریڈنڈنسی
جہاں ضروری ہے وہاں ریڈنڈنسی سے انکار کرنے کے بعد، ہم اب اسے وہاں شامل کرتے ہیں جہاں ضروری نہیں ہے۔ کمپنی کا ہوم پیج — ایک static HTML فائل — بارہ نوڈز پر مشتمل Kubernetes کلسٹر سے سرو ہوتا ہے۔ یہ وہ حاصل کرتا ہے جسے انجینئرز ریزیوم ڈرائیون آرکیٹیکچر کہتے ہیں: پیج وہی چالیس ملی سیکنڈ میں لوڈ ہوتا ہے جتنا nginx فراہم کرتا، لیکن اب یہ ایسے طریقوں سے فیل ہو سکتا ہے جن کے لیے کنسلٹنٹ کی ضرورت ہوتی ہے۔
آئسولیشن کے لیے، کلسٹر خود ایک ورچوئل مشین کے اندر ایک ورچوئل مشین کے اندر ایک ورچوئل مشین میں چلتا ہے، ہر پرت سیکیورٹی اس طرح شامل کرتی ہے جس طرح turducken کی ہر پرت پرندہ شامل کرتی ہے۔ رابطہ فارم نو مائیکروسروسز پر مشتمل ہے۔ ان میں سے دو کبھی استعمال نہیں ہوئے۔ ان میں سے ایک بوجھ اٹھانے والا ہے اور کسی کو نہیں پتا کون سا۔
سروس کے طور پر ہیٹنگ
ایک جدید سرور بجلی کو کمپیوٹیشن اور گرمی میں تبدیل کرتا ہے، اور ہم دوسرے آؤٹ پٹ کو زیادہ سے زیادہ کرنا چاہتے ہیں۔ بغیر GPU والا میڈیا سرور کلاسک طریقہ ہے: ایک واحد 4K سٹریم کو CPU-transcode کرنا سولہ کورز کو پن کرے گا اور ایک چھوٹے بیڈ روم کو گرم کرے گا، ایک ایسا اسپیس ہیٹر جو فلمیں بھی چلاتا ہے۔ پرعزم آپریٹر CPU پر ایک بڑا لینگویج ماڈل چلانے کی طرف بڑھتا ہے — ایک 70 ارب پیرامیٹر والا اسپیس ہیٹر جس میں API ہے، جو ٹوکنز ایسی رفتار سے پیدا کرتا ہے جسے موسمی طور پر ناپنا بہتر ہے۔
مانیٹر خود کو دیکھتا ہے
آبزرویبلٹی اہم ہے، اس لیے ہم ایک سلف ہوسٹڈ اپ ٹائم مانیٹر ڈپلائے کرتے ہیں — اسی سرور پر جسے یہ مانیٹر کرتا ہے۔ جب Odin مرتا ہے، مانیٹر بھی اس کے ساتھ مرتا ہے، اور یہاں خوبصورت حصہ ہے: کوئی الرٹس فائر نہیں ہوتے۔ کوئی الرٹس نہیں کا مطلب ہے کوئی incidents نہیں۔ کوئی incidents نہیں کا مطلب ہے بہترین اپ ٹائم، جیسا ناپا گیا۔ ماہانہ رپورٹ پہلے کبھی اتنی اچھی نہیں لگی۔
الرٹ ای میلز، مکمل ہونے کے لیے، ایک میل سرور کے ذریعے ریلے کی جاتی ہیں جو Odin پر ہی چلتا ہے۔ الرٹنگ پائپ لائن اس طرح مکمل سلف کنٹینڈ ہے، جس طرح اپنی دم کھانے والا سانپ مکمل طور پر کھانا کھا رہا ہے۔
تکلیف دہ حصہ
یہ وہ حصہ ہے جسے میں ٹالتا آ رہا ہوں۔ یہ سب خیالی نہیں ہے۔ محبوب ناقابل تبدیل سرور، اسی والیوم پر بیک اپس والا RAID 0، "عارضی طور پر" غیر فعال فائر وال، ایک پیج سرو کرنے والا Kubernetes کلسٹر، خود کو دیکھنے والا مانیٹر — میں نے ان میں سے ہر ایک کو پروڈکشن میں دیکھا ہے۔ ان میں سے کچھ میں نے اس سال دیکھے ہیں۔ ان میں سے ایک یا دو، میرے ابتدائی دنوں میں، میں نے خود بنائے تھے۔
حقیقی موثر کیا لگتا ہے وہ بورنگ ہے، اسی لیے یہ اس وقت دلیل ہارتا ہے اور ایک دہائی پر جیتتا ہے: ایک ایسا PUE جس کے بارے میں آپ کبھی نہیں سوچتے کیونکہ کسی اور نے اسے انجینئر کیا ہے۔ مشینیں اپنے مالک کی خود انعکاسی کے بجائے اپنے ورک لوڈ کے مطابق سائز کی ہوئی۔ ایک بلاسٹ ریڈیس، دھماکے سے پہلے سوچا ہوا۔ بیک اپس جو انہیں ری اسٹور کر کے ٹیسٹ کیے جاتے ہیں، ایک شیڈول پر، ایک کیلنڈر ریمائنڈر اور بغیر کسی ہیروئزم کے۔ ریڈنڈنسی جو بورنگ ہو — سستی چیز کی دو، شاندار چیز کی ایک کو ہر بار ہرا دیتی ہیں، ہر اس فیلر میں جس کے لیے مجھے کبھی پیج کیا گیا ہے۔
اور سب سے موثر ڈیٹاسینٹر جو آپ چلا سکتے ہیں وہ ہے جو آپ نہیں چلاتے۔ ایک VPS پاور، کولنگ، ریڈنڈنسی، اور رات 3 بجے کے ہارڈویئر فیلرز ان لوگوں کو دے دیتا ہے جو انہیں اسکیل پر، بورنگ طریقے سے کرتے ہیں، جو انفراسٹرکچر کی سب سے بڑی تعریف ہے — اور یہ آپ کو واقعی مزیدار حصہ چھوڑ دیتا ہے، جو ہے اس کے اوپر اپنی سروسز چلانا، ایک ایسی مشین پر جسے آپ ضائع کر سکتے ہیں، جو واحد قسم ہے جس پر آپ کو کبھی تجربہ کرنا چاہیے۔
FAQ
کیا میں واقعی ان میں سے کچھ کرتا ہوں؟
نہیں۔ اس گائیڈ کا ہر حصہ ایک دستاویزی اینٹی پیٹرن ہے جس میں ویک اینڈز کی لاشیں موجود ہیں۔ اگر آپ کا موجودہ سیٹ اپ دو سے زیادہ حصوں سے ملتا ہے، تو اس FAQ کے آخری سوال پر جائیں — دیے گئے ترتیب میں، کیونکہ ترتیب ٹریاج ہے۔
ایک اچھا PUE درحقیقت کیا ہوتا ہے؟
ہائپرسکیل ڈیٹاسینٹرز تقریباً 1.1 پر چلتے ہیں، ایک چلائی جانے والی انٹرپرائز روم 1.4 سے 1.6 سنبھالتی ہے، اور ایک غیر کولڈ کلاسیٹ جس میں اسپیس ہیٹر کا جھگڑا ہو وہ واقعی 3 سے تجاوز کر سکتا ہے۔ آپ گھر پر 1.1 سے بھرپور طریقے سے مقابلہ نہیں کر سکتے، جو کسی ایسے شخص سے کمپیوٹ کرائے پر لینے کا خاموش معاشی دلیل ہے جو کر سکتا ہے۔
کیا سرورز سے عمارت کو گرم کرنا ایک حقیقی چیز ہے؟
ہاں — درست طریقے سے کیا گیا۔ کئی ممالک میں ڈسٹرکٹ ہیٹنگ پروجیکٹس ہیٹ ایکسچینجرز کے ذریعے ڈیٹاسینٹر کی فضول گرمی کو کیپچر کرتے ہیں اور اسے انجینئرنگ اور کنٹریکٹس کے ساتھ، ڈیزائن کے مطابق گھروں میں پائپ کرتے ہیں۔ اوپر کا طنز یہ نہیں کہ سرور کی گرمی کمرہ گرم نہیں کر سکتی؛ طنز یہ ہے کہ یہ اتفاق سے ہو رہا ہے اور اتفاق کو اسٹریٹجی کہنا۔
میرا سرور پہلے ہی ایسا لگتا ہے۔ میں سب سے پہلے کیا کروں؟
بیک اپس، آج رات، سرور کے علاوہ کہیں، اور پھر ایک ٹیسٹ ری اسٹور — غیر ٹیسٹ شدہ بیک اپ ایک افواہ ہے۔ دوسرا، پیچز اور وہ ری بوٹ جس سے آپ بچ رہے ہیں، ایک منصوبہ بند ونڈو میں، تاکہ آپ جان سکیں کہ آپ کی نگرانی کے دوران کیا ٹوٹتا ہے۔ تیسرا، سنگل پوائنٹ آف فیلر کو تقسیم کریں: DNS اور مانیٹرنگ کو باکس سے ہٹائیں۔ باقی سب کچھ ایک پرسکون ہفتے کا انتظار کر سکتا ہے؛ یہ تین نہیں کر سکتے۔