VPS, VM आणि VPC मधील फरक सोप्या भाषेत
VM हे तंत्रज्ञान, VPS हे VM किंवा container वरचे भाड्याचे server, तर VPC हे private cloud network आहे. प्रत्येक संज्ञेचा नेमका अर्थ येथे समजून घ्या.
VPS, VM आणि VPC एका परिच्छेदात
VM (virtual machine) म्हणजे सॉफ्टवेअरपासून तयार केलेला संगणक. Hypervisor एका physical server चे अनेक स्वतंत्र machines मध्ये विभाजन करतो आणि प्रत्येक machine स्वतःचा kernel चालवते. VPS (virtual private server) म्हणजे उत्पादन म्हणून तुम्हाला भाड्याने दिलेला server. त्यामध्ये operating system, सामान्यतः root access आणि मासिक किंमत असते. बहुतेक VPS plans हे virtual machines असतात; परंतु काही hosts त्याच नावाखाली host kernel share करणारे containers विकतात. VPC (virtual private cloud) हा server मुळीच नाही. तो cloud account मध्ये तुम्ही परिभाषित केलेला private network असतो आणि त्यामध्ये तुम्ही resources ठेवता. VM हे नेहमीचे तंत्रज्ञान आहे. VPS हे उत्पादन आहे. VPC हे त्या उत्पादनाभोवतीचे network आहे.
यापैकी दोन शब्द machine चे वर्णन करतात. तिसरा शब्द network चे वर्णन करतो. या विसंगतीमुळे जवळजवळ सर्व गोंधळ निर्माण होतो, कारण लोक त्यांची तुलना एकाच shelf वरील तीन products प्रमाणे करतात.
VM म्हणजे काय
Hypervisor हा hardware ची नक्कल करणारा स्तर आहे. तो प्रत्येक guest ला virtual CPU, memory चा block, virtual disk आणि virtual network card देतो आणि guests एकमेकांना पाहू शकणार नाहीत याची खात्री करतो. KVM, Xen, Hyper-V आणि VMware ESXi हे servers वर वापरले जाणारे सामान्य hypervisors आहेत. आधुनिक hypervisors CPU virtualisation extensions (Intel VT-x, AMD-V) वापरतात. त्यामुळे guest instructions interpret करण्याऐवजी जवळपास native speed ने real CPU वर चालतात.
sysadmin साठी महत्त्वाचा भाग kernel असतो. VM स्वतःचा kernel boot करते. त्यामुळे distribution निवडता येते, kernel modules load करता येतात आणि फक्त तुमच्यावर लागू होणारी sysctl values सेट करता येतात. हे container (LXC, Docker) पेक्षा वेगळे आहे. Container host kernel share करतो आणि त्याला processes आणि files चे स्वतंत्र view मिळते.
कोणत्याही Linux box वर एका command ने हे उत्तर पाहता येते.
systemd-detect-virtkvm असल्यास तुम्ही KVM hypervisor वरील virtual machine मध्ये आहात. lxc किंवा openvz असल्यास तुम्ही दुसऱ्याच्या kernel वर चालणाऱ्या container मध्ये आहात. none असल्यास समर्थित virtualisation आढळलेली नाही. Command उपलब्ध नसल्यास lscpu | grep -i hypervisor hypervisor ची माहिती दाखवते, पण containers ओळखत नाही.
VPS म्हणजे काय
VPS हा isolated server भोवती दिलेला commercial package असतो. बहुतेक वेळा तो VM असतो. त्यामागील तंत्रज्ञान virtualisation आहे. "VPS" या नावात तो product म्हणून विकता यावा यासाठी आवश्यक गोष्टी येतात: पुन्हा install करता येणारी OS image, IP address, bandwidth allowance, control panel, monthly price आणि host बंद पडल्यावर संपर्क करता येणारी support व्यवस्था. "Private" हा शब्द shared hosting पासून वेगळेपणा दाखवतो. Shared hosting मध्ये शेकडो sites एकच operating system आणि एकच PHP configuration वापरतात.
VPS हे technical term नसून product name आहे. त्यामुळे त्याचा अर्थ नेहमी full VM असा होत नाही. काही budget plans याच नावाखाली containers विकतात. त्यांपैकी अनेकांच्या मागे असलेले container platform OpenVZ आपल्या containers चे वर्णन "also known as virtual private servers" असे करते. Kernel ची गरज पहिल्यांदा पडते तेव्हा हा फरक स्पष्ट होतो. Container based plan मध्ये kernel host चा असतो आणि तो बदलण्याची परवानगी नसते. Host ने module आधीच load केलेला असला तरी container च्या module directory मध्ये module सापडला नाही तर sudo modprobe wireguard fails; missing module load करण्यासाठी host kernel बदलण्याची परवानगीही आवश्यक असते. Host kernel मध्ये WireGuard support नसेल, तर interface तयार करणे (ip link add dev wg0 type wireguard) RTNETLINK answers: Operation not supported सह fails. त्यानंतर wg-quick userspace implementation (default म्हणून wireguard-go) installed असल्यास त्यावर fallback करतो आणि "Missing WireGuard kernel module. Falling back to slow userspace implementation." असे print करतो. या fallback साठीही container ला TUN device वापरण्याची परवानगी असणे आवश्यक आहे. प्रत्येक host ही परवानगी देत नाही. Userspace binary नसल्यास wg-quick error वर थांबतो. KVM plan मध्ये kernel तुमच्या नियंत्रणात असतो. तुम्ही WireGuard install करू शकता, module आधीपासून loaded नसेल तर तो load करू शकता, interface configure करू शकता आणि tunnel सुरू होते. Server मध्ये Docker, VPN, custom kernels किंवा तुमच्या स्वतःच्या virtual machines चालवायच्या असतील, तर खरेदी करण्यापूर्वी virtualisation type तपासा. VPS मध्ये virtual machines चालवण्यासाठी host वर nested virtualisation enabled असलेले KVM आवश्यक आहे. अशा plans ची संख्या आणखी कमी असते.
VPC म्हणजे काय
VPC हे cloud provider मधील software-defined network असते. बहुतेक cloud मध्ये त्याला CIDR notation मधील address range देता, जसे 10.0.0.0/16, आणि त्यातून subnets तयार करता (Google Cloud मध्ये संपूर्ण network साठी एकच range न देता प्रत्येक regional subnet ला स्वतंत्र range दिला जातो). त्यातील resources समोर route tables जोडता आणि firewall rules (security groups) लागू करता. VPC कडे CPU, memory किंवा disk नसतो. त्यात login करण्यासारखे काहीही नसते. VPC मधील प्रत्येक server delete केल्यानंतर VPC रिकामा राहतो आणि सामान्यतः त्यासाठी शुल्क आकारले जात नाही.
VPC मुळे private addressing उपलब्ध होते. एकाच VPC मधील दोन servers provider च्या internal fabric वर 10.0.1.15 सारख्या addresses द्वारे संवाद साधतात. त्यामुळे तो traffic public internet वरून जात नाही आणि internet egress म्हणून त्याचे billing होत नाही. त्यानंतर database फक्त त्याच्या private address वर listen करू शकतो. त्यामुळे कोणताही port जगासमोर exposed राहत नाही.
ip -4 addr show10.0.0.0/8, 172.16.0.0/12 किंवा 192.168.0.0/16 मधील address private असतो. फक्त public address असल्याने server internet वरून reachable होत नाही. त्यासाठी routing आणि firewall rules ने access परवानगी दिलेली असणे आवश्यक आहे.
VPC मुळे माझा सर्व्हर खाजगी होतो का?
नाही. या तीन संज्ञांबाबतचा हा सर्वात खर्चिक गैरसमज आहे. VPC routing आणि addressing नियंत्रित करते. इंटरनेटमधून एखाद्या मशीनपर्यंत पोहोचता येईल की नाही, हे ती ठरवत नाही. एखाद्या instance कडे public IP असेल, त्याचे subnet इंटरनेटपर्यंत route करत असेल आणि security rules मध्ये 0.0.0.0/0 कडून port 22 ला परवानगी असेल, तर VPC असो किंवा नसो, ते इतर कोणत्याही सर्व्हरसारखेच उघडे असते. Default VPC मध्ये इंटरनेटपर्यंतचा route आधीपासूनच उपलब्ध असतो. VPC मुळे मिळणारे isolation म्हणजे एखाद्या resource ला कोणताही public address न देणे आणि कोणते subnets एकमेकांशी communication करू शकतात हे सांगणारे rules लागू करणे.
या तीन संज्ञा वेगवेगळ्या प्रकारच्या isolation चे आश्वासन देतात. VM compute isolate करते: hypervisor CPU time आणि memory वेगळे ठेवतो, त्यामुळे दुसरा guest तुमची RAM वाचू शकत नाही. Disk आणि network बाबतीत हे isolation तुलनेने कमकुवत असते. त्याच host वरील व्यस्त शेजारील workload मुळे तुमची गती कमी होऊ शकते. Container based VPS एकच kernel share करते, त्यामुळे kernel level मधील bug हा सर्वांसाठी shared risk असतो. VPC compute बाबत कोणतेही isolation देत नाही. ती केवळ network ची रचना नियंत्रित करते.
किंमतीचे आकलन
VPS साधारणपणे ठरावीक मशीनसाठी ठरावीक मासिक किंमतीत विकला जातो. महिना सुरू होण्यापूर्वीच तुम्हाला बिलाची रक्कम माहीत असते आणि disk व transfer allowance त्यात समाविष्ट असतात. या बिलिंगमधील अंदाजयोग्यतेमुळेच लहान workload साठी लोक cloud instance ऐवजी VPS निवडतात.
Cloud VM चे billing वापरानुसार होते. Instance साठी तास किंवा सेकंदानुसार शुल्क आकारले जाते, तर disk, snapshots, load balancer आणि outbound traffic यांचे शुल्क स्वतंत्रपणे आकारले जाते. VPC स्वतः सामान्यतः विनामूल्य असते; परंतु त्याला जोडलेले managed components विनामूल्य नसतात: private instances ना internet पर्यंत पोहोचू देणाऱ्या NAT gateway साठी तासानुसार शुल्क आकारले जाते आणि त्याच्या traffic चे शुल्क कसे आकारले जाईल हे provider वर अवलंबून असते. AWS मध्ये NAT gateway ने process केलेल्या प्रत्येक gigabyte साठी अतिरिक्त शुल्क आकारले जाते, तर OVHcloud नुसार त्याच्या Public Cloud Gateway साठी तासानुसार आणि वापरानुसार शुल्क आकारले जाते आणि traffic समाविष्ट असतो. AWS वर availability zones ओलांडणाऱ्या traffic साठीही शुल्क आकारले जाते, तर Azure त्याच region मधील zones दरम्यानच्या traffic साठी शुल्क आकारत नाही. October 27, 2026 रोजीच्या स्थितीनुसार, AWS VPC guide मध्ये प्रत्येक region मध्ये default VPC असल्याचे नमूद आहे; मात्र AWS VPC FAQ नुसार March 18, 2013 पूर्वी तयार केलेली accounts अशा enabled regions मध्ये default VPCs वापरू शकतात, जिथे त्यांनी यापूर्वी EC2 instances launch केलेले नसतील किंवा ELB, RDS, ElastiCache किंवा Redshift resources provision केलेले नसतील. Deleted default VPC पुन्हा तयार करता येते, परंतु restore करता येत नाही. Administrator ने ते बंद केलेले नसल्यास Google Cloud प्रत्येक नवीन project ला default network देते; तसेच तुम्ही विद्यमान network निवडले नाही, तर Azure नवीन VM सोबत virtual network तयार करते. तुम्ही त्याची मागणी केली असली किंवा नसली, तरी कोणत्याही परिस्थितीत तुमचा cloud VM या networks पैकी एका network मध्ये असतो.
तुम्हाला प्रत्यक्षात कोणता पर्याय आवश्यक आहे
- वेबसाइट, अॅप, game server किंवा VPN साठी एक server: VPS. Plan वरील label पेक्षा नवीन VPS वरील पहिली दहा मिनिटे अधिक महत्त्वाची असतात.
- Private addresses द्वारे एकमेकांशी संपर्क साधणारे अनेक server: VPC किंवा तुमचा VPS provider वेगळ्या नावाने देत असलेले private network feature.
- संपूर्ण datacentre बंद पडले तरी चालू राहणारा workload: अनेक zones असलेला cloud, म्हणजे VPC मधील VMs.
- Kernel वर पूर्ण नियंत्रण किंवा त्यावर स्वतःचा hypervisor चालवायचा असल्यास: KVM आधारित VPS (hypervisor हवा असल्यास nested virtualisation enabled असलेला) किंवा dedicated server. तुलना करताना plan मागील disk type देखील तपासा.
बहुतेक single server projects साठी VPC ची आवश्यकता नसते. VPS सोबत मिळणारे private network feature काही मोजक्या machines साठी तेच काम पूर्ण करते.
FAQ
VPS आणि VM एकच गोष्ट आहेत का?
सहसा, पण नेहमीच नाही. KVM, Xen किंवा VMware वर तयार केलेला प्रत्येक VPS हा virtual machine असतो; पण प्रत्येक virtual machine हा VPS नसतो, कारण VirtualBox अंतर्गत तुमच्या laptop वर चालणारी VM कोणत्याही provider चे उत्पादन नसते. प्रत्येक VPS हा VM देखील नसतो: OpenVZ किंवा LXC वर आधारित plans हे host kernel share करणारे containers असतात आणि OpenVZ स्वतःच्या containers ना virtual private servers म्हणते. Kernel access वर अवलंबून राहण्यापूर्वी systemd-detect-virt द्वारे खात्री करा.
VPS VPC मध्ये ठेवता येतो का?
सहसा नाही, कारण VPC ही एका cloud provider ची संकल्पना आहे; AWS एकाच organization मधील accounts दरम्यान subnets share करण्याची सुविधाही देते. स्वतंत्र provider कडील VPS त्या provider च्या network वर असतो. दोन्हीमधील private links आवश्यक असल्यास, त्यांच्यामध्ये VPN tunnel तयार करा आणि त्याद्वारे VPS private subnets पर्यंत पोहोचेल.
समतुल्य VPS पेक्षा माझे cloud bill जास्त का आहे?
Instance price हा त्यातील फक्त एक भाग आहे. Metered cloud मध्ये storage, snapshots, outbound traffic, load balancers आणि NAT gateways यांचे शुल्क स्वतंत्रपणे आकारले जाते आणि फक्त NAT gateway चा मासिक खर्चही छोट्या VPS पेक्षा जास्त असू शकतो. Fixed price VPS मध्ये disk आणि transfer allowance एकाच रकमेत समाविष्ट असतात. त्यामुळे तोच workload तेथे अनेकदा स्वस्त दिसतो.
माझ्या server ला प्रत्यक्ष kernel access आहे की नाही हे कसे तपासू?
systemd-detect-virt चालवून त्याचे output वाचा. kvm, xen किंवा vmware (किंवा नवीन EC2 instances वर amazon) याचा अर्थ तुमचा स्वतःचा kernel आहे आणि modprobe त्यात modules load करू शकते. lxc, lxc-libvirt किंवा openvz याचा अर्थ तुम्ही host kernel share करता; modules load करण्यासाठी host kernel privileges आवश्यक असतात, तर /proc/sys अंतर्गत namespaced settings, ज्यात network settings समाविष्ट आहेत, host परवानगी देत असल्यास configure करता येतात. दुसरी खात्री करण्यासाठी uname -r वापरा. Container plan वर ते अनेकदा तुमच्या distribution ने कधीही release न केलेली kernel version दाखवते.