Multitenancy
সফ্টওয়্যার মাল্টিট্যানেন্সি হল একটি সফ্টওয়্যার স্থাপত্য যেখানে সফ্টওয়্যারের একটি একক উদাহরণ একটি সার্ভারে চলে এবং একাধিক ভাড়াটেদের পরিষেবা দেয়। এই পদ্ধতিতে ডিজাইন করা সিস্টেমগুলি "ভাগ করা" ("নিবেদিত" বা "বিচ্ছিন্ন" এর পরিবর্তে)। ভাড়াটিয়া হল এমন একদল ব্যবহারকারী যারা সফ্টওয়্যারের ক্ষেত্রে নির্দিষ্ট সুযোগ-সুবিধার সঙ্গে একটি সাধারণ প্রবেশাধিকার ভাগ করে নেয়। একটি বহুমুখী স্থাপত্যের সাহায্যে, একটি সফ্টওয়্যার অ্যাপ্লিকেশন প্রতিটি ভাড়াটিয়াকে তার তথ্য, বিন্যাস, ব্যবহারকারী পরিচালনা, ভাড়াটিয়ার স্বতন্ত্র কার্যকারিতা এবং অ-কার্যকরী বৈশিষ্ট্য সহ উদাহরণের একটি নিবেদিত অংশ সরবরাহ করার জন্য ডিজাইন করা হয়েছে। মাল্টিট্যানেন্সি মাল্টি-ইনস্ট্যান্স আর্কিটেকচারের সাথে বৈপরীত্য দেখায়, যেখানে পৃথক সফ্টওয়্যার ইনস্ট্যান্স বিভিন্ন ভাড়াটিয়ার পক্ষে কাজ করে। কিছু ভাষ্যকার মাল্টিট্যানেন্সিকে ক্লাউড কম্পিউটিংয়ের একটি গুরুত্বপূর্ণ বৈশিষ্ট্য হিসাবে বিবেচনা করেন। মাল্টিটিন্যান্ট অ্যাপ্লিকেশনগুলির গ্রহণ ইতিহাস মাল্টিটিন্যান্ট অ্যাপ্লিকেশনগুলি তিনটি ধরনের পরিষেবা থেকে বিকশিত হয়েছে-এবং এর কিছু বৈশিষ্ট্যগুলিকে একত্রিত করেছেঃ টাইমশেয়ারিংঃ 1960-এর দশক থেকে কোম্পানিগুলি কম্পিউটিং ব্যয় হ্রাস করার জন্য মেইনফ্রেম কম্পিউটারে (টাইম-শেয়ারিং) স্থান এবং প্রক্রিয়াকরণ ক্ষমতা ভাড়া করে। প্রায়শই তারা গ্রাহক-অ্যাকাউন্ট আইডি নির্দিষ্ট করার জন্য লগইন স্ক্রিনে কেবল একটি পৃথক প্রবেশ ক্ষেত্র সহ বিদ্যমান অ্যাপ্লিকেশনগুলি পুনরায় ব্যবহার করে। এই আইডির ভিত্তিতে, মেইনফ্রেমের হিসাবরক্ষকরা পৃথক গ্রাহকদের সিপিইউ, মেমরি এবং ডিস্ক/টেপ ব্যবহারের জন্য চার্জ দিতে পারে। হোস্ট করা অ্যাপ্লিকেশনঃ 1990-এর দশক থেকে ঐতিহ্যবাহী অ্যাপ্লিকেশন পরিষেবা প্রদানকারীরা (এএসপি) তাদের গ্রাহকদের পক্ষ থেকে হোস্ট করা (তখনকার বিদ্যমান) অ্যাপ্লিকেশন। অন্তর্নিহিত অ্যাপ্লিকেশনের সীমাবদ্ধতার উপর নির্ভর করে, এএসপিগুলিকে পৃথক মেশিনে অ্যাপ্লিকেশন হোস্ট করতে বাধ্য করা হয়েছিল (যদি অ্যাপ্লিকেশনগুলির একাধিক উদাহরণ একই শারীরিক মেশিনে কার্যকর করা না যায়) বা পৃথক প্রক্রিয়া হিসাবে। বহুমুখী অ্যাপ্লিকেশনগুলি আরও পরিপক্ক স্থাপত্যের প্রতিনিধিত্ব করে যা কম পরিচালন ব্যয় সহ অনুরূপ পরিষেবাকে সক্ষম করে। ওয়েব অ্যাপ্লিকেশনঃ জনপ্রিয় ভোক্তা-ভিত্তিক ওয়েব অ্যাপ্লিকেশনগুলি (যেমন হটমেইল) সমস্ত গ্রাহকদের পরিষেবা দেওয়ার জন্য একটি একক অ্যাপ্লিকেশন উদাহরণ দিয়ে তৈরি করা হয়েছে। বহুমুখী অ্যাপ্লিকেশনগুলি এই মডেল থেকে একটি প্রাকৃতিক বিবর্তনের প্রতিনিধিত্ব করে, যা একই ক্লায়েন্ট সংস্থার (বলুন) মধ্যে ব্যবহারকারীদের গোষ্ঠীগুলিকে অতিরিক্ত কাস্টমাইজেশন প্রদান করে। ভার্চ্যুয়ালাইজেশন থেকে পার্থক্য একটি বহুমুখী পরিবেশে, একাধিক গ্রাহক একই অ্যাপ্লিকেশন ভাগ করে নেন, একই অপারেটিং সিস্টেমে, একই হার্ডওয়্যারে, একই ডেটা-স্টোরেজ প্রক্রিয়া সহ। অ্যাপ্লিকেশন ডিজাইনের সময় গ্রাহকদের মধ্যে পার্থক্য অর্জন করা হয়, এইভাবে গ্রাহকরা একে অপরের ডেটা ভাগ করে নেন না বা দেখেন না। এটিকে ভার্চ্যুয়ালাইজেশনের সাথে তুলনা করুন যেখানে উপাদানগুলি রূপান্তরিত হয়, প্রতিটি গ্রাহক অ্যাপ্লিকেশনকে একটি পৃথক ভার্চ্যুয়াল মেশিনে চলতে সক্ষম করে। প্রতিযোগিতামূলক পার্থক্য কিছু সংস্থা সক্রিয়ভাবে বহুমুখী নীতির প্রচার করে এবং এটিকে প্রতিযোগিতামূলক পার্থক্যের উৎস হিসাবে ব্যবহার করে। বহুমাত্রিকতার ব্যবহার দিন দিন বৃদ্ধি পাচ্ছে। বহুমুখী অর্থনীতিতে ব্যয় সঞ্চয় বহুমুখী অর্থনীতিতে তথ্যপ্রযুক্তি সম্পদের সংহতকরণ থেকে একক ক্রিয়াকলাপে অর্জনযোগ্য স্কেলের মৌলিক অর্থনীতির পাশাপাশি ব্যয় সাশ্রয়ের সুযোগ করে দেয়। একটি অ্যাপ্লিকেশন উদাহরণ সাধারণত একটি নির্দিষ্ট পরিমাণ মেমরি এবং প্রসেসিং ওভারহেড বহন করে যা অনেক গ্রাহক দ্বারা গুণিত হলে যথেষ্ট হতে পারে, বিশেষ করে যদি গ্রাহকরা ছোট হয়। বহুগুণ এই ওভারহেডকে অনেক গ্রাহকের মধ্যে ছড়িয়ে দিয়ে হ্রাস করে। অন্তর্নিহিত সফ্টওয়্যারের (যেমন অপারেটিং সিস্টেম এবং ডাটাবেস ম্যানেজমেন্ট সিস্টেম) লাইসেন্সিং খরচ থেকে আরও খরচ সাশ্রয় হতে পারে। রূঢ়ভাবে বলতে গেলে, আপনি যদি একটিমাত্র সফ্টওয়্যার উদাহরণে সবকিছু চালাতে পারেন, তাহলে আপনাকে শুধুমাত্র একটি সফ্টওয়্যার লাইসেন্স কিনতে হবে। চাহিদা বাড়ার সাথে সাথে একক উদাহরণটি স্কেল করার অসুবিধা দ্বারা ব্যয় সাশ্রয়কে গ্রহন করা যেতে পারে-একটি একক সার্ভারে উদাহরণের কর্মক্ষমতা বৃদ্ধি করা কেবল দ্রুত হার্ডওয়্যার, যেমন দ্রুত সিপিইউ, আরও মেমরি এবং দ্রুত ডিস্ক সিস্টেম কেনার মাধ্যমে করা যেতে পারে এবং সাধারণত এই খরচগুলি দ্রুত বৃদ্ধি পায় যদি লোডটি প্রায় একই সামগ্রিক ক্ষমতা সহ একাধিক সার্ভারের মধ্যে বিভক্ত করা হয়। উপরন্তু, মাল্টিটিন্যান্ট সিস্টেমের বিকাশ আরও জটিল, এবং একাধিক গ্রাহকের ডেটা মিশ্রিত হওয়ার কারণে নিরাপত্তা পরীক্ষা আরও কঠোর। তথ্য একত্রীকরণ/তথ্য খনন বিক্রেতাদের/আই. এস. ভি-দের বহুমুখী ব্যবহার করার সবচেয়ে জোরালো কারণগুলির মধ্যে একটি হল সহজাত তথ্য একত্রীকরণের সুবিধা। সম্ভাব্য বিভিন্ন ডাটাবেস স্কিমা সহ একাধিক তথ্য উৎস থেকে তথ্য সংগ্রহের পরিবর্তে, সমস্ত গ্রাহকদের জন্য সমস্ত তথ্য একটি একক ডাটাবেস স্কিমা-তে সংরক্ষণ করা হয়। সুতরাং, গ্রাহকদের মধ্যে প্রশ্নগুলি চালানো, তথ্য খনন করা এবং প্রবণতা সন্ধান করা অনেক সহজ। এই কারণটি সম্ভবত অতিরঞ্জিত করা হয়েছে কারণ গ্রাহকের (ভাড়াটিয়া) তথ্যে পরিষেবা প্রদানকারীর প্রবেশাধিকার রোধ করার প্রয়োজনীয়তা হল মূল বহুমুখী প্রয়োজনীয়তাগুলির মধ্যে একটি। উপরন্তু, খনির তথ্যভাণ্ডার থেকে কার্যকরী তথ্যভাণ্ডারকে আলাদা করা সাধারণ বিষয় (সাধারণত কাজের চাপের বিভিন্ন বৈশিষ্ট্যের কারণে), যার ফলে যুক্তিটি আরও দুর্বল হয়ে পড়ে। জটিলতা অতিরিক্ত কাস্টমাইজেশন জটিলতা এবং প্রতি-ভাড়াটিয়া মেটাডাটা বজায় রাখার প্রয়োজনের কারণে, মাল্টিটিন্যান্ট অ্যাপ্লিকেশনগুলির একটি বৃহত্তর উন্নয়ন প্রচেষ্টা প্রয়োজন। ভেক্টর-ভিত্তিক ডেটা সিকোয়েন্সিং, এনক্রিপ্টেবল অ্যালগরিদম পরিকাঠামো এবং ভার্চ্যুয়ালাইজড কন্ট্রোল ইন্টারফেসের মতো বিষয়গুলি অবশ্যই বিবেচনায় নিতে হবে। রিলিজ ম্যানেজমেন্ট মাল্টিটেন্যান্সি রিলিজ ম্যানেজমেন্ট প্রক্রিয়াটিকে সহজতর করে। একটি ঐতিহ্যবাহী রিলিজ ম্যানেজমেন্ট প্রক্রিয়ায়, কোড এবং ডাটাবেস পরিবর্তন সম্বলিত প্যাকেজগুলি ক্লায়েন্ট ডেস্কটপ এবং/অথবা সার্ভার মেশিনে বিতরণ করা হয়; একক-দৃষ্টান্তের ক্ষেত্রে, এটি প্রতি গ্রাহকের জন্য একটি সার্ভার মেশিন হবে। এই প্যাকেজগুলি তারপর প্রতিটি পৃথক মেশিনে ইনস্টল করতে হবে। মাল্টিটিন্যান্ট মডেলের ক্ষেত্রে, প্যাকেজটি সাধারণত শুধুমাত্র একটি সার্ভারে ইনস্টল করা প্রয়োজন। এটি রিলিজ ম্যানেজমেন্ট প্রক্রিয়াকে ব্যাপকভাবে সহজতর করে এবং স্কেলটি আর গ্রাহকের সংখ্যার উপর নির্ভরশীল নয়। একই সময়ে, বহুমাত্রিকতা একটি নতুন রিলিজ সংস্করণ প্রয়োগের অন্তর্নিহিত ঝুঁকি এবং প্রভাবগুলি বাড়ায়। যেহেতু একাধিক ভাড়াটেকে পরিষেবা দেওয়ার জন্য একটি একক সফ্টওয়্যার উদাহরণ রয়েছে, তাই এই উদাহরণের একটি আপডেট সমস্ত ভাড়াটেদের জন্য ডাউনটাইমের কারণ হতে পারে এমনকি যদি আপডেটটি অনুরোধ করা হয় এবং শুধুমাত্র একজন ভাড়াটিয়ার জন্য দরকারী হয়। এছাড়াও, নতুন রিলিজ প্রয়োগের ফলে কিছু বাগ এবং সমস্যা অন্যান্য ভাড়াটিয়াদের অ্যাপ্লিকেশন সম্পর্কে ব্যক্তিগত দৃষ্টিভঙ্গিতে প্রকাশ পেতে পারে। সম্ভাব্য ডাউনটাইমের কারণে, একাধিক ভাড়াটিয়ার সময় ব্যবহারের সময়সূচির উপর নির্ভর করে রিলিজ প্রয়োগের মুহূর্ত সীমাবদ্ধ হতে পারে। প্রয়োজনীয়তা কাস্টমাইজেশন মাল্টিট্যানেন্ট অ্যাপ্লিকেশনগুলি সাধারণত প্রতিটি লক্ষ্য সংস্থার চাহিদাগুলি সমর্থন করার জন্য উচ্চ মাত্রার কাস্টমাইজেশন সরবরাহ করতে হয়। কাস্টমাইজেশনে সাধারণত নিম্নলিখিত দিকগুলি অন্তর্ভুক্ত থাকেঃ ব্র্যান্ডিংঃ প্রতিটি সংস্থাকে তাদের কর্পোরেট ব্র্যান্ডিংয়ের (প্রায়শই একটি স্বতন্ত্র "ত্বক" হিসাবে উল্লেখ করা হয়) সাথে মেলে অ্যাপ্লিকেশনটির চেহারা এবং অনুভূতি কাস্টমাইজ করার অনুমতি দেওয়া। ওয়ার্কফ্লোঃ সম্ভাব্য গ্রাহকদের বিস্তৃত পরিসরের দ্বারা ব্যবহার করার জন্য ওয়ার্কফ্লোতে পার্থক্যগুলি সামঞ্জস্য করা। ডেটা মডেলের সম্প্রসারণঃ গ্রাহকদের তাদের নির্দিষ্ট চাহিদা মেটাতে অ্যাপ্লিকেশন দ্বারা পরিচালিত ডেটা উপাদানগুলিকে কাস্টমাইজ করার ক্ষমতা দেওয়ার জন্য একটি এক্সটেনসিবল ডেটা মডেলকে সমর্থন করা। প্রবেশাধিকার নিয়ন্ত্রণঃ প্রতিটি ক্লায়েন্ট সংস্থাকে স্বাধীনভাবে প্রতিটি ব্যবহারকারীর জন্য প্রবেশাধিকার অধিকার এবং সীমাবদ্ধতা কাস্টমাইজ করতে দেওয়া। পরিষেবার গুণমান মাল্টিট্যানেন্ট অ্যাপ্লিকেশনগুলি একাধিক ভাড়াটিয়ার মধ্যে পর্যাপ্ত নিরাপত্তা, দৃঢ়তা এবং কর্মক্ষমতা প্রদান করবে বলে আশা করা হচ্ছে যা মাল্টি-ইনস্ট্যান্স অ্যাপ্লিকেশনগুলির ক্ষেত্রে অ্যাপ্লিকেশনটির নীচের স্তরগুলি দ্বারা সরবরাহ করা হয়। ভার্চ্যুয়ালাইজেশন মাল্টিটেন্যান্সির জন্য অ্যাপ্লিকেশনগুলি পুনরায় ডিজাইন করার খরচ উল্লেখযোগ্য হতে পারে, বিশেষত সফ্টওয়্যার বিক্রেতাদের জন্য যারা তাদের পণ্যের একটি অন-প্রাঙ্গনে একক ভাড়াটে সংস্করণ সরবরাহ করে চলেছে। শেষ পর্যন্ত তারা সমস্ত ফলস্বরূপ খরচ সহ দুটি স্বতন্ত্র পণ্য সমর্থন করতে বাধ্য হয়। বহুমাত্রিকতার একটি ক্রমবর্ধমান কার্যকর বিকল্প পথ যা উল্লেখযোগ্য স্থাপত্য পরিবর্তনের প্রয়োজনীয়তা দূর করে তা হল এক বা একাধিক সার্ভারে একটি অ্যাপ্লিকেশনের একাধিক বিচ্ছিন্ন দৃষ্টান্ত হোস্ট করার জন্য ভার্চুয়ালাইজেশন প্রযুক্তি ব্যবহার করা। প্রকৃতপক্ষে, যখন অ্যাপ্লিকেশনগুলি ভার্চুয়াল যন্ত্রপাতি হিসাবে পুনরায় প্যাকেজ করা হয় তখন একই যন্ত্রের চিত্রটি আইএসভি হোস্ট করা, প্রাঙ্গনে বা বিশ্বস্ত তৃতীয় পক্ষের অবস্থানে স্থাপন করা যেতে পারে এবং এমনকি সময়ের সাথে সাথে এক স্থাপনার সাইট থেকে অন্য জায়গায় স্থানান্তরিত হতে পারে। তথ্যসূত্র সফ্টওয়্যার স্থাপত্য পরিষেবা-ভিত্তিক (ব্যবসায়িক কম্পিউটিং)