Multitenancy
سافٹ ویئر ملٹی ٹینینسی ایک سافٹ ویئر فن تعمیر ہے جس میں سافٹ ویئر کی ایک واحد مثال سرور پر چلتی ہے اور متعدد کرایہ داروں کی خدمت کرتی ہے۔ اس طرح سے ڈیزائن کیے گئے نظام "مشترکہ" ہوتے ہیں ("وقف" یا "الگ تھلگ" کے بجائے)۔ کرایہ دار صارفین کا ایک گروپ ہے جو سافٹ ویئر کی مثال کے مخصوص مراعات کے ساتھ مشترکہ رسائی کا اشتراک کرتا ہے۔ ایک کثیر الجہتی فن تعمیر کے ساتھ، ایک سافٹ ویئر ایپلی کیشن کو ہر کرایہ دار کو مثال کا ایک مخصوص حصہ فراہم کرنے کے لیے ڈیزائن کیا گیا ہے-جس میں اس کا ڈیٹا، ترتیب، صارف کا انتظام، کرایہ دار کی انفرادی فعالیت اور غیر فعال خصوصیات شامل ہیں۔ ملٹی انٹینسسی ملٹی انسٹینس آرکیٹیکچرز سے متصادم ہے، جہاں الگ الگ سافٹ ویئر کے واقعات مختلف کرایہ داروں کی جانب سے کام کرتے ہیں۔ کچھ مبصرین کثیر الجہتی کو کلاؤڈ کمپیوٹنگ کی ایک اہم خصوصیت سمجھتے ہیں۔ ملٹی ٹینینٹ ایپلی کیشنز کی اپنانے کی تاریخ ملٹی ٹینینٹ ایپلی کیشنز تین قسم کی خدمات سے تیار ہوئی ہیں-اور ان کی کچھ خصوصیات کو یکجا کرتی ہیں: ٹائم شیئرنگ: 1960 کی دہائی سے کمپنیوں نے کمپیوٹنگ کے اخراجات کو کم کرنے کے لیے مین فریم کمپیوٹرز (ٹائم شیئرنگ) پر جگہ اور پروسیسنگ پاور کرائے پر لی۔ اکثر وہ موجودہ ایپلی کیشنز کو بھی دوبارہ استعمال کرتے تھے، جس میں کسٹمر اکاؤنٹ آئی ڈی کی وضاحت کے لیے لاگ ان اسکرین پر صرف ایک علیحدہ انٹری فیلڈ ہوتا تھا۔ اس آئی ڈی کی بنیاد پر، مین فریم کے اکاؤنٹنٹ انفرادی صارفین سے سی پی یو، میموری اور ڈسک/ٹیپ کے استعمال کے لیے چارج کر سکتے ہیں۔ میزبان ایپلی کیشنز: 1990 کی دہائی سے روایتی ایپلی کیشن سروس فراہم کنندگان (اے ایس پیز) نے اپنے صارفین کی جانب سے (اس وقت موجود) ایپلی کیشنز کی میزبانی کی۔ بنیادی ایپلی کیشن کی حد کے لحاظ سے، اے ایس پیز کو الگ الگ مشینوں پر ایپلی کیشنز کی میزبانی کرنے پر مجبور کیا گیا (اگر ایپلی کیشنز کی متعدد مثالوں کو ایک ہی فزیکل مشین میں انجام نہیں دیا جا سکا) یا الگ الگ عمل کے طور پر۔ کثیر الجہتی ایپلی کیشنز ایک زیادہ پختہ فن تعمیر کی نمائندگی کرتی ہیں جو کم آپریشنل لاگت کے ساتھ اسی طرح کی خدمت کو قابل بناتی ہیں۔ ویب ایپلی کیشنز: مقبول صارفین پر مبنی ویب ایپلی کیشنز (جیسے ہاٹ میل) تمام صارفین کی خدمت کرنے والی ایک واحد ایپلی کیشن کے ساتھ تیار کی گئی ہیں۔ کثیر الجہتی ایپلی کیشنز اس ماڈل سے ایک قدرتی ارتقاء کی نمائندگی کرتی ہیں، جو ایک ہی کلائنٹ تنظیم (جیسے) کے اندر صارفین کے گروپوں کو اضافی حسب ضرورت پیش کرتی ہیں۔ ورچوئلائزیشن سے تفریق ایک کثیر الجہتی ماحول میں، متعدد گاہک ایک ہی ایپلی کیشن کا اشتراک کرتے ہیں، جو ایک ہی آپریٹنگ سسٹم پر، ایک ہی ہارڈ ویئر پر، ایک ہی ڈیٹا اسٹوریج میکانزم کے ساتھ چل رہا ہے۔ صارفین کے درمیان فرق ایپلی کیشن ڈیزائن کے دوران حاصل کیا جاتا ہے، اس طرح صارفین ایک دوسرے کا ڈیٹا شیئر یا نہیں دیکھتے ہیں۔ اس کا موازنہ ورچوئلائزیشن سے کریں جہاں اجزاء کو تبدیل کیا جاتا ہے، جس سے ہر صارف کی ایپلی کیشن ایک علیحدہ ورچوئل مشین پر چلتی دکھائی دیتی ہے۔ مسابقتی تفریق کچھ کمپنیاں فعال طور پر کثیر الجہتی کے اصول کو فروغ دیتی ہیں اور اسے مسابقتی تفریق کے ذریعہ کے طور پر استعمال کرتی ہیں۔ ملٹی ٹیننس کا استعمال دن بہ دن بڑھ رہا ہے۔ ملٹی ٹینینسی کی معاشیات لاگت کی بچت ملٹی ٹینینسی آئی ٹی وسائل کو ایک ہی آپریشن میں مستحکم کرنے سے حاصل ہونے والی پیمانے کی بنیادی معیشتوں سے زیادہ لاگت کی بچت کی اجازت دیتی ہے۔ ایک ایپلیکیشن کی مثال میں عام طور پر ایک خاص مقدار میں میموری اور پروسیسنگ اوور ہیڈ ہوتی ہے جو بہت سے گاہکوں کے ذریعہ ضرب دینے پر کافی ہو سکتی ہے، خاص طور پر اگر گاہک چھوٹے ہوں۔ ملٹی ٹینینسی اس اوور ہیڈ کو بہت سے گاہکوں میں پھیلا کر کم کر دیتی ہے۔ مزید لاگت کی بچت بنیادی سافٹ ویئر کے لائسنسنگ کے اخراجات (جیسے آپریٹنگ سسٹم اور ڈیٹا بیس مینجمنٹ سسٹم) سے آسکتی ہے۔ سیدھے الفاظ میں، اگر آپ سب کچھ ایک ہی سافٹ ویئر مثال پر چلا سکتے ہیں، تو آپ کو صرف ایک سافٹ ویئر لائسنس خریدنا ہوگا۔ جیسے جیسے مانگ بڑھتی جاتی ہے، لاگت کی بچت کو ایک ہی مثال کو اسکیل کرنے کی دشواری سے ختم کیا جا سکتا ہے-ایک ہی سرور پر مثال کی کارکردگی میں اضافہ صرف تیز ہارڈ ویئر، جیسے تیز سی پی یو، زیادہ میموری، اور تیز ڈسک سسٹم خرید کر کیا جا سکتا ہے، اور عام طور پر یہ اخراجات اس وقت سے زیادہ تیزی سے بڑھتے ہیں جب بوجھ تقریبا ایک ہی مجموعی صلاحیت والے متعدد سرورز کے درمیان تقسیم کیا گیا تھا۔ اس کے علاوہ، ملٹی ٹینینٹ سسٹمز کی ترقی زیادہ پیچیدہ ہے، اور سیکیورٹی ٹیسٹنگ اس حقیقت کی وجہ سے زیادہ سخت ہے کہ متعدد صارفین کے ڈیٹا کو ملایا جا رہا ہے۔ ڈیٹا ایگریگیشن/ڈیٹا مائننگ وینڈرز/آئی ایس وی کے لیے کثیر الجہتی استعمال کرنے کی سب سے زیادہ مجبور کرنے والی وجوہات میں سے ایک ڈیٹا ایگریگیشن کے موروثی فوائد ہیں۔ ممکنہ طور پر مختلف ڈیٹا بیس اسکیما کے ساتھ، متعدد ڈیٹا ذرائع سے ڈیٹا اکٹھا کرنے کے بجائے، تمام صارفین کے لیے تمام ڈیٹا ایک ہی ڈیٹا بیس اسکیما میں محفوظ کیا جاتا ہے۔ اس طرح، گاہکوں، کان کنی کے اعداد و شمار، اور رجحانات کی تلاش میں سوالات چلانا بہت آسان ہے۔ یہ وجہ شاید حد سے زیادہ ہے کیونکہ بنیادی کثیر الجہتی ضروریات میں سے ایک خدمت فراہم کنندہ کو گاہک (کرایہ دار) کی معلومات تک رسائی کو روکنے کی ضرورت ہے۔ مزید برآں، آپریشنل ڈیٹا بیس کو کان کنی کے ڈیٹا بیس سے الگ کرنا عام بات ہے (عام طور پر کام کے بوجھ کی مختلف خصوصیات کی وجہ سے)، اس طرح دلیل کو اور بھی کمزور کر دیتا ہے۔ پیچیدگی حسب ضرورت اضافی پیچیدگی اور فی کرایہ دار میٹا ڈیٹا کو برقرار رکھنے کی ضرورت کی وجہ سے، کثیر الجہتی ایپلی کیشنز کو بڑی ترقیاتی کوشش کی ضرورت ہوتی ہے۔ ویکٹر پر مبنی ڈیٹا سیکوینسنگ، انکرپٹ ایبل الگورتھم انفراسٹرکچر، اور ورچوئلائزڈ کنٹرول انٹرفیس جیسے امور پر غور کیا جانا چاہیے۔ ریلیز مینجمنٹ ملٹی ٹیننس ریلیز مینجمنٹ کے عمل کو آسان بناتا ہے۔ روایتی ریلیز مینجمنٹ کے عمل میں، کوڈ اور ڈیٹا بیس میں تبدیلیوں پر مشتمل پیکجوں کو کلائنٹ ڈیسک ٹاپ اور/یا سرور مشینوں میں تقسیم کیا جاتا ہے۔ ایک مثال کی صورت میں، یہ فی گاہک ایک سرور مشین ہوگی۔ اس کے بعد ان پیکجوں کو ہر ایک مشین پر نصب کرنا پڑتا ہے۔ ملٹی ٹینینٹ ماڈل کے ساتھ، پیکیج کو عام طور پر صرف ایک سرور پر انسٹال کرنے کی ضرورت ہوتی ہے۔ یہ ریلیز مینجمنٹ کے عمل کو بہت آسان بناتا ہے، اور پیمانہ اب گاہکوں کی تعداد پر منحصر نہیں ہے۔ ایک ہی وقت میں، کثیر الجہتی نئے ریلیز ورژن کو لاگو کرنے میں موروثی خطرات اور اثرات کو بڑھاتا ہے۔ چونکہ ایک سے زیادہ کرایہ داروں کی خدمت کرنے والا ایک واحد سافٹ ویئر مثال ہے، اس مثال پر ایک اپ ڈیٹ تمام کرایہ داروں کے لیے ڈاؤن ٹائم کا سبب بن سکتا ہے چاہے اپ ڈیٹ کی درخواست کی گئی ہو اور صرف ایک کرایہ دار کے لیے مفید ہو۔ نیز، نئی ریلیز کو لاگو کرنے کے نتیجے میں کچھ کیڑے اور مسائل درخواست کے بارے میں دوسرے کرایہ داروں کے ذاتی نقطہ نظر میں ظاہر ہو سکتے ہیں۔ ممکنہ ڈاؤن ٹائم کی وجہ سے، ایک سے زیادہ کرایہ دار کے وقت کے استعمال کے شیڈول کے لحاظ سے ریلیز کو لاگو کرنے کا وقت محدود ہو سکتا ہے۔ ضروریات حسب ضرورت کثیر الجہتی ایپلی کیشنز کو عام طور پر ہر ہدف تنظیم کی ضروریات کو پورا کرنے کے لیے اعلی درجے کی حسب ضرورت فراہم کرنے کی ضرورت ہوتی ہے۔ حسب ضرورت بنانے میں عام طور پر درج ذیل پہلو شامل ہوتے ہیں: برانڈنگ: ہر تنظیم کو اپنی کارپوریٹ برانڈنگ (جسے اکثر ایک الگ "جلد" کہا جاتا ہے) سے ملنے کے لیے ایپلی کیشن کی شکل اور احساس کو حسب ضرورت بنانے کی اجازت دینا۔ ورک فلو: ممکنہ گاہکوں کی ایک وسیع رینج کے ذریعہ استعمال ہونے والے ورک فلو میں اختلافات کو ایڈجسٹ کرنا۔ ڈیٹا ماڈل میں توسیع: صارفین کو ان کی مخصوص ضروریات کو پورا کرنے کے لیے ایپلیکیشن کے زیر انتظام ڈیٹا عناصر کو اپنی مرضی کے مطابق بنانے کی صلاحیت دینے کے لیے ایک ایکسٹینسیبل ڈیٹا ماڈل کی حمایت کرنا۔ رسائی کنٹرول: ہر کلائنٹ تنظیم کو آزادانہ طور پر ہر صارف کے لیے رسائی کے حقوق اور پابندیوں کو اپنی مرضی کے مطابق بنانے دینا۔ ملٹی ٹینینٹ ایپلی کیشنز سے توقع کی جاتی ہے کہ وہ متعدد کرایہ داروں کے درمیان مناسب سیکیورٹی، مضبوطی اور کارکردگی فراہم کریں گی جو ملٹی انسٹینس ایپلی کیشنز کے معاملے میں ایپلی کیشن کے نیچے کی تہوں کے ذریعے فراہم کی جاتی ہے۔ ورچوئلائزیشن کثیر الجہتی کے لیے ایپلی کیشنز کو دوبارہ ڈیزائن کرنے کی لاگت اہم ہو سکتی ہے، خاص طور پر سافٹ ویئر فروشوں کے لیے جو اپنی مصنوعات کا آن پریمیسیس سنگل کرایہ دار ورژن پیش کرتے رہتے ہیں۔ آخر کار وہ تمام نتیجے میں آنے والے اخراجات کے ساتھ دو الگ الگ مصنوعات کی حمایت کرنے پر مجبور ہو جاتے ہیں۔ کثیر الجہتی کے لیے ایک تیزی سے قابل عمل متبادل راستہ جو اہم تعمیراتی تبدیلی کی ضرورت کو ختم کرتا ہے وہ ہے ورچوئلائزیشن ٹیکنالوجی کا استعمال کرنا تاکہ ایک یا زیادہ سرورز پر کسی ایپلی کیشن کی متعدد الگ تھلگ مثالوں کی میزبانی کی جا سکے۔ درحقیقت، جب ایپلی کیشنز کو ورچوئل آلات کے طور پر دوبارہ پیک کیا جاتا ہے تو اسی آلات کی تصویر کو آئی ایس وی کی میزبانی، احاطے میں یا تیسرے فریق کے قابل اعتماد مقامات پر تعینات کیا جا سکتا ہے اور یہاں تک کہ وقت کے ساتھ ایک تعیناتی سائٹ سے دوسری سائٹ پر منتقل کیا جا سکتا ہے۔ حوالہ جات سافٹ ویئر فن تعمیر سروس پر مبنی (بزنس کمپیوٹنگ)