අථත්යකරණය සමඟ පරීක්ෂණ පරිසරයක් සැකසීම සඳහා මාර්ගෝපදේශය
අථත්යකරණය ස්ථාවර, ආරක්ෂිත සහ පහසුවෙන් අනුකරණය කළ හැකි පරීක්ෂණ පරිසරයන් ගොඩනැගීම සඳහා වඩාත් ඵලදායී ක්රමයක් බවට පත්ව ඇත. අථත්යකරණය සමඟින්, ඔබට ප්රාථමික පද්ධතියට හානි නොකර, තනි භෞතික යන්ත්රයක් මත බහු මෙහෙයුම් පද්ධති සහ විවිධ වින්යාසයන් ක්රියාත්මක කළ හැකිය. කාර්යක්ෂම සහ විශ්වාසදායක පරීක්ෂණ පරිසරයක් සඳහා හොඳම භාවිතයන් සැලසුම් කිරීම සහ මෙවලම් තෝරා ගැනීම දක්වා - අථත්යකරණ තාක්ෂණය භාවිතයෙන් පරීක්ෂණ පරිසරයක් සැකසීම සඳහා ප්රායෝගික මාර්ගෝපදේශයක් මෙම ලිපියෙන් ආවරණය කෙරේ.
1. පරීක්ෂණ පරිසරයන් සඳහා අථත්යකරණය ඇයි?
පරමාදර්ශී පරීක්ෂණ පරිසරයකට ලක්ෂණ කිහිපයක් තිබිය යුතුය: එය නිෂ්පාදන පද්ධතියෙන් හුදකලා විය යුතුය, එය ඉක්මනින් එහි මුල් තත්වයට යථා තත්ත්වයට පත් කිරීමට හැකි විය යුතුය, සහ එය සැබෑ ලෝක තත්වයන් අනුකරණය කිරීමට හැකි විය යුතුය. අථත්යකරණය මෙම අවශ්යතා සපුරාලන්නේ මන්ද:
1. හුදකලා කිරීම: අථත්ය යන්ත්ර (VM) ධාරකයෙන් වෙනම “පෙට්ටියක” ක්රියාත්මක වන අතර එමඟින් වැරදි වින්යාසයන් හෝ අනිෂ්ට මෘදුකාංග ප්රධාන පද්ධතියට වහාම හානි නොකරයි.
2. වේගවත් අනුකරණය: ඔබට VM ක්ලෝන කිරීමට හෝ එකම පරිසරය අනුකරණය කිරීමට සැකිලි නිර්මාණය කිරීමට හැකිය.
3. ස්නැප්ෂොට් සහ ආපසු හැරීම: වෙනස්කම් ඉක්මනින් අහෝසි කළ හැකි අතර, වින්යාස කිරීම් පරීක්ෂා කිරීමේදී, පැච් කිරීමේදී හෝ යෙදුම් ස්ථාපනය කිරීමේදී ඉතා ප්රයෝජනවත් වේ.
4. පිරිවැය කාර්යක්ෂමතාව: විවිධ පරීක්ෂණ අවස්ථා සඳහා බහු භෞතික උපාංග මිලදී ගැනීමේ අවශ්යතාවය අඩු කරයි.
5. සහයෝගීතාවයේ පහසුව: VM වින්යාසයන් ලේඛනගත කර බෙදා ගත හැක, එබැවින් කණ්ඩායම්වලට පොදු මූලික පදනමක් ඇත.
වෙනත් වචන වලින් කිවහොත්, අථත්යකරණය QA, ඒකාබද්ධතා පරීක්ෂණ, ආරක්ෂක පරීක්ෂණ සහ යෙදවුම් සමාකරණ සඳහා ස්ථාවර "රසායනාගාරයක්" නිර්මාණය කිරීමට උපකාරී වේ.
2. පරීක්ෂණ අවශ්යතා සහ විෂය පථය තීරණය කරන්න
අථත්යකරණ වේදිකාවක් තෝරා ගැනීමට පෙර, ඔබේ පරීක්ෂණ පරිසරයේ ඉලක්ක නිර්වචනය කරන්න. උපකාර විය හැකි ප්රශ්න:
– ඔබ වෙබ් යෙදුම්, API, දත්ත සමුදායන් හෝ ඩෙස්ක්ටොප් යෙදුම් පරීක්ෂා කරනවාද?
– එයට බහු නෝඩ් (උදා: ක්ෂුද්ර සේවා ගෘහ නිර්මාණ ශිල්පය, පොකුරු හෝ බර සමතුලිතකාරකය) අවශ්යද?
– නිෂ්පාදනය (OS අනුවාදය, දත්ත සමුදා අනුවාදය, ජාල ස්ථලකය) අනුකරණය කිරීම අවශ්යද?
– පරිසරය කොපමණ වාරයක් නැවත සකස් කරනු ලැබේද (ආපසු හැරවීම) හෝ වෙනස් කරනු ලැබේද?
– ඔබේ කණ්ඩායමට දුරස්ථ ප්රවේශය සහ භූමිකාව පදනම් කරගත් පාලනය අවශ්යද?
මෙතැන් සිට ඔබට සම්පත් ගණනය කළ හැකිය: CPU, RAM, ගබඩාව, මෙන්ම VLAN, NAT, හෝ අභ්යන්තර ජාලය වැනි අතථ්ය ජාල අවශ්යතා.
3. අථත්යකරණ වර්ගයක් තෝරා ගැනීම: VM, බහාලුම්, හෝ දෙකම?
සාමාන්යයෙන් පරීක්ෂා කිරීම සඳහා ජනප්රිය ප්රවේශ දෙකක් තිබේ:
අ) අතථ්ය යන්ත්රය (VM)
VMs සම්පූර්ණ උපාංගයක් අනුකරණය කරන අතර ධාරකයට වඩා වෙනස් OS එකක් ධාවනය කළ හැකිය (උදා: Linux VM එකක් ධාවනය වන Windows සත්කාරකයක්). සුදුසු වන්නේ:
- නිශ්චිත කර්නලයක් හෝ මෙහෙයුම් පද්ධතියක් අවශ්ය වන පරීක්ෂණ
- සම්පූර්ණ සේවාදායක අනුකරණය (ක්රියාකාරී නාමාවලිය, වින්ඩෝස් සේවාදායකය, ෆයර්වෝල්)
- ශක්තිමත් හුදකලාවක් අවශ්ය වන ආරක්ෂක පරීක්ෂණ
වේදිකා උදාහරණ: VirtualBox, VMware Workstation/Player, Hyper-V, KVM, Proxmox VE.
ආ) බහාලුම් (ඩොකර්/පොඩ්මන්)
බහාලුම් ධාරක කර්නලය බෙදා ගන්නා නිසා ඒවා සැහැල්ලු ය. ඒවා සුදුසු වන්නේ:
- සේවා පාදක යෙදුම් පරීක්ෂාව (වෙබ්, API, සේවකයා)
- CI/CD සහ ස්වයංක්රීය ඒකාබද්ධ කිරීම
- වේගවත් පරිමාණය සහ ප්රතිනිෂ්පාදනය කළ හැකි ගොඩනැගීම
කෙසේ වෙතත්, ඔබට විවිධ OS හෝ කර්නල් මට්ටමේ පරීක්ෂණ අවශ්ය නම් බහාලුම් සුදුසු නොවේ.
ඇ) දෙමුහුන්
බොහෝ විට, සංයෝජනයක් හොඳම වේ: VM එකක් “විද්යාගාර සේවාදායකයක්” ලෙස ධාවනය කර එය තුළ යෙදුම් බහාලුම් ධාවනය කිරීම. මෙය හුදකලාව සහ කාර්යක්ෂමතාව යන දෙකම සපයයි.
4. ධාරකය සැකසීම: දෘඪාංග සහ මූලික පද්ධති
සුමට පරීක්ෂණ පරිසරයක් සහතික කිරීම සඳහා, සත්කාරක සමාගම පහත අවශ්යතා සපුරාලන බවට සහතික වන්න:
– CPU: අවම වශයෙන් මධ්ය 4ක්, බහු VM සඳහා වඩාත් සුදුසු වන්නේ මධ්ය 8ක් හෝ ඊට වැඩි ගණනක්.
– RAM: අවම වශයෙන් 16 GB, බහු VM/දත්ත සමුදායන් ක්රියාත්මක වන්නේ නම් 32 GB ඉතා සුදුසුය.
– ගබඩා කිරීම: SSD බෙහෙවින් නිර්දේශ කෙරේ. වේගවත් VM I/O සඳහා හැකි නම් NVMe භාවිතා කරන්න.
– අථත්යකරණ දිගුව: BIOS/UEFI හි VT-x/AMD-V සක්රීය බව සහතික කර ගන්න.
– සත්කාරක මෙහෙයුම් පද්ධතිය: ස්ථාවර සහ කළමනාකරණය කිරීමට පහසු එකක් තෝරන්න. වින්ඩෝස් Hyper-V/VMware සඳහා සුදුසු ය; Linux KVM/Proxmox සඳහා ඉතා බලවත් ය.
දේවල් සංවිධානාත්මකව තබා ගැනීමට සහ නිතිපතා උපස්ථ සක්රීය කිරීමට VM ගබඩාව සහ අතථ්ය තැටි සඳහා කැපවූ ෆෝල්ඩර ව්යුහයක් සාදන්න.
5. නිවැරදි අථත්යකරණ වේදිකාව තෝරා ගැනීම
මෙන්න කෙටි සලකා බැලීම් කිහිපයක්:
– VirtualBox: නොමිලේ, පහසු, පුද්ගලයන්ට හෝ කුඩා රසායනාගාර සඳහා සුදුසුයි.
– VMware Workstation: ඩෙස්ක්ටොප් අථත්යකරණය සඳහා හොඳ කාර්ය සාධනයක් සහ විශේෂාංග.
– Hyper-V: වින්ඩෝස් සමඟ ඒකාබද්ධ කර ඇති අතර, මයික්රොසොෆ්ට් පරිසර පද්ධතිය පරීක්ෂා කිරීමට සුදුසු වේ.
– Proxmox VE: කණ්ඩායම් සේවාදායක/විද්යාගාර සඳහා සුදුසු, KVM සහ බහාලුම් සඳහා සහය දක්වයි, පහසු වෙබ් කළමනාකරණය.
– KVM (Linux): නිෂ්පාදන වැනි පරිසරයන් සඳහා ඉතා බලවත්, සේවාදායකයන්හි බහුලව භාවිතා වේ.
ඔබ කුඩා කණ්ඩායමක් නම් සහ වේගය අවශ්ය නම්, VirtualBox හෝ VMware ප්රමාණවත් වේ. බොහෝ දෙනෙකුට ප්රවේශ විය හැකි අභ්යන්තර රසායනාගාරයක් ඔබට අවශ්ය නම්, Proxmox හෝ KVM වඩාත් සුදුසුය.
6. VM සැකිලි නිර්මාණය කිරීම සහ ප්රමිතිකරණය
කාර්යක්ෂමතාව සඳහා, මූලික පදනමක් ලෙස VM සැකිල්ලක් සාදන්න. සාමාන්ය පියවර:
1. අවම මෙහෙයුම් පද්ධතියක් ස්ථාපනය කරන්න (උදා: Ubuntu Server LTS හෝ Windows Server).
2. පැච් යාවත්කාලීන කර වැදගත් මෙවලම් ස්ථාපනය කරන්න (SSH, ආගන්තුක මෙවලම්, අධීක්ෂණය).
3. මූලික ආරක්ෂක වින්යාසය යොදන්න:
– අනවශ්ය සේවාවන් අක්රීය කරන්න
- ෆයර්වෝල් සැකසුම
- සම්මත පරිශීලකයෙකු සාදන්න (දෛනික භාවිතය සඳහා root/admin නොවේ)
4. තාවකාලික ගොනු පිරිසිදු කරන්න, ඉන්පසු ස්නැප්ෂොට්/සැකිල්ලක් සාදන්න.
මෙම සැකිල්ල ඔබට ඒකාකාර වින්යාසයන් සහිත බහු VM නිර්මාණය කිරීම පහසු කරනු ඇත. ප්රමිතිකරණය විශේෂයෙන් දෝශ නිරාකරණයේදී උපකාරී වේ, මන්ද එය "නොපෙනෙන" විචල්යයන් අඩු කරයි.
7. පරීක්ෂණ අවස්ථා සඳහා අතථ්ය ජාල වින්යාසය
ජාලකරණය බොහෝ විට පරීක්ෂණ කටයුතුවල වඩාත්ම අභියෝගාත්මක ක්ෂේත්රය වේ. අථත්යකරණය මඟින් ඔබට ජාල වර්ග කිහිපයක් නිර්මාණය කිරීමට ඉඩ සලසයි:
– NAT: VM හට ධාරකය හරහා අන්තර්ජාලයට යා හැකි අතර, සරල යාවත්කාලීන කිරීම් සහ පරීක්ෂණ සඳහා සුදුසු වේ.
– Bridged : VM කාර්යාල/නිවාස ජාලයේ ඇති වෙනත් ඕනෑම උපාංගයක් මෙන් පෙනේ, සැබෑ ඒකාබද්ධතා පරීක්ෂණ සඳහා සුදුසු වේ.
– සත්කාරක-පමණක් : VM වලට සන්නිවේදනය කළ හැක්කේ එම ජාලයේ ධාරකය සහ අනෙකුත් VM සමඟ පමණි, හුදකලාව සඳහා වඩාත් සුදුසුය.
– අභ්යන්තර ජාලය: VMs ධාරක ප්රවේශයකින් තොරව එකිනෙකට සම්බන්ධ කර ඇත; වෙනම ජාල කොටස් අනුකරණය කිරීම සඳහා සුදුසු වේ.
සේවා නම් කිරීම සරල කිරීම සඳහා අභ්යන්තර DNS (උදා: dnsmasq) හෝ සත්කාරක ගොනුවක් භාවිතා කරන්න. බහු-ස්ථර යෙදුමක් පරීක්ෂා කරන්නේ නම්, ඛණ්ඩනය සාදන්න: උදාහරණයක් ලෙස, “frontend,” “backend,” සහ “db” ජාල.
8. ස්නැප්ෂොට්, ක්ලෝනකරණය සහ ආපසු හැරවීමේ උපාය මාර්ග
ස්නැප්ෂොට් යනු පරීක්ෂා කිරීම සඳහා ප්රධාන ලක්ෂණයකි. නිර්දේශිත පිළිවෙත්:
- ප්රධාන වෙනස්කම් සිදු කිරීමට පෙර සැණෙළියක් සාදන්න (OS උත්ශ්රේණි කිරීම, දත්ත සමුදා සංක්රමණය).
– ඕනෑවට වඩා ස්නැප්ෂොට් රැස් නොකරන්න, මෙය කාර්ය සාධනය අඩු කර කළමනාකරණය සංකීර්ණ කළ හැකිය.
– විශාල අත්හදා බැලීම් සඳහා, දිගු ස්නැප්ෂොට් දාමයක් නිර්මාණය කිරීමට වඩා සැකිල්ලකින් VM එකක් ක්ලෝන කිරීම වඩා හොඳය.
ස්නැප්ෂොට් එකට පැහැදිලි නමක් දෙන්න: උදාහරණයක් ලෙස `pre-upgrade-nginx-1.24` හෝ `before-security-hardening`.
9. කේතයක් ලෙස යටිතල පහසුකම් සමඟ ස්වයංක්රීයකරණය සැපයීම
පරීක්ෂණ පරිසරය සැබවින්ම ප්රතිනිෂ්පාදනය කළ හැකි කිරීමට, ස්වයංක්රීයකරණය භාවිතා කරන්න:
– Ansible: සේවාදායක වින්යාසය (පැකේජ ස්ථාපනය කරන්න, වින්යාසය සංස්කරණය කරන්න, යෙදුම් යෙදවීම).
– Terraform: නිශ්චිත වේදිකාවක් මත VM සම්පත් කළමනාකරණය කරයි (වලාකුළෙහි බහුලව දක්නට ලැබේ, නමුත් සැපයුම්කරු මත පදනම්ව එය on-prem විය හැක).
– Vagrant: එක් විධානයකින් VM එකක් ආරම්භ කිරීමට කැමති සංවර්ධකයින්ට ඉතා ප්රයෝජනවත් වේ.
ස්වයංක්රීයකරණය සමඟ, පියවර අමතක වීමට ඉඩ ඇති "අතින් සැකසුම" මත රඳා නොසිට ඔබට ඕනෑම වේලාවක ඔබේ පරිසරය නැවත ගොඩනගා ගත හැකිය.
10. පරිසර ආරක්ෂාව පරීක්ෂා කරන්න
එය පරීක්ෂා කිරීම සඳහා පමණක් වුවද, තවමත් අවදානම් පවතී. මෙන්න වැදගත් පියවර කිහිපයක්:
– මුල් නිෂ්පාදන දත්ත භාවිතා නොකරන්න. අවශ්ය නම්, එය වසන් කරන්න/නිර්නාමික කරන්න.
- VM ප්රවේශය සීමා කරන්න (VPN, ෆයර්වෝල්, RBAC).
– පරීක්ෂණ ජාලය නිෂ්පාදන ජාලයෙන් වෙන් කරන්න.
– මෙහෙයුම් පද්ධතිය සහ හයිපර්වයිසර් නිතිපතා යාවත්කාලීන කරන්න.
- විශේෂයෙන් අනිෂ්ට මෘදුකාංග හෝ ආරක්ෂක අවදානම් සඳහා පරීක්ෂා කරන්නේ නම්, VM ක්රියාකාරකම් නිරීක්ෂණය කරන්න.
අනාරක්ෂිත පරීක්ෂණ පරිසරයක් අභ්යන්තර ජාලයට ප්රහාර එල්ල කිරීම සඳහා දොරටුවක් විය හැකිය.
11. ස්ථාවරත්වය සහ කාර්ය සාධනය සඳහා හොඳම පිළිවෙත්
කාර්ය සාධනය පවත්වා ගැනීම සඳහා:
– විශේෂයෙන් දත්ත සමුදායන් සඳහා RAM ඕනෑවට වඩා ආක්රමණශීලී ලෙස භාර නොදෙන්න.
- SSD මත අතථ්ය තැටිය භාවිතා කර නිසි හැඹිලිගත කිරීමේ විශේෂාංග සක්රීය කරන්න.
– CPU වෙන් කිරීම කළමනාකරණය කරන්න: අවම CPU සහිත බොහෝ VM වලට වඩා VM කිහිපයකට ප්රමාණවත් මධ්යයන් ලබා දීම වඩා හොඳය.
– බහාලුම් භාවිතා කරන්නේ නම්, ධාරකය ඒකාධිකාරී වීම වළක්වා ගැනීමට සම්පත් සීමාවන් (CPU/මතකය) භාවිතා කරන්න.
අනුකූලතාව ද වැදගත් වේ. ලේඛනගත කිරීමේ හෝ repo හි ඔබගේ OS අනුවාදය, පරායත්තතා අනුවාද සහ ජාල වින්යාසය සටහන් කරන්න.
12. නිගමනය
අථත්යකරණය සමඟ පරීක්ෂණ පරිසරයක් සැකසීම පුද්ගලයන්ට සහ කණ්ඩායම් දෙකටම ඉතා ප්රයෝජනවත් ආයෝජනයකි. VM සහ/හෝ බහාලුම් සමඟ, ඔබට හුදකලා වූ, පහසුවෙන් ක්ලෝන කරන ලද, ඉක්මනින් ප්රතිසාධනය කරන ලද සහ නිෂ්පාදන තත්වයන්ට ආසන්න පරීක්ෂණ පද්ධති ගොඩනැගීමේ හැකියාව ලැබේ. සාර්ථකත්වයේ යතුරු අවශ්යතා සැලසුම් කිරීම, පරිමාණය කළ හැකි වේදිකාවක් තෝරා ගැනීම, සැකිලි ප්රමිතිකරණය කිරීම, නිසි ජාල වින්යාසය සහ ප්රතිපාදන ස්වයංක්රීය කිරීම තුළ පවතී.
ඔබට ඊළඟ පියවර ගැනීමට අවශ්ය නම්, ඔබේ ප්රාථමික පරීක්ෂණ අවස්ථාව (උදා: වෙබ් යෙදුම + දත්ත සමුදාය + ප්රතිලෝම ප්රොක්සි) නිර්වචනය කරන්න, ඉන්පසු තනි, ස්ථාවර VM සැකිල්ලක් නිර්මාණය කිරීමෙන් ආරම්භ කරන්න. එතැන් සිට, ඔබට වේගවත් කිරීමට සහ ස්ථාවරව පරීක්ෂා කිරීමට බහු-VM ස්ථලක, Ansible ස්වයංක්රීයකරණය සහ CI/CD ඒකාබද්ධ කිරීම දක්වා ව්යාප්ත කළ හැකිය.