අථත්යකරණය සහ බහාලුම්කරණය අතර වෙනස
නවීන පරිගණකකරණයේදී, යෙදුම් ඉක්මනින්, කාර්යක්ෂමව සහ පහසුවෙන් පරිසරයන් අතර (සංවර්ධක ලැප්ටොප්, කාර්යාල සේවාදායක සහ වලාකුළු) සංක්රමණය වීමේ අවශ්යතාවය අඛණ්ඩව වර්ධනය වේ. මෙම අවශ්යතා බොහෝ විට තහවුරු කරන තාක්ෂණයන් දෙකක් වන්නේ අථත්යකරණය සහ බහාලුම්කරණයයි. දෙකම අපට තනි භෞතික යන්ත්රයක බහු "පරිසර" ක්රියාත්මක කිරීමට ඉඩ සලසන අතර, ඒවායේ ක්රියාකාරිත්වය, හුදකලා මට්ටම, සම්පත් පරිභෝජනය සහ භාවිත අවස්ථා සැලකිය යුතු ලෙස වෙනස් වේ. නිවැරදි විසඳුම තෝරා ගැනීමට ඔබට උපකාර කිරීම සඳහා අථත්යකරණය සහ බහාලුම්කරණය අතර වෙනස්කම් මෙම ලිපියෙන් පුළුල් ලෙස සාකච්ඡා කෙරේ.
1. අථත්යකරණය පිළිබඳ අර්ථ දැක්වීම
අථත්යකරණය යනු තනි භෞතික යන්ත්රයකට එකවර බහු අථත්ය යන්ත්ර (VM) ක්රියාත්මක කිරීමට ඉඩ සලසන තාක්ෂණයකි. සෑම VM එකක්ම සම්පූර්ණ පරිගණකයක් මෙන් ක්රියා කරයි: එයට තමන්ගේම මෙහෙයුම් පද්ධතියක්, කර්නලය, අථත්ය ධාවක සහ වෙන් කරන ලද සම්පත් ඉඩ (CPU, RAM, ගබඩාව) ඇත.
අථත්යකරණය සාමාන්යයෙන් හයිපර්වයිසර් ලෙස හඳුන්වන මෘදුකාංගයක් හරහා ක්රියාත්මක වේ. දෘඩාංග සම්පත් වෙන් කිරීම සහ අථත්ය යන්ත්ර කළමනාකරණය කිරීම සඳහා හයිපර්වයිසර් වගකිව යුතුය. ජනප්රිය හයිපර්වයිසර් සඳහා උදාහරණ අතරට:
– VMware ESXi
- මයික්රොසොෆ්ට් හයිපර්-වී
– KVM (කර්නලය මත පදනම් වූ අතථ්ය යන්ත්රය)
– VirtualBox (දේශීය අවශ්යතා සඳහා සාමාන්ය)
අථත්යකරණය සමඟින්, ඔබට තනි භෞතික සේවාදායකයක් මත Windows සහ Linux ධාවනය කළ හැකිය, නැතහොත් හුදකලා සහ බහු-කුලී අවශ්යතා සඳහා විවිධ Linux බෙදාහැරීම් කිහිපයක් ධාවනය කළ හැකිය.
2. බහාලුම්කරණය පිළිබඳ අර්ථ දැක්වීම
බහාලුම්කරණය යනු බහාලුම් ලෙස හඳුන්වන හුදකලා ඒකකවල යෙදුම් ධාවනය කිරීමේ ක්රමයකි. බහාලුම් යෙදුම් සහ ඒවායේ පරායත්තතා (පුස්තකාල, ධාවන වේලාවන්, වින්යාසයන්) "පැකේජය" කරන බැවින් ඒවාට බහු පරිසර හරහා අඛණ්ඩව ධාවනය කළ හැකිය.
VM වලින් ඇති ප්රධාන වෙනස නම් බහාලුම්වල සම්පූර්ණ මෙහෙයුම් පද්ධතියක් නොමැති වීමයි. බහාලුම් සත්කාරක මෙහෙයුම් පද්ධතිය සමඟ කර්නලයක් බෙදා ගනී (නැතහොත් බහාලුම VM එකක් මත ක්රියාත්මක වන්නේ නම් VM හි කර්නලය). ක්රියාවලි වෙන් කිරීම සහ සම්පත් සීමා කිරීම් කළමනාකරණය කරන නාම අවකාශයන් සහ cgroups (Linux හි) වැනි කර්නල් විශේෂාංග හරහා හුදකලාව සාක්ෂාත් කරගනු ලැබේ.
වඩාත් ප්රසිද්ධ බහාලුම් වේදිකා වන්නේ:
– ඩොකර්
– බහාලුම් කළ
– පොඩ්මන්
- කුබර්නෙට්ස් වැනි වාද්ය වෘන්දය
ක්ෂුද්ර සේවා, වේගවත් යෙදවීම සහ නවීන DevOps අවස්ථා සඳහා බහාලුම්කරණය බහුලව භාවිතා වේ.
3. වාස්තු විද්යාත්මක වෙනස්කම්: VM vs බහාලුම්
අථත්යකරණය (VM)
VM එකක, ඔබට මෙවැනි ස්ථර තිබේ:
1. භෞතික දෘඩාංග
2. හයිපර්වයිසර්
3. VM (එක් එක් ඒවාට තමන්ගේම OS + කර්නලය ඇත)
4. අයදුම්පත
සෑම VM එකක්ම සම්පූර්ණ මෙහෙයුම් පද්ධතියක් දරන නිසා, VMs "බරින් වැඩි" වීමට නැඹුරු වේ, නමුත් ඒවායේ හුදකලාව ශක්තිමත් වන අතර විවිධ OS ධාවනය කිරීමට නම්යශීලී වේ.
බහාලුම්කරණය (බහාලුම)
බහාලුම්වල, ස්ථර සාමාන්යයෙන්:
1. භෞතික දෘඩාංග
2. සත්කාරක මෙහෙයුම් පද්ධතිය (කර්නලය)
3. බහාලුම් ධාවන කාලය (උදා: ඩොකර්)
4. බහාලුම් (යෙදුම + යැපීම්)
මෙහෙයුම් පද්ධතිය අනුපිටපත් නොකරන නිසා බහාලුම් සැහැල්ලු ය. එහි ප්රතිඵලයක් ලෙස, ඒවා සාමාන්යයෙන් නිර්මාණය කිරීමට, ක්රියාත්මක කිරීමට සහ යෙදවීමට වේගවත් වේ.
4. සම්පත් පරිභෝජනයේ වෙනස්කම්
VMs වැඩි සම්පත් ප්රමාණයක් පරිභෝජනය කරන්නේ:
- සෑම VM එකකටම OS සඳහා RAM අවශ්ය වේ
– හයිපර්වයිසර් සහ OS තැටි රූපය ඉහළින් තිබේ.
– මෙහෙයුම් පද්ධතිය ආරම්භ කිරීමට කාලය සහ සම්පත් අවශ්ය වේ
බහාලුම් වඩාත් ලාභදායී වන්නේ:
– ධාරක කර්නලය බෙදා ගැනීම
– රූපයේ ප්රමාණය සාපේක්ෂව කුඩායි (OS VM රූපයට සාපේක්ෂව)
- වේගවත් ආරම්භය/නැවැත්වීම (බොහෝ විට තත්පර හෝ ඊට අඩු කාලයකින්)
ඔබේ ඉලක්කය දුසිම් ගනනක් සිට සිය ගණනක් කුඩා සේවා ක්රියාත්මක කිරීම නම්, බහාලුම් සාමාන්යයෙන් වඩා කාර්යක්ෂම වේ. කෙසේ වෙතත්, ඔබට සම්පූර්ණ හුදකලාවක් හෝ වෙනස් මෙහෙයුම් පද්ධතියක් අවශ්ය නම්, VM වඩාත් අදාළ වේ.
5. ඇරඹුම් සහ යෙදවුම් වේගයෙහි වෙනස
VM එකක් නව පරිගණකයක් ආරම්භ කිරීමට සමාන වේ: එයට මෙහෙයුම් පද්ධතිය ආරම්භ කිරීම, සේවා ආරම්භ කිරීම යනාදිය අවශ්ය වේ. VM එකක ආරම්භක කාලය තත්පර දස සිට මිනිත්තු දක්වා විය හැකිය.
බහාලුම් යනු හුදකලා යෙදුම් ක්රියාවලීන් ක්රියාත්මක කිරීම වැනිය. රූපය සහ යෙදුම් ආරම්භ කිරීම මත පදනම්ව, බොහෝ බහාලුම් තත්පර කිහිපයකින් හෝ ඊටත් වඩා අඩු කාලයකින් ආරම්භ විය හැක.
CI/CD (අඛණ්ඩ ඒකාබද්ධ කිරීම/අඛණ්ඩ යෙදවීම) දෘෂ්ටිකෝණයකින්, බහාලුම් බොහෝ විට තෝරා ගනු ලබන්නේ ඒවා ගොඩනැගීම-පරීක්ෂණ-යෙදීමේ නල මාර්ගය වේගවත් කරන බැවිනි.
6. හුදකලා වීමේ සහ ආරක්ෂක මට්ටම
හුදකලාව යනු වඩාත් වැදගත් සාධකවලින් එකකි.
VM
- වෙනම OS/කර්නල් සීමාවක් ඇති නිසා ශක්තිමත් හුදකලාව.
– VM එකක් අවදානමට ලක් වුවහොත්, බලපෑම එම VM එකට සීමා වේ (හයිපර්වයිසර් සූරාකෑමේ අවදානම තවමත් පවතී).
- අඩු විශ්වාස මට්ටම් සහිත බහු-කුලී නිවැසියන් සඳහා සුදුසු වේ (උදා: විවිධ ගනුදෙනුකරුවන්ට සත්කාර කිරීම).
කන්ටේනර්
– ධාරක කර්නලය බෙදා ගැනීම නිසා හුදකලාව "තුනී" වේ.
– කර්නලයේ අවදානමක් හෝ දුර්වල බහාලුම් වින්යාසයක් තිබේ නම් (උදා: බහාලුම root ලෙස ක්රියාත්මක වේ, ඉතා ඉහළ වරප්රසාද), ධාරකයට උත්සන්න වීමේ අවදානම වැඩි විය හැක.
– බහාලුම් ආරක්ෂාව දැඩි කිරීම මත දැඩි ලෙස රඳා පවතී: මූල රහිත බහාලුම් භාවිතය, හැකියාවන් සීමා කිරීම්, seccomp/apparmor/selinux, රූප පරිලෝකනය යනාදිය.
කෙසේ වෙතත්, බහාලුම් ආරක්ෂක පරිසර පද්ධතිය වේගයෙන් වර්ධනය වන අතර, බොහෝ විශාල සංවිධාන හොඳම භාවිතයන් සමඟ බහාලුම් ආරක්ෂිතව ක්රියාත්මක කරයි.
7. අතේ ගෙන යා හැකි බව සහ පාරිසරික අනුකූලතාව
යෙදුම් අතේ ගෙන යා හැකි හැකියාව අනුව බහාලුම් විශිෂ්ටයි:
- බහාලුම් රූපවල යෙදුම් පරායත්තතා අඩංගු වේ
- "මගේ යන්ත්රයේ ක්රියාත්මක වන දේ" සේවාදායකයන් සහ වලාකුළු මත ද ක්රියාත්මක වන බව සහතික කරයි.
- පාරිසරික අනුකූලතාව අවශ්ය සංවර්ධන කණ්ඩායම් සඳහා සුදුසු වේ.
VMs අතේ ගෙන යා හැකි නමුත් බරින් වැඩිය:
– VM එකක් ගෙනයාම යනු සම්පූර්ණ OS එක ගෙනයාමයි.
- රූප ගොනු ප්රමාණය විශාල විය හැකිය
– ප්රතිපාදන සැපයීම මන්දගාමී වීමට නැඹුරු වේ
නූතන භාවිතයේදී, බොහෝ විට සංයෝජනයක් සිදු වේ: VMs ස්ථාවර සහ ආරක්ෂිත "නෝඩ්" ලෙස භාවිතා කරන අතර, යෙදුම් නම්යශීලීභාවය සඳහා බහාලුම් ඒවා මත ධාවනය වේ.
8. සැබෑ ලෝක භාවිතය: තෝරාගත යුත්තේ කවදාද?
පහත සඳහන් අවස්ථා වලදී අථත්යකරණය භාවිතා කරන්න:
1. ඔබට විවිධ මෙහෙයුම් පද්ධති (උදා: Windows Server සහ Linux එකවර) ධාවනය කිරීමට අවශ්ය වේ.
2. ඔබට ශක්තිමත් හුදකලාවක් සහ පරිසරයන් අතර සීමාවන් අවශ්ය වේ.
3. ඔබ බහාලුම් කිරීමට අපහසු උරුම මොනොලිතික් යෙදුමක් ධාවනය කරමින් සිටී.
4. ඔබේ යටිතල පහසුකම් දැනටමත් අථත්ය යන්ත්ර මත පදනම් වූ අතර VM කළමනාකරණය පරිණතයි.
පහත සඳහන් අවස්ථා වලදී බහාලුම්කරණය භාවිතා කරන්න:
1. ඔබ ක්ෂුද්ර සේවා යෙදුමක් හෝ නවීන ගෘහ නිර්මාණ ශිල්පයක් ගොඩනඟමින් සිටී.
2. ඔබට වේගවත් යෙදවීමක් සහ ගතික පරිමාණයක් අවශ්ය වේ.
3. DevOps සහ CI/CD සඳහා ඔබට ස්ථාවර පරිසරයක් අවශ්ය වේ.
4. බොහෝ කුඩා සේවාවන් සඳහා සම්පත් කාර්යක්ෂමතාව ඔබට අවශ්ය වේ.
9. කළමනාකරණයේ සහ වාද්ය වෘන්දයේ වෙනස්කම්
VM කළමනාකරණය කරනු ලබන්නේ vCenter, OpenStack, හෝ Hyper-V Manager වැනි අථත්යකරණ මෙවලම් භාවිතයෙන් ය. ඒවාට සැලකිය යුතු ලෙස පරිමාණය කළ හැකි වුවද, VM සැපයීම බොහෝ විට වඩා ඉල්ලුමක් ඇති සහ මන්දගාමී වේ.
බහාලුම් සාමාන්යයෙන් පරිමාණයෙන් කළමනාකරණය කරනු ලබන්නේ කුබර්නෙට්ස් වැනි වාද්ය වෘන්දයන් භාවිතා කරමිනි:
– ස්වයංක්රීය පරිමාණය
- ස්වයං-සුව කිරීම (බහාලුම ස්වයංක්රීයව නැවත ආරම්භ වේ)
- අභ්යන්තර බර තුලනය
– යාවත්කාලීන කිරීම් සහ ආපසු හැරවීම්
– ප්රකාශන (YAML ගොනු භාවිතා කරමින්)
මෙය වලාකුළු-ස්වදේශීය පරිසර පද්ධතියට බහාලුම්කරණය පරිපූර්ණ ලෙස ගැලපේ.
10 කෙසිම්පුලන්
අථත්යකරණය සහ බහාලුම්කරණය යන දෙකම වැදගත් වේ, නමුත් ඒවා විවිධ අවශ්යතා සපුරාලයි. අථත්යකරණය ඉහළ හුදකලාවකින් සහ විවිධ මෙහෙයුම් පද්ධති ක්රියාත්මක කිරීමට නම්යශීලී බවක් සහිත පූර්ණ පරිගණක පරිසරයක් සපයයි, නමුත් එය සම්පත්-දැඩි සහ සැපයීමට මන්දගාමී වේ. බහාලුම්කරණය, මේ අතර, යෙදුම් ක්රියාත්මක කිරීමට සැහැල්ලු, වේගවත් සහ වඩා අතේ ගෙන යා හැකි ක්රමයක් ලබා දෙයි, DevOps, ක්ෂුද්ර සේවා සහ විශාල පරිමාණයේ යෙදවීම් සඳහා වඩාත් සුදුසුය - හොඳ ආරක්ෂාවක් සහ වාද්ය වෘන්ද භාවිතයන් අවශ්ය බවට අවවාදයක් ඇත.
අවසාන වශයෙන්, හොඳම තේරීම බොහෝ විට “VM හෝ බහාලුම්” නොව, දෙකෙහිම එකතුවකි: යටිතල පහසුකම් පදනම සඳහා VM සහ කාර්යක්ෂමව ක්රියාත්මක වන යෙදුම් සඳහා බහාලුම්. මෙම මූලික වෙනස්කම් තේරුම් ගැනීමෙන්, ඔබේ සංවිධානයේ අවශ්යතාවලට ගැලපෙන පරිදි වඩාත් ස්ථාවර, ආරක්ෂිත සහ පරිමාණය කළ හැකි පද්ධති නිර්මාණය කළ හැකිය.