Multitenancy
સોફ્ટવેર મલ્ટીટેનન્સી એ એક સોફ્ટવેર આર્કિટેક્ચર છે જેમાં સોફ્ટવેરનો એક જ દાખલો સર્વર પર ચાલે છે અને બહુવિધ ભાડૂતોને સેવા આપે છે. આ રીતે રચાયેલી પ્રણાલીઓ "વહેંચાયેલી" હોય છે ("સમર્પિત" અથવા "અલગ" કરવાને બદલે). ભાડૂત એ વપરાશકર્તાઓનું એક જૂથ છે જે સોફ્ટવેર ઉદાહરણમાં ચોક્કસ વિશેષાધિકારો સાથે સામાન્ય ઍક્સેસ શેર કરે છે. મલ્ટીટેનન્ટ આર્કિટેક્ચર સાથે, સોફ્ટવેર એપ્લિકેશન દરેક ભાડૂતને તેના ડેટા, રૂપરેખાંકન, વપરાશકર્તા વ્યવસ્થાપન, ભાડૂતની વ્યક્તિગત કાર્યક્ષમતા અને બિન-કાર્યાત્મક ગુણધર્મો સહિત ઉદાહરણનો સમર્પિત હિસ્સો પ્રદાન કરવા માટે રચાયેલ છે. મલ્ટીટેનન્સી મલ્ટી-ઇન્સ્ટન્સ આર્કિટેક્ચર સાથે વિરોધાભાસી છે, જ્યાં અલગ સોફ્ટવેર ઇન્સ્ટન્સ વિવિધ ભાડૂતો વતી કામ કરે છે. કેટલાક વિવેચકો મલ્ટીટેનન્સીને ક્લાઉડ કમ્પ્યુટિંગનું એક મહત્વપૂર્ણ લક્ષણ માને છે. બહુવિધ કાર્યક્રમો અપનાવવાનો ઇતિહાસ બહુવિધ કાર્યક્રમો ત્રણ પ્રકારની સેવાઓમાંથી વિકસિત થયા છે અને તેમાં કેટલીક લાક્ષણિકતાઓ જોડવામાં આવી છેઃ સમય વહેંચણીઃ 1960ના દાયકાથી કંપનીઓએ કમ્પ્યુટિંગ ખર્ચ ઘટાડવા માટે મેઇનફ્રેમ કમ્પ્યુટર્સ (સમય વહેંચણી) પર જગ્યા અને પ્રક્રિયા શક્તિ ભાડે લીધી હતી. ઘણીવાર તેઓ ગ્રાહક-એકાઉન્ટ ID સ્પષ્ટ કરવા માટે લોગોન સ્ક્રીન પર માત્ર એક અલગ એન્ટ્રી ફિલ્ડ સાથે હાલની એપ્લિકેશનોનો પણ ફરીથી ઉપયોગ કરતા હતા. આ આઇડીના આધારે, મેઇનફ્રેમના એકાઉન્ટન્ટ્સ વ્યક્તિગત ગ્રાહકો પાસેથી સીપીયુ, મેમરી અને ડિસ્ક/ટેપના વપરાશ માટે ચાર્જ લઈ શકે છે. હોસ્ટેડ એપ્લિકેશન્સઃ 1990ના દાયકાથી પરંપરાગત એપ્લિકેશન સર્વિસ પ્રોવાઇડર્સ (એ. એસ. પી.) એ તેમના ગ્રાહકો વતી (તે સમયે અસ્તિત્વમાં હતી) એપ્લિકેશન્સ હોસ્ટ કરી હતી. અંતર્ગત એપ્લિકેશનની મર્યાદાને આધારે, એ. એસ. પી. ને અલગ મશીનો પર (જો એક જ ભૌતિક મશીનમાં એપ્લિકેશનોના બહુવિધ ઉદાહરણો ચલાવી શકાતા ન હોય તો) અથવા અલગ પ્રક્રિયાઓ તરીકે એપ્લિકેશનો હોસ્ટ કરવાની ફરજ પાડવામાં આવી હતી. મલ્ટીટેનન્ટ એપ્લિકેશન્સ વધુ પરિપક્વ આર્કિટેક્ચરનું પ્રતિનિધિત્વ કરે છે જે ઓછા ઓપરેશનલ ખર્ચ સાથે સમાન સેવાને સક્ષમ કરે છે. વેબ એપ્લિકેશન્સઃ લોકપ્રિય ગ્રાહક-લક્ષી વેબ એપ્લિકેશન્સ (જેમ કે હોટમેલ) બધા ગ્રાહકોને સેવા આપતા એક જ એપ્લિકેશન ઉદાહરણ સાથે વિકસાવવામાં આવી છે. બહુવિધ એપ્લિકેશનો આ મોડેલમાંથી કુદરતી ઉત્ક્રાંતિનું પ્રતિનિધિત્વ કરે છે, જે સમાન ગ્રાહક સંસ્થામાં (કહો) વપરાશકર્તાઓના જૂથોને વધારાના કસ્ટમાઇઝેશન પ્રદાન કરે છે. વર્ચ્યુઅલાઈઝેશનથી તફાવત મલ્ટીટેનન્સી વાતાવરણમાં, બહુવિધ ગ્રાહકો સમાન ડેટા-સ્ટોરેજ મિકેનિઝમ સાથે, સમાન ઓપરેટિંગ સિસ્ટમ પર, સમાન હાર્ડવેર પર ચાલતી સમાન એપ્લિકેશન શેર કરે છે. ગ્રાહકો વચ્ચેનો તફાવત એપ્લિકેશન ડિઝાઇન દરમિયાન પ્રાપ્ત થાય છે, આમ ગ્રાહકો એકબીજાની માહિતી શેર કરતા નથી અથવા જોતા નથી. આની સરખામણી વર્ચ્યુઅલાઈઝેશન સાથે કરો જ્યાં ઘટકો રૂપાંતરિત થાય છે, જેનાથી દરેક ગ્રાહક એપ્લિકેશન અલગ વર્ચ્યુઅલ મશીન પર ચાલતી દેખાય છે. સ્પર્ધાત્મક તફાવત કેટલીક કંપનીઓ સક્રિય રીતે બહુવિધતાના સિદ્ધાંતને પ્રોત્સાહન આપે છે અને તેનો સ્પર્ધાત્મક ભિન્નતાના સ્ત્રોત તરીકે ઉપયોગ કરે છે. મલ્ટીટેનન્સીનો ઉપયોગ દિવસેને દિવસે વધી રહ્યો છે. મલ્ટીટેનન્સીનું અર્થશાસ્ત્ર ખર્ચ બચત મલ્ટીટેનન્સી આઇટી સંસાધનોને એક જ કામગીરીમાં એકીકૃત કરવાથી પ્રાપ્ત કરી શકાય તેવા પાયાના અર્થતંત્રોની ઉપર અને ઉપર ખર્ચ બચત માટે પરવાનગી આપે છે. એપ્લિકેશન ઉદાહરણમાં સામાન્ય રીતે ચોક્કસ માત્રામાં મેમરી અને પ્રોસેસિંગ ઓવરહેડનો સમાવેશ થાય છે, જે ઘણા ગ્રાહકો દ્વારા ગુણાકાર કરવામાં આવે ત્યારે નોંધપાત્ર હોઈ શકે છે, ખાસ કરીને જો ગ્રાહકો નાના હોય. મલ્ટીટેનન્સી આ ઓવરહેડને ઘણા ગ્રાહકોમાં ફેલાવીને ઘટાડે છે. વધુ ખર્ચ બચત અંતર્ગત સોફ્ટવેર (જેમ કે ઓપરેટિંગ સિસ્ટમ્સ અને ડેટાબેઝ મેનેજમેન્ટ સિસ્ટમ્સ) ના લાઇસન્સિંગ ખર્ચમાંથી આવી શકે છે. કડવાશથી કહીએ તો, જો તમે એક જ સોફ્ટવેર ઉદાહરણ પર બધું ચલાવી શકો છો, તો તમારે ફક્ત એક જ સોફ્ટવેર લાઇસન્સ ખરીદવું પડશે. જેમ જેમ માંગ વધે છે તેમ તેમ એક જ ઉદાહરણને માપવાની મુશ્કેલી દ્વારા ખર્ચ બચતને ગ્રહણ કરી શકાય છે-એક જ સર્વર પર ઉદાહરણની કામગીરીમાં વધારો માત્ર ઝડપી હાર્ડવેર ખરીદીને કરી શકાય છે, જેમ કે ઝડપી CPU, વધુ મેમરી અને ઝડપી ડિસ્ક સિસ્ટમ્સ, અને સામાન્ય રીતે આ ખર્ચ ઝડપથી વધે છે જો ભાર લગભગ સમાન એકંદર ક્ષમતા સાથે બહુવિધ સર્વરો વચ્ચે વહેંચવામાં આવ્યો હોય. વધુમાં, મલ્ટીટેનન્ટ સિસ્ટમોનો વિકાસ વધુ જટિલ છે, અને બહુવિધ ગ્રાહકોના ડેટાને મિશ્રિત કરવામાં આવી રહ્યો છે તે હકીકતને કારણે સુરક્ષા પરીક્ષણ વધુ કડક છે. ડેટા એકત્રીકરણ/ડેટા માઇનિંગ વિક્રેતાઓ/આઈ. એસ. વી. માટે બહુપરતાનો ઉપયોગ કરવા માટેનું સૌથી આકર્ષક કારણ અંતર્ગત ડેટા એકત્રીકરણ લાભો માટે છે. સંભવિત રીતે વિવિધ ડેટાબેઝ યોજનાઓ સાથે બહુવિધ ડેટા સ્રોતોમાંથી ડેટા એકત્રિત કરવાને બદલે, તમામ ગ્રાહકો માટેનો તમામ ડેટા એક જ ડેટાબેઝ યોજનામાં સંગ્રહિત થાય છે. આમ, ગ્રાહકો, માઇનિંગ ડેટા અને વલણોની શોધમાં પ્રશ્નો ચલાવવાનું ખૂબ સરળ છે. આ કારણ કદાચ અતિશયોક્તિભર્યું છે કારણ કે સેવા પ્રદાતાઓને ગ્રાહક (ભાડૂત) ની માહિતીની પહોંચ અટકાવવાની જરૂરિયાત એ મુખ્ય બહુવિધ જરૂરિયાતોમાંની એક છે. વધુમાં, ઓપરેશનલ ડેટાબેઝને ખાણકામ ડેટાબેઝમાંથી અલગ કરવું સામાન્ય છે (સામાન્ય રીતે વિવિધ વર્કલોડ લાક્ષણિકતાઓને કારણે), આમ દલીલને વધુ નબળી પાડે છે. જટિલતા વધારાની કસ્ટમાઇઝેશન જટિલતા અને ભાડૂત દીઠ મેટાડેટા જાળવવાની જરૂરિયાતને કારણે, મલ્ટીટેનન્ટ એપ્લિકેશનોને મોટા વિકાસ પ્રયાસની જરૂર પડે છે. વેક્ટર-આધારિત ડેટા સિક્વન્સિંગ, એનક્રિપ્ટેબલ અલ્ગોરિધમ ઇન્ફ્રાસ્ટ્રક્ચર અને વર્ચ્યુઅલાઈઝ્ડ કંટ્રોલ ઇન્ટરફેસો જેવા વિચારોને ધ્યાનમાં લેવા જોઈએ. પ્રકાશન વ્યવસ્થાપન મલ્ટીટેનન્સી પ્રકાશન વ્યવસ્થાપન પ્રક્રિયાને સરળ બનાવે છે. પરંપરાગત પ્રકાશન વ્યવસ્થાપન પ્રક્રિયામાં, કોડ અને ડેટાબેઝમાં ફેરફારો ધરાવતા પેકેજો ક્લાયન્ટ ડેસ્કટોપ અને/અથવા સર્વર મશીનોમાં વહેંચવામાં આવે છે; એક ઉદાહરણના કિસ્સામાં, આ ગ્રાહક દીઠ એક સર્વર મશીન હશે. આ પેકેજો પછી દરેક વ્યક્તિગત મશીન પર સ્થાપિત કરવા પડે છે. મલ્ટીટેનન્ટ મોડેલ સાથે, પેકેજને સામાન્ય રીતે માત્ર એક જ સર્વર પર સ્થાપિત કરવાની જરૂર હોય છે. આ પ્રકાશન વ્યવસ્થાપન પ્રક્રિયાને મોટા પ્રમાણમાં સરળ બનાવે છે, અને સ્કેલ હવે ગ્રાહકોની સંખ્યા પર આધારિત નથી. તે જ સમયે, બહુવિધતા નવા પ્રકાશન સંસ્કરણને લાગુ કરવામાં અંતર્ગત જોખમો અને અસરોને વધારે છે. બહુવિધ ભાડૂતોને સેવા આપતા એક જ સોફ્ટવેર ઉદાહરણ હોવાથી, આ ઉદાહરણ પર અપડેટ તમામ ભાડૂતો માટે ડાઉનટાઇમનું કારણ બની શકે છે, ભલે અપડેટની વિનંતી કરવામાં આવે અને માત્ર એક જ ભાડૂત માટે ઉપયોગી હોય. ઉપરાંત, નવા પ્રકાશનને લાગુ કરવાના પરિણામે કેટલીક ભૂલો અને સમસ્યાઓ અન્ય ભાડૂતોના અરજીના વ્યક્તિગત દૃષ્ટિકોણમાં પ્રગટ થઈ શકે છે. સંભવિત ડાઉનટાઇમને કારણે, એક કરતાં વધુ ભાડૂતના સમય વપરાશના સમયપત્રકના આધારે પ્રકાશન લાગુ કરવાની ક્ષણ પ્રતિબંધિત થઈ શકે છે. જરૂરિયાતો કસ્ટમાઇઝેશન મલ્ટીટેનન્ટ એપ્લિકેશન્સ સામાન્ય રીતે દરેક લક્ષ્ય સંસ્થાની જરૂરિયાતોને ટેકો આપવા માટે ઉચ્ચ સ્તરનું કસ્ટમાઇઝેશન પ્રદાન કરવા માટે જરૂરી છે. કસ્ટમાઇઝેશનમાં સામાન્ય રીતે નીચેના પાસાઓનો સમાવેશ થાય છેઃ બ્રાન્ડિંગઃ દરેક સંસ્થાને તેમની કોર્પોરેટ બ્રાન્ડિંગ (જેને ઘણીવાર અલગ "ત્વચા" તરીકે ઓળખવામાં આવે છે) સાથે મેળ કરવા માટે એપ્લિકેશનના દેખાવ અને લાગણીને કસ્ટમાઇઝ કરવાની મંજૂરી આપવી. વર્કફ્લોઃ સંભવિત ગ્રાહકોની વિશાળ શ્રેણી દ્વારા ઉપયોગમાં લેવાતા વર્કફ્લોમાં તફાવતોને સમાવવા. ડેટા મોડેલમાં વિસ્તરણઃ ગ્રાહકોને તેમની ચોક્કસ જરૂરિયાતોને પહોંચી વળવા માટે એપ્લિકેશન દ્વારા સંચાલિત ડેટા તત્વોને કસ્ટમાઇઝ કરવાની ક્ષમતા આપવા માટે એક્સ્ટેન્સિબલ ડેટા મોડેલને ટેકો આપવો. ઍક્સેસ નિયંત્રણઃ દરેક ગ્રાહક સંસ્થાને સ્વતંત્ર રીતે દરેક વપરાશકર્તા માટે ઍક્સેસ અધિકારો અને પ્રતિબંધોને કસ્ટમાઇઝ કરવા દે છે. સેવાની ગુણવત્તા મલ્ટીટેનન્ટ એપ્લિકેશનો બહુવિધ ભાડૂતો વચ્ચે પૂરતી સુરક્ષા, મજબૂતાઈ અને પ્રદર્શન પ્રદાન કરે તેવી અપેક્ષા છે જે બહુ-ઉદાહરણ એપ્લિકેશનોના કિસ્સામાં એપ્લિકેશનની નીચેના સ્તરો દ્વારા પ્રદાન કરવામાં આવે છે. વર્ચ્યુઅલાઈઝેશન મલ્ટીટેનન્સી માટે એપ્લિકેશનોને ફરીથી ડિઝાઇન કરવાનો ખર્ચ નોંધપાત્ર હોઈ શકે છે, ખાસ કરીને સોફ્ટવેર વિક્રેતાઓ માટે કે જેઓ તેમના ઉત્પાદનનું ઓન-પ્રિમાઇસીસ સિંગલ ભાડૂત વર્ઝન ઓફર કરવાનું ચાલુ રાખે છે. તેઓ તમામ પરિણામી ખર્ચ સાથે બે અલગ-અલગ ઉત્પાદનોને ટેકો આપવા માટે મજબૂર થાય છે. મલ્ટીટેનન્સી માટે વધુને વધુ વ્યવહારુ વૈકલ્પિક માર્ગ જે નોંધપાત્ર સ્થાપત્ય પરિવર્તનની જરૂરિયાતને દૂર કરે છે તે એક અથવા વધુ સર્વર પર એપ્લિકેશનના બહુવિધ અલગ-અલગ ઉદાહરણોને હોસ્ટ કરવા માટે વર્ચ્યુઅલાઈઝેશન તકનીકનો ઉપયોગ કરવાનો છે. ખરેખર, જ્યારે એપ્લિકેશનોને વર્ચ્યુઅલ ઉપકરણો તરીકે ફરીથી પેક કરવામાં આવે છે ત્યારે તે જ ઉપકરણની છબી ISV હોસ્ટ, પરિસરમાં અથવા વિશ્વસનીય તૃતીય પક્ષ સ્થાનો પર તૈનાત કરી શકાય છે અને સમય જતાં એક જમાવટ સાઇટથી બીજી જગ્યાએ સ્થળાંતર પણ કરી શકાય છે. સંદર્ભ સોફ્ટવેર આર્કિટેક્ચર સર્વિસ-ઓરિએન્ટેડ (બિઝનેસ કમ્પ્યુટિંગ)