-: When using virtualization, each emulated server runs
its own operating system inside of a virtual machine,
but the virtual machines are run on top
of what's known as a hypervisor.
A hypervisor may adjust the distribution
of the physical resources of the server
to the virtual machines.
This includes the processor, the memory,
and the hard disk space.
Hypervisors come in two distinct flavors,
Type 1 and Type 2.
A Type 1 hypervisor is known as bare metal, or native,
since it runs directly on the host hardware
and functions as a type of operating system.
Microsoft's Hyper-V, Citrix's XenServer, and VMWare's ESXi
and vSphere are all considered Type 1 hypervisors.
A Type 2 hypervisor runs from within
a normal operating system,
something like Windows, Mac, or Linux.
For example, in the next lesson,
I'm going to demonstrate how we can install Windows 10
as an emulated desktop computer
inside of a virtual machine
that's being run by the software VirtualBox
on my personal computer.
Now, my personal computer is a Mac OS X desktop.
But we're still going to be able
to run Windows inside of it.
That's the power of using something like VirtualBox,
because VirtualBox is an example of a Type 2 hypervisor.
Another good Type 2 hypervisor is known as VMware.
A Type 1, or a bare metal, hypervisor is faster
and more efficient than a Type 2, or hosted, hypervisor.
This is because a bare metal hypervisor doesn't
have to waste any of the physical computer's resources
by running a full desktop operating system,
like Windows or Mac, first.
Instead, a Type 1 hypervisor acts as
a stripped-down, specialized operating system
to provide the physical resources
to the virtual machines that it hosts.
Now, I know I said there's
only two types of hypervisors.
But there is a third type of virtualization
that's becoming popular in our networks today.
This is called Application Container-Based Virtualization.
With this type of virtualization,
the operating system kernel is shared
across multiple virtual machines,
but the user space for each of these
virtual machines is uniquely created and managed.
Often called Application Containerization,
this allows an organization to deploy and run
distributed applications without launching
a resource-heavy, full virtual machine
with a full operating system.
This makes Application Containerization much more efficient
than either a Type 1 or a Type 2 hypervisor,
if it can meet the needs of your business
and your organization.
Container Virtualization is commonly used
with Linux servers, and some examples
of Container-Based Virtualization software
include things like Docker, Parallels Virtuozzo,
and the OpenVZ project.