Not the same, but very similar. Virtualization is used anytime you want to split a physical into multiple virtual servers. It is not just for hosting, a lot of companies use it on their internal servers also.
There exist different ways of virtualization - so dividing a big server into smaller virtualized servers:
para-virtualization: e.g. XEN, KVM, Hyper-V, VMware
Para-virtualized systems divide their resources into Virtual Machines (VMs) with guaranteed resources / resource limits. These VMs contain their own operating system and can use dedicated parts of the CPU, RAM and Disk.
That means that even if the host system (which powers the underlying server itself) is Linux, you can run Windows in the VMs. Or vice-versa. Since the whole system is kind of emulated. Para-Virtualization in comparison to full- or hardware-virtualization does make use of specific device drivers for better performance and efficiency. Still, you'll need to resource enough space for the OS for every VM. So if Windows needs a 32 GB disk partition to run, you need that amount of space for every VM running on one server.
Container virtualization: e.g. Virtuozzo, OpenVZ, LXC, Docker, rkt
Container technology is more light-weight than para-virtualization since it reuses the system below. This is also the reason why you cannot run Windows Containers on top of Linux and vice-versa. You can only run Linux on Linux and Windows on Windows. Since containers reuse the host system, you need much less disk space then with para-virtualization since you do not have to copy the OS for every container. Also dynamic resource allocation / sharing is much easier which makes especially Virtuozzo the most used virtualization technology by hosting companies. They can overbook servers (run more containers than resources are theoretically available (e.g. sum of virtual ram is more then physical ram of the underlying server). In practice this can also be an advantage: first, you get these virtual servers much cheaper (and you almost never exceed your booked resources anyway - at least not permanently) and second, hosters often give you boost credits based on Virtuozzo, which allows your server to consume even more resources temporarily than you pay (if nobody else currently requires these resources).
In terms of flexibility, I would always use para-virtualized systems like XEN or KVM because they feel like real hardware and you can install whatever you want on them - even virtualizing again.
In terms of price, containers are unbeatable since the resource overhead is damn small and hosters can offer them at a much lower price. And let's be honest, when do you really need the full power permanently? And if you need more power? Take a bigger container or scale your site across multiple containers with load-balancing.
Sometime there is nothing better than a good benchmark to make a comparison.
Made this morning with Proxmox
Debian 8 KVM
CPU model: Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz
Number of cores: 2
CPU frequency: 3699.998 MHz
Total amount of RAM: 3965 MB
Total amount of swap: 1707 MB
System uptime: 12 min,
I/O speed: 8 GB/s
Bzip 25MB: 3.72s
Download 100MB file: 106MB/s
CPU model: Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz
Number of cores: 8
CPU frequency: 3436.375 MHz
Total amount of RAM: 4096 MB
Total amount of swap: 512 MB
System uptime: 35 min,
I/O speed: 249 MB/s
Bzip 25MB: 3.67s
Download 100MB file: 110MB/s
Talking by facts, Xen is good for users and bad for host. 100% HW virtualization, no overselling, limited number of vps, better stable performance and chance to have positive impact on client base. Users will be much satisfied.
OpenVZ is bad for users but very good for host. Shared HW resources, allows overselling, unlimited number of vps, variable performance and chances to have negative impact on client base. Only light task users will be satisfied and heavy users will usually complain.
If I were you, I will opt for any 100% hw virtualization either its Xen or any other. Satisfaction of client base is much important for business. Cheers
@Chris Worner OpenVZ allows distribution of the unused competing resources. this means that if you got allocated 8 GB RAM on a virtual server, but you use 4 GB on average, other 4GB to be used by someone else in a different Container (OpenVZ VPS). This is not possible with Xen virtualization. So it makes sense that Xen based services to be more expensive.
The key differences between OpenVZ and XEN are as below -
1. OpenVZ requires few resources while XEN requires more resources.
2. OpenVZ has hard memory limit (no swap space) while XEN has soft memory limit (swap space with performance penalty).
3. OpenVZ has limited netfilter (iptables) modifications while XEN has full iptables access.
The first issue with OpenVZ or LXC is the security when you use another container technology like docker.
OpenVZ shouldn't be used anymore by hosting providers. It doesn't provide enough isolation for VPS, and the resources cannot be guaranteed.
When I buy a VPS, I don't want to pay $5 for up to 2GB RAM. KVM, Xen or VMware are currently the only solutions to provide a stable virtualization.
Each of them have pro/cons but the resources are guaranteed, and the ability to oversell limited compared to OpenVZ
above are really good explanations. to add I would highly suggest you try KVM. its very stable and common technology being used constantly because of its features.
While it comes down to your needs, KVM usually covers most of your needs.
XEN is used for Windows VPS, because they have always include features for that.
But VMware offer better performances with Windows, and KVM too, so using XEN now is not the best solution available.
Ask to your provider what is the virtualization used.
We recommend xen virtualization because its fully virtualization, Which allows you to install any OS in vps and Provides totally dedicated CPU resources, fully independent Logical Disk Volume, fully independent Kernel install and related modules, High level of customization
Openvz is shared kernel virtualization which wont allow you to install other OS on it as well as don't allow to install any kernel modules and that is why price is more affordable than XEN.
Xen is a full virtualization and can run other OS which are not Unix based like Windows and the resources are dedicated. While OpenVZ is shared resources and its container based virtualization which can run only Unix based OS. Performance wise a non-oversold OpenVZ VPS and a Xen VPS both running linux with the same server node hardware should run equally fast.